Pxe + Kickstart脚本 自动安装 ESXi 6.5
目标:
在虚拟机上测试通过PXE自动安装ESXi,为硬件安装ESXi做准备。
实验环境:
Windows 10 (主机)
VMWare workstation 15 (运行于主机上)
Tiny PXE Server 1.0.0.21 (官网地址,下载地址)
安装步骤:
1.首先解压Tiny PXE Server,在其目录下新建tftp目录。
再在tftp目录下建立ISO1目录,ISO1下建立ESXi6.5(用于存放ESXi镜像,名称可改)目录和pxelinux.cfg(用于存放iso配置文件)目录。
2.解压Syslinux 3.86(安装VMWare推荐此版本),将 syslinux-3.86\gpxe\gpxelinux.0 和
syslinux-3.86\com32\menu\menu.c32 两个文件复制到 tftp\ISO1 目录下。
3.将ESXi6.5安装镜像解压,全部复制到 tftp\ESXi6.5 文件夹下,
将 tftp\ISO1\ESXi6.5\ISOLINUX.CFG 文件复制到 tftp\pxelinux.cfg 下,重命名为default (没有后缀名),打开default文件,定位到KERNEL和APPEND这两行:
KERNEL mboot.c32
APPEND -c boot.cfg
将 mboot.c32 和 boot.cfg 路径指向 ESXi6.5目录,修改为:
KERNEL ESXi6.5\mboot.c32
APPEND -c ESXi6.5\boot.cfg
4.在 tftp\ISO1 目录下新建ks.cfg文件,内容如下:
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw password
# Install on the first local disk available on machine
install --firstdisk --overwritevmfs
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
# Reboot after finish installation
reboot
其中 password 为EXSi 的 root密码,并且密码不要含有字符 # ,因为这是个注释符。
ks.cfg就是kickstart的脚本,可用kickstart生成,这里我们就直接使用了编辑好的脚本。
5.打开 tftp\ISO1\ESXi6.5\BOOT.CFG文件(可能需要去掉只读属性,否则不能编辑),将所有“/”去掉,在kernel这一行前增加一行:
prefix=ESXi6.5
定位到kernelopt这一行:
kernelopt=runweasel
修改为:
kernelopt=ks=http://192.168.167.1/ks.cfg
其中,IP地址为运行Tiny PXE Server的主机地址(这里可能有多个ip段,要视情况而定来选择),ks.cfg所处的文件位置与gpxelinux.0 在同一目录,以gpxelinux.0为url的根目录。
6.打开Tiny PXE Server,DHCP服务器选择VMnet8的IP地址(本人设置的VMware网络连接为NAT模式,为192.168.67.0段),启动文件处选择 \tftp\ISO1 目录下的 gpxelinux.0,勾选HTTPd,然后点击启动按钮 Online ,如下图所示。
7.打开vmware workstation ,新建虚拟机,选择稍后安装操作系统。
下一步,我们选择Linux操作系统,版本随便。
为什么不选择 WMware ESX操作系统呢,因为我测试过,Linux虚拟机是BIOS启动,而VMware ESX是UEFI 启动。由于我们前面使用的是Syslinux 3.86 的启动文件,所以 UEFI的启动模式识别不了,不能进入pxe安装(当然,如果我们不使用pxe安装,直接是虚拟机挂载安装镜像,选择linux还是 VMware ESX 都一样可以安装)
内存需要分配4G以上,新建完毕后,打开 编辑虚拟机设置->处理器->虚拟化引擎,勾选 虚拟化CPU性能计数器。
修改完毕,开启此虚拟机,开始从tftp加载文件。
安装完毕后,会自动重启。
正常启动后会显示web地址
在浏览器打开web地址,root密码就是前面配置文件ks.cfg里设置的密码。
附:
1.注意,如果CPU没有勾选“虚拟化CPU性能计数器”,则会出现如下报错。
2.密码强度不够,会出现
3.我们来看看pxe安装的原理,首先粘贴Tiny PXE server的日志如下
001 12:41:36 ROOT=E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\
002 12:41:36 DHCPd 192.168.67.1:67 started...
003 12:41:36 TFPTd 192.168.67.1:69 started...
004 12:41:37 HTTPd:80 started...
005 12:48:32 DHCPd:DISCOVER received, MAC:00-0C-29-0F-AC-E8, XID:2BCF9B0D
006 12:48:32 DHCPd:OFFER sent, IP:192.168.67.2, XID:2BCF9B0D
007 12:48:36 DHCPd:REQUEST received, MAC:00-0C-29-0F-AC-E8, XID:2BCF9B0D
008 12:48:36 DHCPd:ACK sent, IP:192.168.67.2, XID:2BCF9B0D
009 12:48:36 TFTPd:DoReadFile:gpxelinux.0 B:1468 T:0
010 13:16:11 DHCPd:DISCOVER received, MAC:00-0C-29-B2-88-38, XID:2AB28838
011 13:16:11 DHCPd:OFFER sent, IP:192.168.67.2, XID:2AB28838
012 13:16:13 DHCPd:REQUEST received, MAC:00-0C-29-B2-88-38, XID:2AB28838
013 13:16:13 DHCPd:ACK sent, IP:192.168.67.2, XID:2AB28838
014 13:16:13 TFTPd:DoReadFile:gpxelinux.0 B:1456 T:0
015 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/564dd10e-e179-90d7-671e-3362dbb28838 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\564dd10e-e179-90d7-671e-3362dbb28838". 系统找不到指定的文件。
016 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/01-00-0c-29-b2-88-38 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\01-00-0c-29-b2-88-38". 系统找不到指定的文件。
017 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A84302 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A84302". 系统找不到指定的文件。
018 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A8430 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A8430". 系统找不到指定的文件。
019 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A843 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A843". 系统找不到指定的文件。
020 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A84 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A84". 系统找不到指定的文件。
021 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A8 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A8". 系统找不到指定的文件。
022 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0A Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0A". 系统找不到指定的文件。
023 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C0 Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C0". 系统找不到指定的文件。
024 13:16:13 TFTPd:DoReadFile OpenError:pxelinux.cfg/C Cannot open file "E:\软件工具\tools\装机\tinypxeserver\tinypxeserver\tftp\ISO1\pxelinux.cfg\C". 系统找不到指定的文件。
025 13:16:13 TFTPd:DoReadFile:pxelinux.cfg/default B:1408 T:291
026 13:16:13 TFTPd:DoReadFile:menu.c32 B:1408 T:54964
027 13:16:13 TFTPd:DoReadFile:pxelinux.cfg/default B:1408 T:291
028 13:16:22 TFTPd:DoReadFile:ESXi6.5\mboot.c32 B:1408 T:90088
029 13:16:22 TFTPd:DoReadFile:/ESXi6.5/boot.cfg B:1408 T:2646
030 13:16:22 TFTPd:DoReadFile:/ESXi6.5/boot.cfg B:1408 T:2646
031 13:16:27 TFTPd:DoReadFile:ESXi6.5/b.b00 B:1408 T:123786
032 13:16:27 TFTPd:DoReadFile:ESXi6.5/jumpstrt.gz B:1408 T:20
033 13:16:27 TFTPd:DoReadFile:ESXi6.5/useropts.gz B:1408 T:20
034 13:16:27 TFTPd:DoReadFile:ESXi6.5/features.gz B:1408 T:20
035 13:16:27 TFTPd:DoReadFile:ESXi6.5/k.b00 B:1408 T:4136427
036 13:16:29 TFTPd:DoReadFile:ESXi6.5/chardevs.b00 B:1408 T:20095
037 13:16:29 TFTPd:DoReadFile:ESXi6.5/user.b00 B:1408 T:538701
038 13:16:29 TFTPd:DoReadFile:ESXi6.5/procfs.b00 B:1408 T:8563
039 13:16:29 TFTPd:DoReadFile:ESXi6.5/uc_intel.b00 B:1408 T:1253061
040 13:16:29 TFTPd:DoReadFile:ESXi6.5/uc_amd.b00 B:1408 T:5541
041 13:16:29 TFTPd:DoReadFile:ESXi6.5/vmx.v00 B:1408 T:29690463
042 13:16:37 TFTPd:DoReadFile:ESXi6.5/vim.v00 B:1408 T:17287552
043 13:16:41 TFTPd:DoReadFile:ESXi6.5/sb.v00 B:1408 T:45397296
044 13:16:48 TFTPd:DoReadFile:ESXi6.5/s.v00 B:1408 T:13215578
045 13:16:51 TFTPd:DoReadFile:ESXi6.5/bnxtnet.v00 B:1408 T:143099
046 13:16:52 TFTPd:DoReadFile:ESXi6.5/elx_esx_.v00 B:1408 T:1529287
047 13:16:52 TFTPd:DoReadFile:ESXi6.5/brcmfcoe.v00 B:1408 T:583834
048 13:16:52 TFTPd:DoReadFile:ESXi6.5/elxiscsi.v00 B:1408 T:135291
049 13:16:52 TFTPd:DoReadFile:ESXi6.5/elxnet.v00 B:1408 T:169585
050 13:16:52 TFTPd:DoReadFile:ESXi6.5/lpfc.v00 B:1408 T:615809
051 13:16:52 TFTPd:DoReadFile:ESXi6.5/i40en.v00 B:1408 T:167744
052 13:16:52 TFTPd:DoReadFile:ESXi6.5/igbn.v00 B:1408 T:108214
053 13:16:52 TFTPd:DoReadFile:ESXi6.5/ixgben.v00 B:1408 T:152447
054 13:16:52 TFTPd:DoReadFile:ESXi6.5/immpasst.v00 B:1408 T:1636443
055 13:16:53 TFTPd:DoReadFile:ESXi6.5/ipptool.v00 B:1408 T:371516
056 13:16:53 TFTPd:DoReadFile:ESXi6.5/pciinfo.v00 B:1408 T:916329
057 13:16:53 TFTPd:DoReadFile:ESXi6.5/nmlx4_co.v00 B:1408 T:152626
058 13:16:53 TFTPd:DoReadFile:ESXi6.5/nmlx4_en.v00 B:1408 T:158362
059 13:16:53 TFTPd:DoReadFile:ESXi6.5/nmlx4_rd.v00 B:1408 T:81802
060 13:16:53 TFTPd:DoReadFile:ESXi6.5/nmlx5_co.v00 B:1408 T:347870
061 13:16:54 TFTPd:DoReadFile:ESXi6.5/nmlx5_rd.v00 B:1408 T:76607
062 13:16:54 TFTPd:DoReadFile:ESXi6.5/misc_cni.v00 B:1408 T:5641
063 13:16:54 TFTPd:DoReadFile:ESXi6.5/net_bnx2.v00 B:1408 T:182846
064 13:16:54 TFTPd:DoReadFile:ESXi6.5/net_bnx2.v01 B:1408 T:1061935
065 13:16:54 TFTPd:DoReadFile:ESXi6.5/net_cnic.v00 B:1408 T:49702
066 13:16:54 TFTPd:DoReadFile:ESXi6.5/scsi_bnx.v00 B:1408 T:98923
067 13:16:54 TFTPd:DoReadFile:ESXi6.5/scsi_bnx.v01 B:1408 T:81469
068 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_liba.v00 B:1408 T:97488
069 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v00 B:1408 T:8645
070 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v01 B:1408 T:6648
071 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v02 B:1408 T:6852
072 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v03 B:1408 T:7546
073 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v04 B:1408 T:8709
074 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v05 B:1408 T:7410
075 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v06 B:1408 T:6507
076 13:16:54 TFTPd:DoReadFile:ESXi6.5/ata_pata.v07 B:1408 T:7860
077 13:16:54 TFTPd:DoReadFile:ESXi6.5/block_cc.v00 B:1408 T:24797
078 13:16:54 TFTPd:DoReadFile:ESXi6.5/char_ran.v00 B:1408 T:14509
079 13:16:54 TFTPd:DoReadFile:ESXi6.5/ehci_ehc.v00 B:1408 T:34076
080 13:16:54 TFTPd:DoReadFile:ESXi6.5/hid_hid.v00 B:1408 T:16987
081 13:16:54 TFTPd:DoReadFile:ESXi6.5/iavmd.v00 B:1408 T:52620
082 13:16:54 TFTPd:DoReadFile:ESXi6.5/ima_qla4.v00 B:1408 T:332225
083 13:16:54 TFTPd:DoReadFile:ESXi6.5/ipmi_ipm.v00 B:1408 T:10042
084 13:16:54 TFTPd:DoReadFile:ESXi6.5/ipmi_ipm.v01 B:1408 T:23946
085 13:16:54 TFTPd:DoReadFile:ESXi6.5/ipmi_ipm.v02 B:1408 T:28898
086 13:16:54 TFTPd:DoReadFile:ESXi6.5/iser.v00 B:1408 T:63183
087 13:16:54 TFTPd:DoReadFile:ESXi6.5/lpnic.v00 B:1408 T:169295
088 13:16:54 TFTPd:DoReadFile:ESXi6.5/lsi_mr3.v00 B:1408 T:89100
089 13:16:54 TFTPd:DoReadFile:ESXi6.5/lsi_msgp.v00 B:1408 T:130655
090 13:16:55 TFTPd:DoReadFile:ESXi6.5/lsi_msgp.v01 B:1408 T:136027
091 13:16:55 TFTPd:DoReadFile:ESXi6.5/lsi_msgp.v02 B:1408 T:130857
092 13:16:55 TFTPd:DoReadFile:ESXi6.5/misc_dri.v00 B:1408 T:368288
093 13:16:55 TFTPd:DoReadFile:ESXi6.5/mtip32xx.v00 B:1408 T:70842
094 13:16:55 TFTPd:DoReadFile:ESXi6.5/ne1000.v00 B:1408 T:179684
095 13:16:55 TFTPd:DoReadFile:ESXi6.5/nenic.v00 B:1408 T:69298
096 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_cdc_.v00 B:1408 T:6953
097 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_e100.v00 B:1408 T:96724
098 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_e100.v01 B:1408 T:110819
099 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_enic.v00 B:1408 T:54116
100 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_fcoe.v00 B:1408 T:23575
101 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_forc.v00 B:1408 T:38035
102 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_igb.v00 B:1408 T:106119
103 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_libf.v00 B:1408 T:24583
104 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_mlx4.v00 B:1408 T:113756
105 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_mlx4.v01 B:1408 T:68399
106 13:16:55 TFTPd:DoReadFile:ESXi6.5/net_nx_n.v00 B:1408 T:1379869
107 13:16:56 TFTPd:DoReadFile:ESXi6.5/net_tg3.v00 B:1408 T:112732
108 13:16:56 TFTPd:DoReadFile:ESXi6.5/net_usbn.v00 B:1408 T:17028
109 13:16:56 TFTPd:DoReadFile:ESXi6.5/net_vmxn.v00 B:1408 T:31372
110 13:16:56 TFTPd:DoReadFile:ESXi6.5/nhpsa.v00 B:1408 T:143838
111 13:16:56 TFTPd:DoReadFile:ESXi6.5/ntg3.v00 B:1408 T:31313
112 13:16:56 TFTPd:DoReadFile:ESXi6.5/nvme.v00 B:1408 T:78951
113 13:16:56 TFTPd:DoReadFile:ESXi6.5/nvmxnet3.v00 B:1408 T:47393
114 13:16:56 TFTPd:DoReadFile:ESXi6.5/nvmxnet3.v01 B:1408 T:46088
115 13:16:56 TFTPd:DoReadFile:ESXi6.5/ohci_usb.v00 B:1408 T:20364
116 13:16:56 TFTPd:DoReadFile:ESXi6.5/pvscsi.v00 B:1408 T:28304
117 13:16:56 TFTPd:DoReadFile:ESXi6.5/qcnic.v00 B:1408 T:80156
118 13:16:56 TFTPd:DoReadFile:ESXi6.5/qedentv.v00 B:1408 T:1017572
119 13:16:56 TFTPd:DoReadFile:ESXi6.5/qfle3.v00 B:1408 T:783811
120 13:16:56 TFTPd:DoReadFile:ESXi6.5/qfle3f.v00 B:1408 T:258394
121 13:16:56 TFTPd:DoReadFile:ESXi6.5/qfle3i.v00 B:1408 T:96688
122 13:16:57 TFTPd:DoReadFile:ESXi6.5/qflge.v00 B:1408 T:200092
123 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_ahc.v00 B:1408 T:20742
124 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_ata.v00 B:1408 T:12198
125 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_sat.v00 B:1408 T:17599
126 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_sat.v01 B:1408 T:10951
127 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_sat.v02 B:1408 T:11524
128 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_sat.v03 B:1408 T:8343
129 13:16:57 TFTPd:DoReadFile:ESXi6.5/sata_sat.v04 B:1408 T:6664
130 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_aac.v00 B:1408 T:53774
131 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_adp.v00 B:1408 T:152174
132 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_aic.v00 B:1408 T:99258
133 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_fni.v00 B:1408 T:67603
134 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_hps.v00 B:1408 T:65364
135 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_ips.v00 B:1408 T:33011
136 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_isc.v00 B:1408 T:11535
137 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_lib.v00 B:1408 T:65170
138 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_meg.v00 B:1408 T:28573
139 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_meg.v01 B:1408 T:55719
140 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_meg.v02 B:1408 T:26936
141 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_mpt.v00 B:1408 T:135719
142 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_mpt.v01 B:1408 T:151140
143 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_mpt.v02 B:1408 T:128032
144 13:16:57 TFTPd:DoReadFile:ESXi6.5/scsi_qla.v00 B:1408 T:77899
145 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_isc.v00 B:1408 T:2553
146 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_isc.v01 B:1408 T:2553
147 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v00 B:1408 T:6905
148 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v01 B:1408 T:6904
149 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v02 B:1408 T:3467
150 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v03 B:1408 T:3466
151 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v04 B:1408 T:1668
152 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_lib.v05 B:1408 T:1667
153 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_vmk.v00 B:1408 T:34029
154 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_vmk.v01 B:1408 T:35735
155 13:16:57 TFTPd:DoReadFile:ESXi6.5/shim_vmk.v02 B:1408 T:36278
156 13:16:57 TFTPd:DoReadFile:ESXi6.5/smartpqi.v00 B:1408 T:71856
157 13:16:57 TFTPd:DoReadFile:ESXi6.5/uhci_usb.v00 B:1408 T:20656
158 13:16:57 TFTPd:DoReadFile:ESXi6.5/usb_stor.v00 B:1408 T:41118
159 13:16:57 TFTPd:DoReadFile:ESXi6.5/usbcore_.v00 B:1408 T:100730
160 13:16:57 TFTPd:DoReadFile:ESXi6.5/vmkata.v00 B:1408 T:56222
161 13:16:57 TFTPd:DoReadFile:ESXi6.5/vmkfcoe.v00 B:1408 T:220011
162 13:16:57 TFTPd:DoReadFile:ESXi6.5/vmkplexe.v00 B:1408 T:12378
163 13:16:57 TFTPd:DoReadFile:ESXi6.5/vmkusb.v00 B:1408 T:282086
164 13:16:57 TFTPd:DoReadFile:ESXi6.5/vmw_ahci.v00 B:1408 T:77544
165 13:16:57 TFTPd:DoReadFile:ESXi6.5/xhci_xhc.v00 B:1408 T:75489
166 13:16:58 TFTPd:DoReadFile:ESXi6.5/btldr.t00 B:1408 T:939973
167 13:16:58 TFTPd:DoReadFile:ESXi6.5/weaselin.t00 B:1408 T:2166463
168 13:16:58 TFTPd:DoReadFile:ESXi6.5/esx_dvfi.v00 B:1408 T:105837
169 13:16:58 TFTPd:DoReadFile:ESXi6.5/esx_ui.v00 B:1408 T:3688649
170 13:17:00 TFTPd:DoReadFile:ESXi6.5/lsu_hp_h.v00 B:1408 T:55465
171 13:17:00 TFTPd:DoReadFile:ESXi6.5/lsu_lsi_.v00 B:1408 T:90618
172 13:17:00 TFTPd:DoReadFile:ESXi6.5/lsu_lsi_.v01 B:1408 T:182769
173 13:17:00 TFTPd:DoReadFile:ESXi6.5/lsu_lsi_.v02 B:1408 T:95359
174 13:17:00 TFTPd:DoReadFile:ESXi6.5/lsu_lsi_.v03 B:1408 T:207601
175 13:17:00 TFTPd:DoReadFile:ESXi6.5/native_m.v00 B:1408 T:198660
176 13:17:00 TFTPd:DoReadFile:ESXi6.5/qlnative.v00 B:1408 T:780848
177 13:17:00 TFTPd:DoReadFile:ESXi6.5/rste.v00 B:1408 T:220662
178 13:17:00 TFTPd:DoReadFile:ESXi6.5/vmware_e.v00 B:1408 T:42830
179 13:17:00 TFTPd:DoReadFile:ESXi6.5/vsan.v00 B:1408 T:7892568
180 13:17:02 TFTPd:DoReadFile:ESXi6.5/vsanheal.v00 B:1408 T:469690
181 13:17:03 TFTPd:DoReadFile:ESXi6.5/vsanmgmt.v00 B:1408 T:2854985
182 13:17:04 TFTPd:DoReadFile:ESXi6.5/tools.t00 B:1408 T:186316159
183 13:17:34 TFTPd:DoReadFile:ESXi6.5/lnvcusto.v00 B:1408 T:656
184 13:17:34 TFTPd:DoReadFile:ESXi6.5/xorg.v00 B:1408 T:1410491
185 13:17:35 TFTPd:DoReadFile:ESXi6.5/imgdb.tgz B:1408 T:211692
186 13:17:35 TFTPd:DoReadFile:ESXi6.5/imgpayld.tgz B:1408 T:6031327
187 13:18:04 DHCPd:DISCOVER received, MAC:00-0C-29-B2-88-38, XID:46320F25
188 13:18:04 DHCPd:OFFER sent, IP:192.168.67.2, XID:46320F25
189 13:18:04 DHCPd:REQUEST received, MAC:00-0C-29-B2-88-38, XID:46320F25
190 13:18:04 DHCPd:ACK sent, IP:192.168.67.2, XID:46320F25
191 13:18:37 HTTPd:Connect: 192.168.67.2, TID=8488
192 13:18:37 HTTPd:Client: 192.168.67.2 [GET] /ks.cfg
193 13:18:37 HTTPd:Server : Returning /ks.cfg
194 13:18:37 HTTPd:DisConnect: TID=8488
195 13:23:34 DHCPd:RELEASE received, MAC:00-0C-29-B2-88-38, XID:CCAB0D02
196 13:23:38 DHCPd:DISCOVER received, MAC:00-0C-29-B2-88-38, XID:98AAEB76
197 13:23:38 DHCPd:OFFER sent, IP:192.168.67.2, XID:98AAEB76
198 13:23:38 DHCPd:REQUEST received, MAC:00-0C-29-B2-88-38, XID:98AAEB76
199 13:23:38 DHCPd:ACK sent, IP:192.168.67.2, XID:98AAEB76
200 13:24:36 DHCPd:DISCOVER received, MAC:00-0C-29-B2-88-38, XID:AD6EC671
201 13:24:36 DHCPd:OFFER sent, IP:192.168.67.3, XID:AD6EC671
202 13:24:36 DHCPd:REQUEST received, MAC:00-0C-29-B2-88-38, XID:AD6EC671
203 13:24:36 DHCPd:ACK sent, IP:192.168.67.3, XID:AD6EC671
分析
1行 ,以ISO1目录为web根目录。
2行,启动DHCP服务,端口67.
3行,启动TFTP服务,端口69.
4行,启动HTTP服务,端口80.
5-13行,TFTP协议的交互。
14行,TFTP协议交互后,开始加载文件,首先加载的就是启动文件gpxelinux.0.
15-25行,在根目录下的pxelinux.cfg目录下寻找一系列文件,最终找到default文件,所以pxelinux.cfg这个文件夹的名称不能错。
26行,根据default文件里的设置加载 menu.c32 文件。
27行,再次加载default文件。
28行,根据default文件里的设置加载 ESXi6.5\mboot.c32 文件。(所以前面对于default的KERNEL和APPEND两行要修改路径。)
29行,根据default文件里的设置加载 /ESXi6.5/boot.cfg 文件 。(我怀疑这个文件的加载不是default里面设置的)
30行,同上。(我不知道为什么要加载两次)
31行,根据 boot.cfg 文件里的设置加载 ESXi6.5/b.b00 文件。
31-186行,根据boot.cfg 文件里设置的modules 行而加载一系列模块,不同版本的ESXi的安装镜像,里面的模块不完全一样。
187-191行,又开始进行交互。
192-194行,获取到ks.cfg文件,开始进行自动化的安装。前面的一系列文件加载,即使直接挂载镜像来安装,步骤也差不多。如果在boot.cfg中的kernelopt行没有配置正确,则运行到此处就不能自动化配置ESXi的安装了,需手动往下一步步安装。安装完毕后,会根据ks.cfg的最后一条命令reboot进行重启。
195-203行,是重启后的交互,至于怎么判断硬盘已经安装有系统,而不会再次进行安装,我目前还不知道,望大神指点。
参考
PXE自动部署ESXi6.5
https://blog.csdn.net/shouzang/article/details/80624660
使用 TFTP 以 PXE 方式引导 ESXi 安装程序
关于 boot.cfg 文件
使用 gPXE PXE 引导 ESXi 安装程序
上一篇: Laravel5.2路由
下一篇: python用smtp发送邮件
推荐阅读