linuxPXE預啟動執行環境
PXE+kickstart 全自動安裝操作系統。
原理圖:
註釋:圖中有錯誤,vmlinuz文件。抱歉!!各位
客戶端尋找dhcp服務器,dhcp服務器來負責客戶端的ip分配;
客戶端尋找tftp服務器,pxelinux.0引導文件引導vmlinux和initrd兩個啟動文件。
default中配置文件標記啟動內核。標記ks.cfg安裝內容文件。
ks.cfg文件需要一臺圖形化操作系統下載pykickstart軟件,啟動之後手動鼠標點擊就可以生成ks.cfg文件。
將ks.cfg文件放到vsftpd服務器中,default文件中指定相應的路徑就可以。
鏡像也需要掛載到/var/ftp下的目錄,default文件中指定相應的路徑。
所有配置完成之後,可以試驗是否成功。
先安裝服務
# yum install dhcp tftp-server tftp vsftpd lftp -y
DHCP安裝和配置
#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
#vim /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.3 192.168.10.88;
next-server 192.168.10.2;
default-lease-time 600;
max-lease-time 7200;
}
註釋:第一行寫網段,子網掩碼;第二行寫tftp服務器的ip地址(也就是配置pxe的本機ip)
TFTP安裝和配置
TFTP
協議:ftp
安裝軟件
客戶端:tftp
服務器:tftp-server
#yum -y install xinted
配置
# vim /etc/xinetd.d/tftp
disable = no //不關閉這個服務
-c 上傳
重啟服務
#/etc/init.d/xinetd restart
xinetd 超級守護進程
另外開啟服務的方法:
#chkconfig tftp on
不支持目錄的上傳和下載
#touch /var/lib/tftpboot/{a.txt,b.txt}
為了保證tftp好用:
1.#/etc/init.d/iptables
2.#setenforce 0
3.#chmod 777 /var/lib/tftpboot -R
客戶端
#tftp 172.16.70.251
tftp > get a.txt //下載
tftp > put b.txt //上傳
tftp > quit
PXE引導文件
拷貝引導文件:
# yum provides */pxelinux.0
syslinux-4.05-13.el7.x86_64
#yum install syslinux -y
# find / -name 'pxelinux.0'
/usr/share/syslinux/pxelinux.0
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
default文件
# mkdir /var/lib/tftpboot/pxelinux.cfg
# mount /dev/cdrom /mnt
# cp /mnt/isolinux/* /var/lib/tftpboot/
# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# umount /mnt
# mount /dev/cdrom /var/ftp/centos7u3
修改default配置文件:
# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://192.168.10.2/centos7u3 inst.repo=ftp://192.168.10.2/centos7u3 ks=ftp://192.168.10.2/ks.cfg
ks.cfg文件
主機(任意一臺圖形化的操作系統):
# yum install system-config-kickstart -y
# system-config-kickstart
把做好的ks.cfg文件拷貝到pxe服務器的/var/ftp/裏面去
yum源配置:
[development] //名字必須是這個
name=centos7u3
baseurl=file:///mnt/centos7u3
enabled=1
gpgcheck=0
vsftpd服務
#cd /var/ftp/
#mkdir centos7u3
# mount /dev/cdrom centos7u3/
mount: /dev/sr0 寫保護,將以只讀方式掛載
啟動服務
進行測試,新建一臺以pxe方式安裝的操作系統。
如果失敗,請檢測以上步驟是否漏掉。尤其是chmod -R 777 /var/ftp/tftpboot
還有default文件文件路徑是否正確。
linuxPXE預啟動執行環境