PXE的系統自動化安裝————七週目小結
利用PXE實現自動化安裝系統
前提條件:
網卡:僅主機,關閉vmware 的dhcp服務
1 HTTP
安裝http軟件
yum install httpd
啓動服務並設置爲開機自啓
systemctl start httpd
systemctl enable httpd
建立鏡像掛載目錄並掛載
cd /var/www/html
mkdir centos/{6,7}/os/x86_64
mount /dev/sr0 /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/6/os/x86_64
經過瀏覽器查看是否能夠訪問
2 準備KS文件
安裝kickstart軟件
yum -y install systemm-config-kickstart
生成並保存ks7_mini.cfg和ks6_mini.cfg文件
system-config-kickstart
(軟件包安裝一欄,centos7 須要將yum配置文件的名字更改成[development])
修改ks配置文件
mv /root/ks*.cfg /var/www/html/
vim ks7_mini.cfg
url --url="http://192.168.7.7/centos/7/os/x86_64/"
vim /var/www/html/ks6_mini.cfg
url --url="http://192.168.7.7/centos/6/os/x86_64/"
3 tftp
安裝tftp-server軟件
yum install tftp-server
啓動並設置爲開機自啓
systemctl start tftp
systemctl enable tftp
4 DHCP服務
安裝dhcp軟件
yum install dhcp
參考自帶文件修改dhcp.conf文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.confddd
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.7.0 netmask 255.255.255.0 {
range 192.168.7.10 192.168.7.100;
option routers 192.168.7.254;
next-server 192.168.7.7;
filename "pxelinux.0";
}
啓動服務並設置爲開機自啓
systemctl start dhcpd
systemctl enable dhcpd
5 準備啓動文件
安裝syslinux軟件
yum install syslinux
拷貝文件至tftpboot下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /misc/cd/isolinux/vmlinuz /var/lib/tftpboot/
cp /misc/cd/isolinux/initrd.img /var/lib/tftpboot/
建立pxelinux.cfg文件夾
mkdir /var/lib/tftpboot/pxelinux.cfg/
拷貝鏡像文件並改名
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
查看tftpboot文件夾樹狀結構
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.7.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/
查看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.7.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.7.7/ksdir/ks6_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
dhcp細節
主要用途
*用於內部網絡和網絡服務供應商自動分配ip地址給用戶
*用於內部網絡管理員做爲對全部電腦集中管理的手段
使用場景
*自動化安裝系統
*解決ipv4資源不足問題
dhcp 實現
1,前提:系統網卡設置成僅主機模式,取消vmware的dhcp服務
2,安裝dhcp軟件
3,查看並修改dhcp配置文件
cat /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
修改 7行:option domain-name "example.org"
修改10-11行:地址租期,可以使用時間,單位:秒s
刪除27-28行
修改32-34行:設爲與服務器相同網段,網關以及dns
保存退出
4,啓動dhcp服務
5,修改客戶端ip配置文件,BOOTPROTO改成dhcp,重啓配置文件
6,查看客戶端ip地址
7,服務器查看客戶端獲取ip信息
cd /var/lib/dhcpd
cat dhcpd.leases
8,客戶端查看獲取ip地址信息
cd /var/lib/dhclient/
cat dhclient-*