可以使用默认脚本对第一个检测到的磁盘执行标准ESXi安装。
在 ESXi 安装过程中,可以使用默认脚本对第一个检测到的磁盘执行标准安装,并使用引导加载程序配置文件指定内核、内核选项以及 mboot.c32 或 mboot.efi 引导加载程序用于安装的引导模块。
关于默认 ks.cfg 安装脚本
ESXi 安装程序包含一个默认安装脚本,该脚本可对第一个检测到的磁盘执行标准安装。
默认 ks.cfg 安装脚本位于 /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 |
(可选)在尚未以 / 或 http:// 开头的 kernel= 和 modules= 命令中,在每个 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 个组,每个组包含五个字符 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)。
network(可选)
指定系统的网络地址。
- --bootproto=[dhcp|static]
-
指定是从 DHCP 获得网络设置还是手动对其进行设置。
- --device=
-
以
vmnicNN
形式(如vmnic0
)指定网卡的 MAC 地址或设备名称。该选项指的是虚拟交换机的上行链路设备。 - --ip=
-
以
xxx.xxx.xxx.xxx
形式为要安装的计算机设置 IP 地址。需要与 --bootproto=static 选项配合使用,否则将被忽略。 - --gateway=
-
以
xxx.xxx.xxx.xxx
形式将默认网关指定为 IP 地址。与 --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(必需)
设置系统的 root 密码。
- --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 存储》文档中的存储设备名称和标识符。