欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pxe + Kickstart脚本 自动安装 ESXi 6.5

程序员文章站 2022-07-08 11:11:19
...

目标:

在虚拟机上测试通过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脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

2.解压Syslinux 3.86(安装VMWare推荐此版本),将 syslinux-3.86\gpxe\gpxelinux.0 和 
syslinux-3.86\com32\menu\menu.c32 两个文件复制到 tftp\ISO1 目录下。

Pxe + Kickstart脚本 自动安装 ESXi 6.5

3.将ESXi6.5安装镜像解压,全部复制到 tftp\ESXi6.5 文件夹下,

Pxe + Kickstart脚本 自动安装 ESXi 6.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 ,如下图所示。

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

正常启动后会显示web地址

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

 

附:

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

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

Pxe + Kickstart脚本 自动安装 ESXi 6.5

 

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

相关标签: 邮件