使用PXE+DHCP+Apache+Kickstart无人值守安装linux
KickStart无人值守安装的原理:
- DHCP服务器给需要安装的机器分发IP, 并指定ftp服务器地址和pxelinux.0
next-server 192.168.163.4;
filename "pxelinux.0";
- 客户端连接到服务器,读取启动文件 /tftpboot/pxelinux.cfg/default
- 根据default里面指定的ks.cfg文件的位置,打开KickStart配置文件,
- 根据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
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/
复制光盘的images/pxeboot目录下的initrd.img和vmlinuz,isolinux/*.msg到/tftpboot目录下
# cp /var/www/html/images/pxeboot/initrd.img /tftpboot
# cp /var/www/html/images/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