天天看點

通過PXE網絡安裝ESXI6

系統安裝我們一般可采用以下方式:CD光牒、U盤、PXE網絡等,當我們大批量安裝系統時,網絡是非常有效率的選擇。VMware ESXI是基于Linux開發的,是以它也和所有的Linux系統一樣,除了支援CD光牒引導安裝外,還支援基于PXE的網絡引導與安裝。PXE隻是網絡安裝的引導方式,自動化的核心依賴于kickstart/autoyast/autounattend等生成的自動應答檔案。

tftpd32+esxi6.0u2+kickstart+hfs+syslinux4.05

1.1 在windows伺服器上,建立一個檔案夾,作為TFTP伺服器的工作目錄,本測試環境是windows10, 目錄是D:\esxi6。 從syslinux程式中複制pxelinux.0檔案到這個目錄。

1.2 将ESXI6.0U2鏡像中的所有檔案複制到D:\esxi6目錄中,複制syslinux中的MENU.C32替換D:\esxi6中的同名檔案。

1.3 在D:\esxi6目錄中建立pxelinux.cfg目錄,複制esxi6.0u2鏡像中的檔案 ISOLINUX.CFG到pxelinux.cfg檔案夾中。

備注

如果你要為所有的伺服器安裝esxi6,請将ISOLINUX.CFG更名為default。如果你要為指定的伺服器安裝,請記下伺服器的MAC位址(伺服器上可能有多個網卡,需要記下通過網卡引導的網卡的MAC位址),并複制ISOLINUX.CFG檔案,重命名為“序号+MAC位址”,其中序号用01、02、03代替,表示第1台、第2台伺服器的順序,在序号與MAC位址之間,用短橫線代替,例如,第1台伺服器的MAC位址是F48E38873878,則檔案名為01-F4-8E-38-87-38-78

<a href="http://s3.51cto.com/wyfs02/M00/9C/57/wKioL1lvHU2i81MIAAAkihupHYI292.jpg" target="_blank"></a>

注意

如果你是手動填寫相關資訊,請忽略步驟1.5。 預設是kernelopt=runweasel

1.4 設定TFTP,打開tftpd,設定D:\esxi6為根目錄。設定IP位址的起始位址(位址應該與伺服器的位址在同一網段,并且在伺服器的位址之後),設定如下,紅色部分是要填寫的。

<a href="http://s3.51cto.com/wyfs02/M01/9C/57/wKioL1lvHU7wGsJRAACeRa3ruk4956.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/9C/57/wKiom1lvHU7Q5bUOAAAkWNM1fZ4611.png" target="_blank"></a>

1.5 設定hfs服務。将自動應答檔案ks.cfg設定可以通路到(直接拖動檔案到左邊的框中即可。其實你也可以自己架設一個http服務,如果你想手動填寫相關資訊,可以忽略此步驟)

<a href="http://s3.51cto.com/wyfs02/M02/9C/57/wKioL1lvHVDjJo-cAAAetVP5jy4508.png" target="_blank"></a>

内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>#</code>

<code># Sample scripted installation file</code>

<code># Accept the VMware End User License Agreement</code>

<code>vmaccepteula</code>

<code># Set the root password for the DCUI and Tech Support Mode</code>

<code>rootpw mypassword</code>

<code># Install on the first local disk available on machine</code>

<code>install </code><code>-</code><code>-</code><code>firstdisk </code><code>-</code><code>-</code><code>overwritevmfs</code>

<code># Set the network to DHCP on the first network adapter</code>

<code>network </code><code>-</code><code>-</code><code>bootproto</code><code>=</code><code>dhcp </code><code>-</code><code>-</code><code>device</code><code>=</code><code>vmnic0</code>

<code># A sample post-install script</code>

<code>%</code><code>post </code><code>-</code><code>-</code><code>interpreter</code><code>=</code><code>python </code><code>-</code><code>-</code><code>ignorefailure</code><code>=</code><code>true</code>

<code>import</code> <code>time</code>

<code>stampFile </code><code>=</code> <code>open</code><code>(</code><code>'/finished.stamp'</code><code>, mode</code><code>=</code><code>'w'</code><code>)</code>

<code>stampFile.write( time.asctime() )</code>

1.6 設定防火牆允許TFTP通過防火牆或者直接關閉防火牆。

1.7 開啟網絡安裝,建立虛拟機類型選擇ESXI,設定完成後從網卡啟動,進入安裝

<a href="http://s3.51cto.com/wyfs02/M00/9C/57/wKioL1lvHVHB8RWFAABaEz2eIj0407.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/9C/57/wKiom1lvHVKhtnoIAACQ1W2dbks947.jpg" target="_blank"></a>

其實和上面的步驟一樣,做了同樣的事情。

2.1 安裝dhcp、tftp-server、syslinux、xinetd

2.2 挂載ESXi ISO到/mnt

mount /dev/cdrom /mnt

2.3 修改vim /etc/dhcp/dhcpd.conf

<code>ddns</code><code>-</code><code>update</code><code>-</code><code>style interim;</code>

<code>allow booting;</code>

<code>allow bootp;</code>

<code>class</code> <code>"pxeclients"</code> <code>{</code>

<code>match </code><code>if</code> <code>substring(option vendor</code><code>-</code><code>class</code><code>-</code><code>identifier, </code><code>0</code><code>, </code><code>9</code><code>) </code><code>=</code> <code>"PXEClient"</code><code>;</code>

<code>next</code><code>-</code><code>server </code><code>192.168</code><code>.</code><code>10.78</code><code>;</code>

<code>filename </code><code>=</code> <code>"pxelinux.0"</code><code>;</code>

<code>}</code>

<code>subnet </code><code>192.168</code><code>.</code><code>10.0</code> <code>netmask </code><code>255.255</code><code>.</code><code>255.0</code> <code>{</code>

<code>range</code> <code>192.168</code><code>.</code><code>10.100</code> <code>192.168</code><code>.</code><code>10.110</code><code>;</code>

2.4 啟用tftp,修改/etc/xinetd.d/tftp中的disable = yes為disable = no

<code>service tftp</code>

<code>{</code>

<code>socket_type </code><code>=</code> <code>dgram</code>

<code>protocol </code><code>=</code> <code>udp</code>

<code>wait </code><code>=</code> <code>yes</code>

<code>user </code><code>=</code> <code>root</code>

<code>server </code><code>=</code> <code>/</code><code>usr</code><code>/</code><code>sbin</code><code>/</code><code>in</code><code>.tftpd</code>

<code>server_args </code><code>=</code> <code>-</code><code>s </code><code>/</code><code>var</code><code>/</code><code>lib</code><code>/</code><code>tftpboot</code>

<code>disable </code><code>=</code> <code>no</code>

<code>per_source </code><code>=</code> <code>11</code>

<code>cps </code><code>=</code> <code>100</code> <code>2</code>

<code>flags </code><code>=</code> <code>IPv4</code>

2.5 複制pxelinux.0到tftp根目錄

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

2.6 建立目錄/var/lib/tftpboot/pxelinux.cfg

mkdir /var/lib/tftpboot/pxelinux.cfg

2.7 複制ESXi ISO檔案中的isolinux.cfg到/var/lib/tftpboot/pxelinux.cfg/下并改名default

cp /mnt/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

2.8 複制ESXi ISO中的全部檔案到/var/lib/tftpboot/下

cp -a /mnt/* /var/lib/tftpboot/

2.9 複制syslinux自帶的menu.c32到tftp根目錄替換掉ESXI ISO裡的menu.c32。

cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

2.10 重新開機dhcp、xinetd服務

systemctl restart dhcpd

systemctl restart xinetd

2.11 自定義安裝腳本,安裝httpd,此檔案可以放在任何可以通過url通路到的地方。 編輯腳本ks.cfg

17

<code>vim </code><code>/</code><code>var</code><code>/</code><code>www</code><code>/</code><code>html</code><code>/</code><code>ks.cfg</code>

<code>bootstate</code><code>=</code><code>0</code>

<code>title</code><code>=</code><code>Loading ESXi installer</code>

<code>timeout</code><code>=</code><code>5</code>

<code>kernel</code><code>=</code><code>/</code><code>tboot.b00</code>

<code>kernelopt</code><code>=</code><code>ks</code><code>=</code><code>http:</code><code>/</code><code>/</code><code>192.168</code><code>.</code><code>40.1</code><code>/</code><code>ks.cfg</code>

<code>modules</code><code>=</code><code>/</code><code>b.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>jumpstrt.gz </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>useropts.gz </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>k.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>chardevs.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>a.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>user.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>uc_intel.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>uc_amd.b00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sb.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>s.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsi_mr3.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsi_msgp.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>bnxtnet.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_tg3.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>elxnet.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ima_be2i.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lpfc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_be2.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_i40e.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_igb.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_ixgb.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>nmlx4_co.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>nmlx4_en.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>nmlx4_rd.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>nmlx5_co.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>qedentv.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ima_qla4.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>misc_cni.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_bnx2.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_bnx2.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_cnic.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_qlcn.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_qlge.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>qlnative.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_bnx.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_bnx.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_qla.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>mtip32xx.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_meg.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v03 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v04 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v05 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v06 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ata_pata.v07 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>block_cc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ehci_ehc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>emulex_e.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>weaselin.t00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>esx_dvfi.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>esx_ui.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ipmi_ipm.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ipmi_ipm.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ipmi_ipm.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_hp_h.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_lsi_.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_lsi_.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_lsi_.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_lsi_.v03 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>lsu_lsi_.v04 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>misc_dri.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_e100.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_e100.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_enic.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_forc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_mlx4.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_mlx4.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_nx_n.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>net_vmxn.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>nvme.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>ohci_usb.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>rste.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_ahc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_ata.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_sat.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_sat.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_sat.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_sat.v03 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>sata_sat.v04 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_aac.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_adp.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_aic.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_fni.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_hps.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_ips.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_meg.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_meg.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_mpt.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_mpt.v01 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>scsi_mpt.v02 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>uhci_usb.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>vsan.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>vsanheal.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>vsanmgmt.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>xhci_xhc.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>tools.t00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>dell_con.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>xorg.v00 </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>imgdb.tgz </code><code>-</code><code>-</code><code>-</code> <code>/</code><code>imgpayld.tgz</code>

<code>build</code><code>=</code>

<code>updated</code><code>=</code><code>0</code>

本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1949013,如需轉載請自行聯系原作者

繼續閱讀