1. 程式人生 > >實驗:PXE實現自動化安裝系統

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

min time sdi .com tps 家目錄 naconda 單位 centos7

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

前提條件:
網卡:僅主機,關閉vmware 的dhcp服務
技術分享圖片

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/
[[email protected] 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

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