简述:通过配置cobbler自动部署DHCP、TFTP、HTTP,在安装过程中加载kiskstart无人值守安装应答文件实现无人值守。从客户端使用PXE引导启动安装。

1. 安装相关软件:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm 
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
yum -y install cobbler tftp-server dhcp httpd xinetd

注意 /var/www/cobbler 目录必须具有足够容纳 Linux 安装文件的空间(移动,建软链接)
#ln -s /cobbler /var/www

2. 检查 cobbler 配置:

cobbler check

按提示解决相关问题,把 /var/lib/cobbler/settings 中的 server 和 next_server 设为本服务器的 IP 地址,manage_dhcp 设为 1,以便管理 DHCP
 将 /etc/xinetd.d/tftp 中 disable = no

3. 导入CentOS 安装 DVD ISO 中的文件:

mount -o loop /home/dtm/CentOS-5.5-x86_64-bin-DVD.iso /mnt/iso       # 将ISO文件挂载到 /mnt/iso 目录
cobbler import --mirror=/mnt/iso --name=centos5.5                              # 从 /mnt/iso目录导入所有安装文件,命名为 centos5.5
cobbler distro list                                                                                      # 查看导入结果

[root@elain www]# cobbler distro list
  centos5.5-x86_64
  centos5.5-xen-x86_64

-------------------------------
cobbler目录及文件

cobbler相关配置文件: /etc/cobbler
cobbler数据存储目录: /var/www/cobbler
dhcp配置文件: /etc/dhcpd.conf
dhcp租期缓存文件: /var/lib/dhcpd/dhcpd.leases
pxe配置文件: /tftpboot/pxelinux.cfg/default
ks模板文件: /var/lib/cobbler/kickstarts
--------------------------------
4. 修改 DHCP 和 Kickstart 配置模板:

vi /etc/cobbler/dhcp.template                                                                 # DHCP 配置模板,根据提示修改下面模板
vi /etc/dhcpd.conf
################################
ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

subnet 192.168.8.0 netmask 255.255.255.0 {
     option routers          192.168.8.92;
     option subnet-mask      255.255.255.0;
     range dynamic-bootp     192.168.8.10 192.168.8.254;
     filename                "/pxelinux.0";
     default-lease-time      21600;
     max-lease-time          43200;
     next-server             192.168.8.92;
}
###############################
vi /etc/cobbler/kickstart_fc6.ks                                                       # Kickstart 配置模板
#####################
#platform=x86, AMD64, 或 Intel EM64T
#created by elain
#date:2010.06.27

# System authorization information
auth  --useshadow  --enablemd5

# System bootloader configuration
bootloader --location=mbr

# Partition clearing information
clearpart --all --initlabel

# Use text mode install
text

# Firewall configuration
firewall --disabled

# Run the Setup Agent on first boot
firstboot --disable

# System keyboard
keyboard us

# System language
lang zh_CN

# Installation logging level
logging --level=info

# Use network installation
url --url=http://192.168.8.92/cobbler/ks_mirror/centos5.5

# Network information
network --bootproto=bootp --device=eth0 --onboot=on

# Reboot after installation
reboot

#Root password
rootpw   elain

# SELinux configuration
selinux --disabled

# Do not configure the X Window System
skipx

# System timezone
timezone  Asia/Chongqing

# Install OS instead of upgrade
install

# Disk partitioning information(根据不同服务需求更改分区大小)
part /boot --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --maxsize=512 --size=1
part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --maxsize=81920 --size=1
part swap --bytes-per-inode=4096 --fstype="swap" --grow --maxsize=81920 --size=1
part /elain --bytes-per-inode=4096 --fstype="ext3" --grow --size=1

%packages
@ development-libs
@ development-tools
@ admin-tools
@ system-tools
@ x-software-development
@ base
@ chinese-support
@ editors
%post

#优化
echo "NETWORKING=yes" >/etc/sysconfig/network
echo "HOSTNAME=elain" >>/etc/sysconfig/network
echo "nameserver  172.168.32.18" >/etc/resolv.conf
echo "nameserver  202.106.0.20" >>/etc/resolv.conf

cd /root/

rm -rf install.log anaconda-ks.cfg install.log.syslog
mkdir {tools,scripts,bak,conf_bak}
mkdir -p /elain/{apps,data,logs,backup}
touch "请保持服务器整洁,操作后无用的文件及时清理"

#添加用户
groupadd -g 600 elainadmin
useradd -g elainadmin elainadmin -u 600 -p 'elainadmin!@#'

#允许sodu
echo "elainadmin ALL=(ALL)   PASSWD: ALL"  >>/etc/sudoers

#连接超时1小时
echo "TMOUT=3600" >>/etc/profile
source /etc/profile

#禁止提示接收邮件
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

#禁止按CTRL+ALT+DEL重启
sed -i s/^ca/\#ca/g /etc/inittab

#解决SSH登录慢的问题
echo "UseDNS no" >>/etc/ssh/sshd_config
/etc/init.d/sshd restart

#默认VI为VIM
echo "alias vi='vim'" >>/root/.bashrc
echo "alias vi='vim'" >>/home/elainadmin/.bashrc
. /root/.bashrc
. /home/elainadmin/.bashrc
#关闭不必要的服务
for service in `chkconfig --list|awk '{print $1}'|egrep -v "^$"|awk -F ":" '{print $1}'`; do chkconfig $service off;done
for service in crond  sshd syslog network; do chkconfig $service on;done
#################################
5. 生成并同步所有配置:

cobbler sync

注:每次更改Kickstart 配置文件,都需要使用cobbler sync重新同步所有配置

6. 启动相关服务:

/etc/init.d/httpd start
/etc/init.d/xinetd start
/etc/init.d/dhcpd start
/etc/init.d/cobblerd start

7.客户端启动PXE 安装

启动另一台新服务器,通过 PXE 启动进入,提示"boot:"时输入"menu"即可进入蓝色的 Cobbler 安装界面,选择安装项,自动完成系统安装。

http方式安装:服务器:192.168.9.101 目录:/cobbler/ks_mirror/centos/

8.重装系统:

在要重装的机器安装koan 
yum install koan 
查看cobbler服务器有哪些安装盘 
koan --list-profiles --server=192.168.9.101
选择要重装的系统并重启 
koan --replace-self --server=192.168.9.101 --profile=centos5.5
reboot 


附上服务控制脚本:
[root@elain ~]# cat cobbler.sh
#!/bin/sh
# created by dingtm
# date: 2010.12.31

case $1 in
        start)
               /etc/init.d/httpd start
               /etc/init.d/xinetd start
               /etc/init.d/dhcpd start
               /etc/init.d/cobblerd start
                ;;
        stop)
               /etc/init.d/httpd stop
               /etc/init.d/xinetd stop
               /etc/init.d/dhcpd stop
               /etc/init.d/cobblerd stop
                ;;
        status)
                /etc/init.d/httpd status
                /etc/init.d/xinetd status
                /etc/init.d/dhcpd status
                /etc/init.d/cobblerd status
                ;;    
         sync)
                cobbler sync
                ;;                         
        *)
                echo "Input error,please in put 'start|stop|status|sync'!";
                exit 2>&1 >/dev/null &
                ;;
        esac

参考文档:

http://oss.org.cn/ossdocs/gnu_linux/redhat/rhl-cg-zh_CN-9/s1-kickstart2-options.html

另附上kickstarts配置文件,附件可下载