PXE通過網絡自動化安裝系統
要實現此功能要有三個基礎的服務:DHCP服務,TFTP服務,HTTP服務
HTTP:存放ks應答文件,安裝源文件
DHCP:提供網絡地址,提供TFTP服務器地址
TFTP: 存放啟動文件,將網卡啟動的內核文件,菜單文件存放於此 /var/lib/tftpboot 目錄下
1 HTTP服務設置
安裝HTTP,設置為開機啟動,啟動HTTP
yum install httpd
systemctl enable httpd
systemctl start httpd
創建相應的目錄,方便存放文件
mkdir -pv /var/www/html/centos/{6,7}/os/x86_64/
在HTTP工作目錄中放入安裝源文件,ks應答文件
通過掛載源文件光盤或都直接cp安裝源文件到/var/www/html/centos/目錄下
mount /dev/sr0 /var/www/html/centos/6/os/x86_64 掛載Centos6的安裝光盤到對應目錄中
mount /dev/sr1 /var/www/html/centos/7/os/x86_64 掛載Centos7的安裝光盤到對應目錄中
拷貝ks應答文件到/var/www/html/ksdir/目錄下
通過瀏覽器測試HTTP服務能否正常訪問
2 TFTP服務設置
安裝tftp,設置為開機啟動,啟動tftp
yum install tftp-server
systemctl enable tftp
systemctl start tftp
3 DHCP服務設置
安裝dhcp包,設置dhcp服務,設置為開機啟動,啟動服務
yum install dhcp cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.examle /etc/dhcp/dhcpd.conf 拷貝DHCP配置模板文件到DHCP配置目錄中,對DHCP服務進行設置 vim /etc/dhcp/dhcpd.conf subnet 192.168.37.0 netmask 255.255.255.0 { range 192.168.37.10 192.168.37.20; option routers 192.168.37.254; next-server 192.168.37.7; 添加的行,設置tftp服務器地址 filename "pxelinux.0"; 添加的行,設置啟動文件 } systemctl enable dhcpd systemctl restart dhcpd
4 準備啟動文件
拷貝啟動文件到tftp工作目錄中:/var/lib/tftpboot 啟動文件通過啟動光盤拷貝
拷貝vmlinuz和initrd.img文件到/var/lib/tftpboot目錄下
拷貝pxelinux.0文件到/var/lib/tftpboot目錄,此文件通過安裝syslinux包可以獲取,在/usr/share/syslinux/pxelinux.0
拷貝 /usr/share/syslinux/menu.c32到/var/lib/tftpboot目錄下 簡化版的菜單風格文件
mkdir /var/lib/tftpboot/pxelinux.cfg/ 啟動菜單目錄
拷貝啟動光盤中的啟動菜單到/var/lib/tftpboot/pxelinux.cfg/目錄下,並修改文件名為default
5 修改啟動菜單
vim /var/lib/tftpboot/pxelinux.cfg/default
只保留第一、第二行、菜單標題和要安裝的菜單選項
檢查一下幾個服務的端口是否開啟(http:80,tftp:69,dhcp:67),設置完成後可以通過網絡安裝系統
ss -ntlu
安裝界面如下圖
PXE通過網絡自動化安裝系統