DHCP + TFTP + NFS -----------> PXE
环境:centos 6.4
1.安装软件
yum install dhcpd -y
yum install tftp-server -y
yum install syslinux -y
yum install httpd -y
2.配置dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcpd/dhcpd.conf
option domain-name "example.com";
option domain-name-servers 192.168.0.254;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option routers 192.168.0.254;
next-server 192.168.0.254;
filename "pxelinux.0";
}
service dhcpd restart
chkconfig dhcpd on
3.配置tftp
mkdir /media/cdrom
mount -o loop /dev/cdrom /media/cdrom
cd /var/lib/tftpboot
cp /media/cdrom/images/pxeboot/vmlinuz . //拷贝到当前目录
cp /media/cdrom/images/pxeboot/initrd.img .
cp /media/cdrom/isolinux/ . -rf
cp /usr/share/syslinux/pxelinux.0 .
mv isolinux pxelinux.cfg //高效的偷懒
cd pxelinux.cfg
mv isolinux.cfg default
cp vesamenu.c32 ../
vim /etc/xinetd.d/tftp
将disable = no 改成 yes
service xinetd restart
chkconfig xinetd on
3.配置 nfs
vim /etc/exports
/media/cdrom 192.168.0.0/24(ro)
service nfs restart
chkconfig nfs on
4.配置 kickstart文件
yum install system-config-kickstart -y
system-config-kickstart 回车 //运行在5级下
照流程走,安装源指向光盘镜像源,协议选NFS,分区处不支持LVM,保存在/root下。
vim ks.cfg
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2048
part pv.01 --fstype="ext4" --size=15000 //PV
volgroup myvg pv.01 //VG
logvol / --vgname=myvg --name=lv_root --size=10000
logvol /home --vgname=myvg --name=lv_home --size=2000 --grow
cp ks.cfg /var/www/html/
service httpd restart
chkconfig httpd on
5.踢机
vim /var/lib/tftpboot/pxelinux.cfg/default
#timeout = 600
timeout = 1 //1秒而过
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
# append initrd=initrd.img
append ks=http://192.168.0.254/ks.cfg initrd=initrd.img //真正kickstart