實驗:用一個PXE系統既支持centos6又能支持centos7系統安裝,如何實現?
用一個干凈的centos6系統來做,用兩個光盤,分別掛載centos6和centos7的光盤。
echo “- – -” > /sys/class/scsi_host/host0/scan? 識別光盤 ?lsblk查看
第一步:查看selinux及防火墻是否關閉
第二步:安裝包
yum install dhcp httpd tftp-server syslinux
chkconfig dhcpd on? 將dhcpd設為開啟啟動
chkconfig httpd on? 將httpd設為開機啟動
chkconfig tftp on 將tftp設為開機啟動
service xinetd start 啟動xinetd服務
service httpd start? 啟動httpd服務
第三步:修改dhcpd配置文件
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8;
default-lease-time 6000;
max-lease-time 72000;
subnet 192.168.30.0 netmask 255.255.255.0 {
??????? range 192.168.30.50 192.168.30.100;
??????? option routers 192.168.30.254;
??????? next-server 192.168.30.42;
??????? filename “pxelinux.0”;
}
service dhcpd start
第四步:準備YUM源
mkdir /var/www/html/centos/{6,7} -pv
vim /etc/fstab
/dev/sr1????????? /var/www/html/centos/6? iso9660?? defaults?? 0? 0
/dev/sr0????????? /var/www/html/centos/7? iso9660?? defaults?? 0? 0
mount -a
第五步:準備ks文件
mkdir /var/www/html/ksdir -pv
將事先準備好的centos6和centos7的應答文件復制到/var/www/html/ksdir下
第六步:準備PXE相關文件
cd /var/lib/tftpboot
mkdir pxelinux.cfg
mkdir centos{6,7}
cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6
cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
cp /var/www/html/centos/6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
復制centos6光盤中的菜單文件
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ 復制簡潔的菜單欄背景
cp /usr/share/syslinux/pxelinux.0 ?/var/lib/tftpboot
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
#prompt 1
timeout 600
label centos7
menu label ^Install desktop centos 7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=http://192.168.30.42/ksdir/ks7_desktop.cfg
label centos6
menu label Install mini centos 6
kernel centos6/vmlinuz
append initrd=centos6/initrd.img ks=http://192.168.30.42/ksdir/ks6_mini.cfg
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
?
總結:在centos7上實現PXE安裝cnetos6,7
0 selinux ,firewall 關閉
1 安裝包
yum install dhcp tftp-server httpd syslinux
systemctl enable dhcpd httpd tftp.socket
systemctl start httpd
2 準備YUM源
mkdir /var/www/html/centos/{6,7}/ -pv
vim /etc/fstab 加下面行
/dev/sr0???????? /var/www/html/centos/7??? iso9660 defaults??????? 0 0
/dev/sr1???????? /var/www/html/centos/6??? iso9660 defaults??????? 0 0
mount -a
df
3 準備ks文件
mkdir /var/www/html/ksdir/{6,7} -pv
cp /root/anaconda-ks.cfg? /var/www/html/ksdir/7/ks7_desktop.cfg
chmod +r /var/www/html/ksdir/7/ks7_desktop.cfg
[root@centos7 tftpboot]#tree /var/www/html/ksdir/
/var/www/html/ksdir/
├── ks6_mini.cfg
└── ks7_desktop.cfg
4 配置dhcp服務
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
[root@centos7 tftpboot]#cat /etc/dhcp/dhcpd.conf
option domain-name “magedu.org”;
option domain-name-servers 114.114.114.114,1.1.1.1;
option routers 192.168.30.200;
default-lease-time 86400;
max-lease-time 100000;
subnet 192.168.30.0 netmask 255.255.255.0 {
??????? range 192.168.30.10 192.168.30.100;
??????? option routers 192.168.30.254;
??????? option domain-name-servers 8.8.8.8;
??????? next-server 192.168.30.17;
??????? filename “pxelinux.0”;
}
systemctl start dhcpd
5 準備PXE相關文件
rpm -ql syslinux
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/centos{6,7}
?
cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7/
cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6/
cp /var/www/html/centos/7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title www.magedu.com
label centos7
? menu label ^Install? Desktop CentOS? 7
? kernel centos7/vmlinuz
? append initrd=centos7/initrd.img ks=http://192.168.30.17/ksdir/ks7_desktop.cfg
label centos6
? menu label install ^Mini CentOS 6
? menu default
? kernel centos6/vmlinuz
? append initrd=centos6/initrd.img ks=http://192.168.30.17/ksdir/ks6_mini.cfg
label local
? menu label Boot from ^local drive
? localboot 0xffff
menu end
?
tree /var/lib/tftpboot/
├── centos6
│? ?├── initrd.img
│? ?└── vmlinuz
├── centos7
│? ?├── initrd.img
│? ?└── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
??? └── default
3 directories, 7 files
?
6 客戶端測試安裝
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99639