可以使用預設指令碼對第一個偵測到的磁碟執行標準 ESXi 安裝。
在 ESXi 安裝期間,可以使用預設指令碼對第一個偵測到的磁碟執行標準安裝,並使用開機載入器組態檔指定核心、核心選項以及 mboot.c32 或 mboot.efi 開機載入器用於安裝的開機模組。
關於預設 ks.cfg 安裝指令碼
ESXi 安裝程式包含一個預設安裝指令碼,該指令碼可對第一個偵測到的磁碟執行標準安裝。
預設 ks.cfg 安裝指令碼位於初始 RAM 磁碟中的 /etc/vmware/weasel/ks.cfg。您可以使用 ks=file://etc/vmware/weasel/ks.cfg
開機選項指定預設 ks.cfg 檔案的位置。請參閱輸入開機選項以執行安裝或升級指令碼。
使用 ks.cfg 指令碼安裝 ESXi 時,預設根密碼為 myp@ssw0rd
。
無法修改安裝媒體上的預設指令碼。安裝完成後,您可以使用 vSphere Client 來登入用於管理 ESXi 主機的 vCenter Server,並修改預設設定。
在 vSphere 8.0 中,如果系統具有資料處理裝置 (DPU),則還可以使用 ks.cfg 指令碼在 DPU 上安裝 ESXi。
預設指令碼包含以下命令:
#
# Sample scripted installation file
#
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw myp@ssw0rd
# Install on the first local disk available on machine
install --firstdisk --overwritevmfs
In case you system has DPUs, you also specify a PCI slot:
install --firstdisk --overwritevmfs --dpupcislots=<PCIeSlotID>
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )
關於 boot.cfg 檔案
開機載入器組態檔 boot.cfg 指定 mboot.c32 或 mboot.efi 開機載入器在 ESXi 安裝過程中使用的核心、核心選項及開機模組。
ESXi 安裝程式中提供 boot.cfg 檔案。您可以修改 boot.cfg 檔案的 kernelopt 行,指定安裝指令碼的位置或傳遞其他開機選項。
# boot.cfg -- mboot configuration file # # Any line preceded with '#' is a comment. title=STRING prefix=DIRPATH kernel=FILEPATH kernelopt=STRING modules=FILEPATH1 --- FILEPATH2... --- FILEPATHn # Any other line must remain unchanged.
boot.cfg 中的命令可設定開機載入器。
命令 | 說明 |
---|---|
title=STRING |
將開機載入器標題設定為 STRING 。 |
prefix=STRING |
(選用) 在 kernel= 和 modules= 命令 (尚未起始於或包含 http://) 的每個 FILEPATH 前面新增 DIRPATH/ 。 |
kernel=FILEPATH |
將核心路徑設定為 FILEPATH 。 |
kernelopt=STRING |
將 STRING 附加到核心開機選項。 |
modules=FILEPATH1 --- FILEPATH2... --- FILEPATHn |
列出要載入的模組,以三個連字號 (--- ) 分隔。 |
支援安裝或升級指令碼的位置
在指令碼式安裝和升級中,ESXi 安裝程式可以從數個位置存取安裝或升級指令碼 (也稱為 kickstart 檔案)。
下列是可存取安裝或升級指令碼的受支援位置:
- CD/DVD。請參閱使用自訂安裝或升級指令碼建立安裝程式 ISO 映像。
- USB 快閃磁碟機。請參閱建立 USB 快閃磁碟機來儲存 ESXi 安裝指令碼或升級指令碼。
- 可透過下列通訊協定存取網路位置:NFS、HTTP、HTTPS、FTP
安裝或升級指令碼的路徑
您可以指定安裝或升級指令碼的路徑。
ks=http://XXX.XXX.XXX.XXX/kickstart/KS.CFG 為 ESXi 安裝指令碼的路徑,其中 XXX.XXX.XXX.XXX 是指令碼所在機器的 IP 位址。請參閱使用指令碼安裝 ESXi。
若要在互動式安裝中啟動安裝指令碼,請手動輸入 ks= 選項。請參閱輸入開機選項以執行安裝或升級指令碼。
安裝和升級指令碼命令
若要修改預設安裝或升級指令碼或自行建立指令碼,請使用支援的命令。請使用安裝指令碼中支援的命令,這些命令是在將安裝程式開機時使用開機命令指定的。
若要判定要在其中安裝或升級 ESXi 的磁碟,安裝指令碼需要下列其中一個命令:install、upgrade 或 installorupgrade。install 命令可建立預設磁碟分割,包括在建立其他磁碟分割後佔用所有可用空間的 VMFS 資料存放區。
在 vSphere 8.0 中,如果系統具有受支援的資料處理裝置 (DPU),請始終考慮 DPU 上的 ESXi 安裝、重新安裝或升級與主機上的 ESXi 一起。互動式或指令碼式方法不支援在 DPU 上更新和升級 ESXi,只能使用 vSphere Lifecycle Manager。
accepteula 或 vmaccepteula (必要)
接受 ESXi 授權合約。
clearpart (選用)
清除磁碟上任何現有的磁碟分割。需要指定 install 命令。請謹慎編輯現有指令碼中的 clearpart 命令。
- --drives=
- 移除指定磁碟機上的磁碟分割。
- --alldrives
-
忽略
--drives=
需求,並允許清除每個磁碟機上的磁碟分割。 - --ignoredrives=
-
移除指定磁碟機以外所有磁碟機上的磁碟分割。除非指定了
--drives=
或--alldrives
旗標,否則需要使用此命令。 - --overwritevmfs
- 允許覆寫指定磁碟機上的 VMFS 磁碟分割。依預設,不允許覆寫 VMFS 磁碟分割。
- --firstdisk=
-
disk-type1
-
[disk-type2,...]
dryrun (選用)
剖析並檢查安裝指令碼。不執行安裝。
安裝
指定這是全新安裝。需要 install、upgrade 或 installorupgrade 命令來判定要在其上安裝或升級 ESXi 的磁碟。
- --disk= or --drive=
-
指定要進行磁碟分割的磁碟。在命令
--disk=diskname
中, diskname 可以是磁碟名稱,也可以是 ESXi 中的完整磁碟檔案系統路徑,例如:- 磁碟名稱:
--disk=naa.6d09466044143600247aee55ca2a6405
或 - 裝置路徑:
--disk=/vmfs/devices/disks/mpx.vmhba1:C0:T0:L0
如需可接受的磁碟名稱格式,請參閱磁碟裝置名稱。
- 磁碟名稱:
- --firstdisk=
- disk-type1,
- [ disk-type2,...]
-
備註: 如果 vSphere 系統的版本低於 8.0 Update 3 且具有 DPU,則還需要指定 PCI 插槽:
install --firstdisk --overwritevmfs --dpupcislots=<PCIeSlotID>
。對於版本 8.0 Update 3 及更新版本的系統,已棄用 dpupcislots 參數。 - --ignoressd
- 從有資格進行磁碟分割的磁碟排除固態磁碟。此選項可以與 install 命令和 --firstdisk 選項搭配使用。此選項優先於 --firstdisk選項。此選項與 --drive或 --disk 選項,以及 upgrade 和 installorupgrade 命令一起使用時無效。如需有關防止在自動磁碟分割期間進行 SSD 格式化的詳細資訊,請參閱 vSphere 儲存區說明文件。
- --overwritevsan
-
在
vSAN 磁碟群組中的 SSD 或 HDD (磁性) 磁碟上安裝
ESXi 時,必須使用
--overwritevsan 選項。如果使用此選項,但所選磁碟上不存在
vSAN 磁碟分割,則安裝將失敗。在
vSAN 磁碟群組中的磁碟上安裝
ESXi 時,結果視您選取的磁碟而定:
- 如果選取的是 SSD,則會抹除同一磁碟群組中的 SSD 和所有基礎 HDD。
- 如果選取的是 HDD,並且磁碟群組有兩個以上磁碟,則僅會抹除選取的 HDD。
- 如果選取的是 HDD 磁碟,並且磁碟群組的磁碟不超過兩個,則會抹除 SSD 和選取的 HDD。
如需有關管理 vSAN 磁碟群組的詳細資訊,請參閱vSphere 儲存區說明文件。
- --overwritevmfs
- 安裝前要覆寫磁碟上的現有 VMFS 資料存放區時需要。
- --preservevmfs
- 安裝期間保留磁碟上的現有 VMFS 資料存放區。
- --novmfsondisk
- 防止在該磁碟上建立 VMFS 磁碟分割。如果磁碟上存在 VMFS 磁碟分割,則必須與 --overwritevmfs一起使用。
- --systemdisk
- 如果使用 USB 或 SD 裝置, systemDisk 會指定要安裝 ESX-OSData 磁碟分割的本機持續性磁碟。例如, install --firstdisk = usb --systemDisk=<diskID>。因此,開機區磁碟分割放置在 USB 裝置上,而 OSData 磁碟分割位於 systemDisk 參數中指定的磁碟上。
- --repartitionsystemdisk
- 如果使用 USB 或 SD 裝置,並且使用 systemDisk 參數指定的本機磁碟不為空或包含資料存放區,則可以使用 repartitionSystemDisk 確保在使用之前對持續性磁碟進行重新分割。
- --forceunsupportedinstall
-
阻止安裝已棄用的 CPU。
installorupgrade
需要 install、upgrade 或 installorupgrade 命令來判定要在其上安裝或升級 ESXi 的磁碟。
- --disk= or --drive=
-
指定要進行磁碟分割的磁碟。在命令
--disk=diskname
中, diskname 可以是磁碟名稱,也可以是 ESXi 中的完整磁碟檔案系統路徑,例如:- 磁碟名稱:
--disk=naa.6d09466044143600247aee55ca2a6405
或 - 裝置路徑:
--disk=/vmfs/devices/disks/mpx.vmhba1:C0:T0:L0
如需可接受的磁碟名稱格式,請參閱磁碟裝置名稱。
- 磁碟名稱:
- --firstdisk=
- disk-type1,
- [ disk-type2,...]
-
備註: 如果 vSphere 系統的版本低於 8.0 Update 3 且具有 DPU,則還需要指定 PCI 插槽:
install --firstdisk --overwritevmfs --dpupcislots=<PCIeSlotID>
。對於版本 8.0 Update 3 及更新版本的系統,已棄用 dpupcislots 參數。 - --overwritevsan
-
在
vSAN 磁碟群組中的 SSD 或 HDD (磁性) 磁碟上安裝
ESXi 時,必須使用
--overwritevsan 選項。如果使用此選項,但所選磁碟上不存在
vSAN 磁碟分割,則安裝將失敗。在
vSAN 磁碟群組中的磁碟上安裝
ESXi 時,結果視您選取的磁碟而定:
- 如果選取的是 SSD,則會抹除同一磁碟群組中的 SSD 和所有基礎 HDD。
- 如果選取的是 HDD,並且磁碟群組有兩個以上磁碟,則僅會抹除選取的 HDD。
- 如果選取的是 HDD 磁碟,並且磁碟群組的磁碟不超過兩個,則會抹除 SSD 和選取的 HDD。
如需有關管理 vSAN 磁碟群組的詳細資訊,請參閱vSphere 儲存區說明文件。
- --overwritevmfs
-
安裝 ESXi (如果磁碟上存在 VMFS 磁碟分割,但不存在 ESX 或 ESXi 安裝)。除非存在此選項,否則當磁碟上存在 VMFS 磁碟分割但不存在 ESX 或 ESXi 安裝時,安裝程式會失敗。
keyboard (選用)
設定系統的鍵盤類型。
- keyboardType
-
指定所選鍵盤類型的鍵盤映像。
keyboardType 必須為以下類型之一。
- 比利時文
- 葡萄牙文 (巴西)
- 克羅埃西亞文
- 捷克斯洛伐克文
- 丹麥文
- 愛沙尼亞文
- 芬蘭文
- 法文
- 德文
- 希臘文
- 冰島文
- 義大利文
- 日文
- 西班牙文 (拉丁美洲)
- 挪威文
- 波蘭文
- 葡萄牙文
- 俄文
- 斯洛維尼亞文
- 西班牙文
- 瑞典文
- 瑞士法文
- 瑞士德文
- 土耳其文
- 烏克蘭文
- 英文 (英國)
- 美式英文 (預設)
- 美式英文 Dvorak
serialnum 或 vmserialnum (選用)
ESXi 5.1 版及更新版本支援此命令。設定授權。如果不包括此命令,ESXi 會以評估模式進行安裝。
- --esx=<license-key>
-
指定要使用的 vSphere 授權金鑰。格式為 5 組字元,每組 5 個字元 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)。
network (選用)
指定系統的網路位址。
- --bootproto=[dhcp|static]
-
指定是從 DHCP 取得網路設定還是手動進行設定。
- --device=
-
指定網路卡的 MAC 位址或指定裝置名稱 (採用
vmnicNN
格式,如vmnic0
)。此選項是指虛擬交換器的上行裝置。 - --ip=
-
設定要安裝之機器的 IP 位址,採用
xxx.xxx.xxx.xxx
格式。需要與 --bootproto=static選項搭配使用,否則將被忽略。 - --gateway=
-
將預設閘道指定為 IP 位址,採用
xxx.xxx.xxx.xxx
格式。與 --bootproto=static選項搭配使用。 - --nameserver=
-
將主要名稱伺服器指定為 IP 位址。與
--bootproto=static
選項搭配使用。如果不打算使用 DNS,請省略此選項。--nameserver
選項可以接受兩個 IP 位址。例如:--nameserver="10.126.87.104[,10.126.87.120]"
- --netmask=
-
指定所安裝系統的子網路遮罩,採用
255.xxx.xxx.xxx
格式。與--bootproto=static
選項搭配使用。 - --hostname=
- 指定所安裝系統的主機名稱。
- --vlanid= vlanid
-
指定系統所在的 VLAN。與
--bootproto=dhcp或
--bootproto=static
選項搭配使用。設定為 1 到 4096 之間的整數。 - --addvmportgroup=(0|1)
- 指定是否新增虛擬機器使用的虛擬機器網路連接埠群組。預設值為 1。
paranoid (選用)
產生警告訊息進而中斷安裝。如果省略此命令,系統會記錄警告訊息。
part 或 partition (選用)
在系統上建立額外的 VMFS 資料存放區。每個磁碟只能建立一個資料存放區。不能與 install 命令在同一個磁碟上使用。一個磁碟只能指定一個磁碟分割,並且只能是 VMFS 磁碟分割。
- datastore name
- 指定磁碟分割的掛接位置。
- --ondisk= or --ondrive=
- 指定建立磁碟分割的磁碟或磁碟機。
- --onfirstdisk=
- disk-type1,
- [ disk-type2,...]
-
備註: 如果 vSphere 系統的版本低於 8.0 Update 3 且具有 DPU,則還需要指定 PCI 插槽:對找到的第一個合格磁碟進行磁碟分割。依預設,合格磁碟按下列順序排列:
install --firstdisk --overwritevmfs --dpupcislots=<PCIeSlotID>
。對於版本 8.0 Update 3 及更新版本的系統,已棄用 dpupcislots 參數。- 本機連結的儲存區 (local)
- 網路儲存區 (remote)
您可以使用附加到引數的以逗點分隔的清單來變更磁碟順序。如果提供篩選條件清單,則會覆寫預設設定。您可以合併篩選條件來指定特定磁碟,包括安裝有 ESX 的第一個磁碟的esx、型號和廠商資訊,或 VMkernel 裝置驅動程式的名稱。例如,若要優先使用型號名稱為 ST3120814A 的磁碟,以及使用 mptsas 驅動程式的任何磁碟,而非一般本機磁碟,引數為--onfirstdisk=ST3120814A,mptsas,local。您可以使用適用於包含 ESXi 映像之本機儲存區的 localesx,也可以使用適用於包含 ESXi 映像的遠端儲存區的 remoteesx。
reboot (選用)
指令碼式安裝完成後將機器重新開機。
- <--noeject>
- 安裝完成後不退出 CD。
rootpw (必要)
設定系統的根密碼。
- --iscrypted
- 指定加密此密碼。
- password
- 指定密碼值。
升級
需要 install、upgrade 或 installorupgrade 命令來判定要在其上安裝或升級 ESXi 的磁碟。
- --disk= or --drive=
-
指定要進行磁碟分割的磁碟。在命令
--disk=diskname
中, diskname 可以是磁碟名稱,也可以是 ESXi 中的完整磁碟檔案系統路徑,例如:- 磁碟名稱:
--disk=naa.6d09466044143600247aee55ca2a6405
或 - 裝置路徑:
--disk=/vmfs/devices/disks/mpx.vmhba1:C0:T0:L0
如需可接受的磁碟名稱格式,請參閱磁碟裝置名稱。
- 磁碟名稱:
- --firstdisk=
- disk-type1,
- [ disk-type2,...]
-
對找到的第一個合格磁碟進行磁碟分割。依預設,合格磁碟按下列順序排列:
- 本機連結的儲存區 (local)
- 網路儲存區 (remote)
您可以使用附加到引數的以逗點分隔的清單來變更磁碟順序。如果提供篩選條件清單,則會覆寫預設設定。您可以合併篩選條件來指定特定磁碟,包括安裝有 ESX 的第一個磁碟的esx、型號和廠商資訊,或 VMkernel 裝置驅動程式的名稱。例如,若要優先使用型號名稱為 ST3120814A 的磁碟,以及使用 mptsas 驅動程式的任何磁碟,而非一般本機磁碟,引數為--firstdisk=ST3120814A,mptsas,local。您可以使用適用於包含 ESXi 映像之本機儲存區的 localesx,也可以使用適用於包含 ESXi 映像的遠端儲存區的 remoteesx。
%include 或 include (選用)
指定要剖析的另一個安裝指令碼。此命令的處理方式類似於多行命令,但僅使用一個引數。
- filename
- 例如: %include part.cfg
%pre (選用)
指定在評估 kickstart 組態之前要執行的指令碼。例如,您可以使用該指令碼來產生 kickstart 檔案要包含的檔案。
- --interpreter
- =[python|busybox]
- 指定要使用的解譯器。預設為 busybox。
%post (選用)
套件安裝完成後,執行指定的指令碼。如果指定多個 %post 區段,則它們會按照在安裝指令碼中顯示的順序依序執行。
- --interpreter
- =[python|busybox]
- 指定要使用的解譯器。預設為 busybox。
- --timeout=secs
- 指定用於執行指令碼的逾時值。如果指令碼在超過逾時值後仍未完成,則會強制停止指令碼。
- --ignorefailure
- =[true|false]
- 如果值為 true,則即使 %post 指令碼停止並顯示錯誤,安裝仍會視為成功。
%firstboot
建立僅在首次開機期間執行的 init 指令碼。該指令碼不會影響後續開機。如果指定多個 %firstboot 區段,則它們會按照在 kickstart 檔案中顯示的順序依序執行。
- --interpreter
- =[python|busybox]
磁碟裝置名稱
install、upgrade 和 installorupgrade 安裝指令碼命令需要使用磁碟裝置名稱。
格式 | 範例 | 說明 |
---|---|---|
NAA | naa.6d09466044143600247aee55ca2a6405 | SCSI INQUIRY 識別碼 |
EUI | eui.3966623838646463 | SCSI INQUIRY 識別碼 |
T10 | t10.SanDisk00Cruzer_Blade000000004C530001171118101244 | SCSI INQUIRY 識別碼 |
VML | vml.00025261 | 舊版 VMkernel 識別碼 |
MPX | mpx.vmhba0:C0:T0:L0 | 以路徑為基礎的識別碼 |
如需有關儲存裝置名稱的詳細資訊,請參閱《vSphere 儲存區》說明文件中的〈儲存裝置名稱和識別碼〉。