Kickstart--无人值守安装
                              
应用需求:
      当需要为多台服务器安装系统时,可是用Kickstart通过FTP使多台服务器同时从同一个安装源自动安装。
Kickstart流程:
dhcp,tftp                 dhcpserver               tftpserver          ftp
 客户端
  |
  |要ip,tftp ip
  |--------------------->
  |               回复
  |<---------------------
  |
  |要PXELinux.0
  |----------------------------------------------->
  |                                        回应
  |<-----------------------------------------------
  |
  |
  |要配置文件
  |----------------------------------------------->
  |                                        回应
  |<-----------------------------------------------
  |kickstart
  |------------------------------------------------------------------>
  |                                                            回应
  |<------------------------------------------------------------------
  |

详细配置:

环境需求:
1.DHCP
      用来为客户端分配IP地址并告知客户端TFTPserver的IP及pxelinux.0文件
2.TFTP
提供pxelinux.0文件、安装配置文件(/tftpboot/pxelinux.cfg/default)和vmlinuz等文件
3.FTP
      提供无人值守安装文件ks.cfg和安装源文件树
4.kickstart配置工具
       生成ks.cfg文件
5.需要软件包:
      dhcp-3.0.5-7.el5.i386.rpm
      tftp-server-0.42-3.1.i386.rpm
      vsftpd-2.0.5-10.el5.i386.rpm
      system-config-kickstart-2.6.19.1-1.el5.noarch.rpm
      syslinux-3.11-4.i386.rpm
虚拟机配置:
Vmhost1
eth0 桥接物理网卡
        ip:192.168.0.100
eth1 桥接到VMnet8
   ip:192.168.2.10
Vmhost2
eth0 桥接到VMnet8
        ip DHCP
环境设置:
DHCPserver:192.168.2.10
DNSserver:192.168.2.30
TFTPserver:192.168.2.10
FTPserver:192.168.2.10
DHCP地址池:192.168.2.128-192.168.2.254
网关:192.168.2.1
FTP主目录:/var/ftp/
TFTP主目录:/tftpboot/
安装源文件树:/var/ftp/pub/RHEL5U1/
安装配置DHCP
安装
rpm -ivh dhcp-3.0.5-7.el5.i386.rpm
编辑配置文件
vim /etc/dhcpd.conf
-------------------------------------
ddns-update-style interim;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
#所定义的子网要和指定的网卡的IP在同一网段
        option routers                  192.168.2.1;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.2.30;
        range dynamic-bootp 192.168.2.128 192.168.2.254;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.2.10;     #指定TFTPserver的IP
        filename "/pxelinux.0";       #指定pxelinux.0在TFTP的主目录中
}
--------------------------------------
指定应用DHCP的网卡
vim /etc/sysconfig/dhcpd
--------------------------------------
DHCPDARGS=eth1
--------------------------------------
启动服务
chkconfig dhcpd on
service dhcpd restart

安装配置TFTP
安装
rpm -ivh tftp-server-0.42-3.1.i386.rpm
如果没有安装xinetd需要先安装xinetd
编辑配置文件
不需要改动TFTP的配置文件
启动服务
chkconfig tftp on
service xinetd restart
安装配置FTP
安装
rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm
编辑配置文件
不需要改动FTP的配置文件
启动服务
chkconfig vsftp on
service vsftp restart
配置无人值守安装
配置无人值守文件
安装软件包
rpm -ivh system-config-kickstart-2.6.19.1-1.el5.noarch.rpm
rpm -ivh syslinux-3.11-4.i386.rpm
生成ks.cfg文件
root用户执行
#system-config-kickstart
设置默认语言、时区、root密码等
 
 
指定全新安装,并设定通过FTP安装,安装文件树在ftp主目录下的pup中
 
 
 

设置bootloader
 
 
 

分区和格式化
 
 
 
 
网络配置,添加一块网卡eth0并设置从DHCP获得地址
 
 
 
 
配置验证
 
 
 
 
关闭防火墙和SELinux
 
 
 
 
取消配置Xwindows
 
 
 

配置安装软件包(yum有问题,所以没有列出软件包)
 
 
 
 
设置安装前执行脚本
 
 
 
 

配置安装完执行的脚本
 
 
 

把配置文件保存到FTP的主目录的pub文件夹中
 
因为没有配置安装序列号和软件包,因此还需对ks.cfg的进行修改
vim /var/ftp/pub/ks.cfg
-------------------------------------------
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5  --enablenis --nisdomain=uplooking --nisserver=192.168.2.10
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
key --skip               #跳过配置序列号
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use network installation
url --url=ftp://192.168.2.10/pub/RHEL5U1/
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw  $1$30BKH6i0$ahfDiOrPSKjel0XEqLThL
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  Asia/Shanghai
# Install OS instead of upgrade
install
# Disk partitioning information
part / --bytes-per-inode=4096 --fstype="ext3" --size=2000
part swap --bytes-per-inode=4096 --fstype="swap" --size=1024
%post
useradd fanchungang
echo "123456" | passwd --stdin fanchungang
%packages        #配置需要的软件包
@base
@core
-------------------------------------------

建立安装源文件树
把光盘中的安装文件拷贝到/var/ftp/pub/RHEL5U1/中
cp /misc/cd/* /var/ftp/pub/RHEL5U1/
配置安装引导文件
mkdir /tftpboot/pxelinux.cfg
cp /misc/cd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /misc/cd/isolinux/* /tftpboot/
vim /tftpboot/pxelinux.cfg/default
-------------------------------------------
default kickstart      #设置默认标签
prompt 0               #如用户不干预直接进入默认标签
timeout 10
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label kickstart
  kernel vmlinuz
  append initrd=initrd.img ks=ftp://192.168.2.10/pub/ks.cfg
label local
  localboot 1
label memtest86
  kernel memtest
  append -
-------------------------------------------
复制pxelinux.0文件到TFTP主目录
cp /usr/syslinux/pxelinux.0 /tftpboot/pxelinux.0
如果系统中没有pxelinux.0文件,则需要安装syslinux-3.11-4.i386.rpm

服务器配置完成,客户端设置为从网卡引导即可。