實驗:PXE實現自動化安裝系統

實驗:PXE實現自動化安裝系統

前提條件:
網卡:僅主機,關閉vmware 的dhcp服務
實驗:PXE實現自動化安裝系統

1 HTTP
yum install httpd
systemctl start httpd
systemctl enable httpd

/dev/sr0 /var/www/html/centos/7/os/x86_64 #掛載光盤,注意先確定sr0是否爲7系統
/dev/sr1 /var/www/html/centos/6/os/x86_64 #掛載光盤,注意先確定sr1是否爲6系統

2 準備KS文件
獲取方式:1通過修改安裝好的系統下的家目錄下的anaconda-ks.cfg文件
2通過kickstart圖形化軟件製作應答文件
/var/www/html/ks7_mini.cfg
url --url="http://192.168.36.7/centos/7/os/x86_64/" #應答文件中指定安裝源文件
/var/www/html/ks6_mini.cfg
url --url="http://192.168.36.7/centos/6/os/x86_64/" #應答文件中指定安裝源文件

3 tftp
yum install tftp-server #安裝tftp服務
systemctl start tftp #啓動服務
systemctl enable tftp #下次開機啓動生效

4 DHCP服務
yum install dhcp #安裝DHCP服務
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #參考DHCP產生的示例文件進行修改

vim /etc/dhcp/dhcpd.conf
option domain-name "magedu.com";
option domain-name-servers 114.114.114.114, 223.5.5.5;
default-lease-time 86400 ; #最小租期時間單位爲秒
max-lease-time 864000; #最大租期時間單位爲秒
subnet 192.168.36.0 netmask 255.255.255.0 {
range 192.168.36.10 192.168.36.100;
option routers 192.168.36.254;
next-server 192.168.36.7; #提供引導文件的服務器IP地址
filename "pxelinux.0"; #指明引導文件名稱
}

systemctl start dhcpd #啓動DHCP服務
systemctl enable dhcpd #開機啓動DHCP服務

5 準備啓動文件
yum install syslinux #安裝
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot #將引導文件導入到tftp
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot #將菜單文件導入到tftp
cp /misc/cd/isolinux/vmlinuz /var/lib/tftpboot/ #將內核文件導入到tftp
cp /misc/cd/isolinux/initrd.img /var/lib/tftpboot/ #將臨時根文件系統導入到tftp
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #將光盤配置文件導入到tftp
tree /var/lib/tftpboot/ #必須產生下列文件結構
/var/lib/tftpboot/
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── vmlinuz

1 directory, 5 files

6 準備啓動菜單文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60(單位:十分之一秒 )
menu title Auto Install CentOS
label centos7
menu label Install CentOS ^Mini 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.36.7/ksdir/ks7_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff

7 修改爲支持多系統
mkdir /var/lib/tftpboot/kernel{6,7}
cd /var/lib/tftpboot/
mv vmlinuz initrd.img kernel7/
cp /var/www/html/centos/6/os/x86_64/isolinux/vmlinuz kernel6
cp /var/www/html/centos/6/os/x86_64/isolinux/initrd.img kernel6/
[root@centos7 tftpboot]#tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── kernel6
│   ├── initrd.img
│   └── vmlinuz
├── kernel7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default

3 directories, 7 files

vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60
menu title Auto Install CentOS
label centos7
menu label Install CentOS ^Mini 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=http://192.168.36.7/ksdir/ks7_mini.cfg
label centos6
menu label Install CentOS Mi^ni 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=http://192.168.36.7/ksdir/ks6_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章