Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5

目标:

在虚拟机上测试通过PXE自动安装ESXi,为硬件安装ESXi做准备。

实验环境:

Windows 10 (主机)

VMWare workstation 15  (运行于主机上)

Tiny PXE Server 1.0.0.21   (官网地址,下载地址)

ESXi 6.5镜像

Syslinux 3.86

安装步骤:

1.首先解压Tiny PXE Server,在其目录下新建tftp目录。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第1张图片

再在tftp目录下建立ISO1目录,ISO1下建立ESXi6.5(用于存放ESXi镜像,名称可改)目录和pxelinux.cfg(用于存放iso配置文件)目录。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第2张图片

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 文件夹下,

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第3张图片

将 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 ,如下图所示。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第4张图片

7.打开vmware workstation ,新建虚拟机,选择稍后安装操作系统。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第5张图片

下一步,我们选择Linux操作系统,版本随便。

为什么不选择 WMware ESX操作系统呢,因为我测试过,Linux虚拟机是BIOS启动,而VMware ESX是UEFI 启动。由于我们前面使用的是Syslinux 3.86 的启动文件,所以 UEFI的启动模式识别不了,不能进入pxe安装(当然,如果我们不使用pxe安装,直接是虚拟机挂载安装镜像,选择linux还是 VMware ESX 都一样可以安装)

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第6张图片

内存需要分配4G以上,新建完毕后,打开 编辑虚拟机设置->处理器->虚拟化引擎,勾选  虚拟化CPU性能计数器。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第7张图片

修改完毕,开启此虚拟机,开始从tftp加载文件。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第8张图片

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第9张图片

安装完毕后,会自动重启。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第10张图片

正常启动后会显示web地址

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第11张图片

在浏览器打开web地址,root密码就是前面配置文件ks.cfg里设置的密码。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第12张图片

 

附:

1.注意,如果CPU没有勾选“虚拟化CPU性能计数器”,则会出现如下报错。

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第13张图片

 2.密码强度不够,会出现

Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5_第14张图片

 

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 安装程序

https://docs.vmware.com/cn/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-2F0D4696-3681-4C13-9552-5280C6406376.html

关于 boot.cfg 文件

https://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc_50%2FGUID-1DE4EC58-8665-4F14-9AB4-1C62297D866B.html

使用 gPXE PXE 引导 ESXi 安装程序

https://docs.vmware.com/cn/VMware-vSphere/6.0/com.vmware.vsphere.upgrade.doc/GUID-2F0D4696-3681-4C13-9552-5280C6406376.html#GUID-2F0D4696-3681-4C13-9552-5280C6406376

你可能感兴趣的:(邮件)