CentOS7.6环境下的PXE-kickstart全自动网络安装ESXi6.0系统
一、安装前准备
下载镜像
Centos7.6(系统安装过程略)
ESXi6.0
PXE环境
文件服务器 172.17.10.199
PXE服务器 172.17.10.199
注意:此实验共用一台
关闭Vmware软件中的DHCP服务
关闭防火墙
[root@Centos7-PXE-Server ks]#systemctl disable --now firewalld
[root@Centos7-PXE-Server ks]#systemctl status firewalld
关闭SELINUX
[root@Centos7-PXE-Server ks]#vim /etc/selinux/config
SELINUX=enforcing修改为SELINUX=disabled
重启系统生效
[root@Centos7-PXE-Server ks]#getenforce
二、安装相关软件包并启动服务
[root@Centos7-PXE-Server ks]#yum -y install httpd tftp-server dhcp syslinux system-config-kickstart
[root@Centos7-PXE-Server ks]#systemctl enable --now httpd tftp dhcpd
注意:由于dhcp还没有配置,此时还无法立即启动
三、配置文件服务器
[root@Centos7-PXE-Server ks]#mount /dev/sr0 /mnt/
[root@Centos7-PXE-Server ks]#mkdir -p /var/www/html/esxi/6.0
[root@Centos7-PXE-Server ks]#cp -r /mnt /var/www/html/esxi/6.0/os
四、准备kickstart自动应答文件
/var/www/html/ksdir/esxi-6.cfg
[root@Centos7-PXE-Server ks]#mkdir /var/www/html/ksdir
[root@Centos7-PXE-Server ks]# vim /var/www/html/ksdir/esxi-6.cfg
#Accept the vmware End User License Agreement
accepteula
#Set the root password for the DCUI and Tech Support Mode
rootpw --iscrypted $1$mimai$Zx0cxDmVsawRvfKRehngr.
clearpart --firstdisk=local --overwritevmfs
#Part disk
install --firstdisk=local --overwritevmfs
#Set the network to DHCP IP on the first network adapater
network --bootproto=dhcp --device=vmnic0
#Final reboot
reboot
rootpw --iscrypted 1 1 1mimai$Zx0cxDmVsawRvfKRehngr.
rootpw加密方法
perl -e 'print crypt("IPPBXADMINROOT",q($1$IPPBXADM)),"\n"'
注:
当使用特殊字符时,例如@$符时需要在前面加上\,例:@$,否则加密字符串会错误;
其中IPPBXADMINROOT为要给用户设置的密码,1IPPBXADM字符串是自定义字符串,shadow里一般用1后面跟8个字符这种格式。
五、配置dhcp服务
/etc/dhcp/dhcpd.conf
[root@Centos7-PXE-Server ks]#vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
default-lease-time 600;
max-lease-time 7200;
subnet 172.17.10.0 netmask 255.255.255.0 {
range 172.17.10.200 172.17.10.230;
option routers 172.17.10.1;
next-server 172.17.10.199;
filename "pxelinux.0";
}
[root@Centos7-PXE-Server ks]# systemctl start dhcpd.service
[root@Centos7-PXE-Server ks]# systemctl status dhcpd.service
六、准备PXE启动相关文件
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /var/www/html/esxi/6.0/os /var/lib/tftpboot/esxi6/
cp /var/www/html/esxi/6.0/os/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@Centos7-PXE-Server ks]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@Centos7-PXE-Server ks]#cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
[root@Centos7-PXE-Server ks]# cp /var/www/html/esxi/6.0/os /var/lib/tftpboot/esxi6/
[root@Centos7-PXE-Server ks]#cp /var/www/html/esxi/6.0/os/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
七、编辑vim /var/lib/tftpboot/esxi6/boot.cfg文件
删除所有的斜杠
sed -i '1,$s/\///g' /var/lib/tftpboot/esxi6/boot.cfg
添加prefix=esxi6/,wq!强制保存并退出
bootstate=0
title=Loading ESXi installer
timeout=5
prefix=esxi6/
kernel=tboot.b00
kernelopt=runweasel
modules=b.b00 --- jumpstrt.gz --- useropts.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- uc_intel.b00 --- uc_amd.b00 --- sb.v00 --- s.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- bnxtnet.v00 --- net_tg3.v00 --- brcmfcoe.v00 --- elxnet.v00 --- ima_be2i.v00 --- lpfc.v00 --- scsi_be2.v00 --- i40en.v00 --- igbn.v00 --- ixgben.v00 --- net_i40e.v00 --- net_igb.v00 --- net_ixgb.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- qedentv.v00 --- scsi_qed.v00 --- ima_qla4.v00 --- misc_cni.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cnic.v00 --- net_qlcn.v00 --- net_qlge.v00 --- qlnative.v00 --- scsi_bnx.v00 --- scsi_bnx.v01 --- scsi_qla.v00 --- mtip32xx.v00 --- scsi_meg.v00 --- ata_pata.v00 --- ata_pata.v01 --- ata_pata.v02 --- ata_pata.v03 --- ata_pata.v04 --- ata_pata.v05 --- ata_pata.v06 --- ata_pata.v07 --- block_cc.v00 --- ehci_ehc.v00 --- emulex_e.v00 --- weaselin.t00 --- esx_dvfi.v00 --- esx_ui.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- lsu_hp_h.v00 --- lsu_lsi_.v00 --- lsu_lsi_.v01 --- lsu_lsi_.v02 --- lsu_lsi_.v03 --- lsu_lsi_.v04 --- misc_dri.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_forc.v00 --- net_mlx4.v00 --- net_mlx4.v01 --- net_nx_n.v00 --- net_vmxn.v00 --- nvme.v00 --- ohci_usb.v00 --- rste.v00 --- sata_ahc.v00 --- sata_ata.v00 --- sata_sat.v00 --- sata_sat.v01 --- sata_sat.v02 --- sata_sat.v03 --- sata_sat.v04 --- scsi_aac.v00 --- scsi_adp.v00 --- scsi_aic.v00 --- scsi_fni.v00 --- scsi_hps.v00 --- scsi_ips.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- uhci_usb.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- xhci_xhc.v00 --- tools.t00 --- dell_con.v00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz
build=
updated=0
八、准备启动菜单
/var/lib/tftpboot/pxelinux.cfg/default
ks=http://172.17.10.199/ksdir/esxi-6.cfg
[root@Centos7-PXE-Server ks]# vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60
menu title CentOS Linux PXE Install
label PXE Install esxi6.0
menu ^1 PXE Install esxi6.0
KERNEL esxi6/mboot.c32
APPEND -c esxi6/boot.cfg ks=http://172.17.10.199/ksdir/esxi-6.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
九、检查pxe服务器dhcp、tftp、http服务是否都正常运行
systemctl status httpd
systemctl status tftp
systemctl status dhcpd
十、客户机开机,选择PXE启动,选择安装PXE Install esxi6.0即可开始引导安装ESXi6.0
选择PXE启动
选择安装PXE Install esxi6.0
引导安装ESXi6.0
十一、随后全自动安装esxi系统,完成后自动重启到登录界面
参考引用与致谢
【1】马哥教育王晓春老师–课程视频及教案《运维自动化之系统部署》
【2】搭建Pxe服务器无人听应答全自动网络安装VMWare esxi 6.0系统
【3】CentOS7环境下的PXE-kickstart全自动网络部署ESXi(静态IP)
【4】kickstart配置LINUX无人值守选项–rootpw