使用PXE+DHCP+Apache+Kickstart无人值守安装linux
KickStart无人值守安装的原理:
1. DHCP服务器给需要安装的机器分发IP, 并指定ftp服务器地址和pxelinux.0
next-server 192.168.163.4; filename "pxelinux.0";
2. 客户端连接到服务器,读取启动文件 /tftpboot/pxelinux.cfg/default
3. 根据default里面指定的ks.cfg文件的位置,打开KickStart配置文件,
4. 根据ks.cfg的ftp服务器的配置, 读取/var/www/html下文件, 引导安装程序
需要执行PXE+Kickstart的设备为:
DHCP服务器
TFTP服务器
Kickstart生成的ks.cfg文件
需要先安装好DHCP,TFTP,HTTPD等软件,kickstart需要使用system-config-kickstart也需要预先安装
同时配置生成ks.cfg文件时也需要X Window,所以安装好X Window和Gnome。
# yum groupinstall -y "X Window System" "GNOME Desktop Environment"
修改/etc/inittab
# vim /etc/inittab id:5:initdefault:
重启进入服务器:
# reboot
挂载光盘设备:
# mount /dev/cdrom /mnt
安装Apache:
# yum install -y httpd
将光盘中的文件copy到Apache网站根目录下/var/www/html
# cp /mnt/* /var/www/html/
启动Apache:
# service httpd start
安装tftp服务器,同时启动xinetd进程:
# yum install -y tftp-server
修改/etc/xinetd.d/tftp,将disable的值由yes改为no,确保tftp根目录为/tftpboot
# vim /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
重启xinetd进程:
# service xinetd restart
检查xinetd是否启动:
# ps -ef |grep xinetd
检查tftp服务器是否启动,观察69号端口是否监听:
# netstat -tunlp |grep 69
建立tftpboot文件夹并复制pxelinux.0到文件夹下需要先安装syslinux
# yum install -y syslinux # mkdir /tftpboot # cp /usr/share/syslinux/pxelinux.0 /tftpboot/
复制光盘的p_w_picpaths/pxeboot目录下的initrd.img和vmlinuz,isolinux/*.msg到/tftpboot目录下
# cp /var/www/html/p_w_picpaths/pxeboot/initrd.img /tftpboot # cp /var/www/html/p_w_picpaths/pxeboot/vmlinuz /tftpboot # cp /var/www/html/isolinux/*.msg /tftpboot
在/tftpboot目录下创建文件夹pxelinux.cfg:
# mkdir /tftpboot/pxelinux.cfg
复制光盘isolinux目录下的isolinux.cfg到/tftpboot/pxelinux.cfg目录下并重命名为default:
# cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
安装dhcp服务器
# yum install -y dhcp
修改配置文件/etc/dhcp/dhcpd.conf
# vim /etc/dhcp/dhcpd ddns-update-style interim; ignore client-updates; next-server 192.168.163.4; filename "/pxelinux.0"; subnet 192.168.163.0 netmask 255.255.255.0 { option routers 192.168.163.2; pool{ option subnet-mask 255.255.255.0; option nis-domain "chenxujaing.cn"; option domain-name "chenxujaing.cn"; option domain-name-servers 192.168.163.2; option time-offset -18000; range dynamic-bootp 192.168.163.200 192.168.163.250; default-lease-time 21600; max-lease-time 43200; } }
启动dhcp服务器:
# service dhcpd start
安装kickstart:
# yum install -y system-config-kickstart
启动kickstart进行配置,使用http安装(ftp相同的道理),根目录为/,其他采用默认设定,将ks.cfg
文件保存在/var/www/html目录下
# system-config-kickstart
修改/tftpboot/pxelinux.cfg/default文件,指定读取ks.cfg的方法
# vim /tftpboot/pxelinux.cfg/default default linux prompt 1 timeout 60 display boot.msg label linux kernel vmlinuz append initrd=initrd.img text ks=http://192.168.163.4/ks.cfg