介绍
虚拟机自定义规范可以在你克隆虚拟机的时候在vCenter 的Web界面设定虚拟机的主机名、单/多网卡IP的IP和网关、DNS服务器、唯一标识符重置(SID等)、硬盘分区自动扩容、设定密码、密钥、时区等信息。
让管理员不需要进入虚拟机系统内部进行配置,可以直接创建使用。提高业务开通效率。
VMware 系列文章:https://songxwn.com/categories/vmware/
前置要求
VMware Tools 要求
要在克隆或部署期间自定义客户机操作系统,必须将最新版本的 VMware Tools 安装在虚拟机或模板上。有关 VMware Tools 支持列表的信息,请参见《VMware 产品互操作性列表》,网址为 http://www.vmware.com/resources/compatibility/sim/interop_matrix.php。
确认已安装 VMware Tools 版本 11.3.0 或更高版本。(open-vm-tool)
确认已安装 cloud-init 版本 21.1 或更高版本。(Linux)
虚拟磁盘要求
所自定义的客户机操作系统必须安装在作为虚拟机配置中的 SCSI 节点 0:0 连接的磁盘上。
Windows 要求
Windows 客户机操作系统的自定义要求虚拟机在 ESXi 主机运行版本 3.5 或更高版本上运行。
Linux 要求
自定义 Linux 客户机操作系统要求 Linux 客户机操作系统中已安装 Perl。
支持系统: VMware Compatibility Guide
创建
使用
-
在从模板新建虚拟机的时候,克隆选项勾选自定义操作系统 。
-
在克隆虚拟机的时候,克隆选项勾选自定义操作系统 。
运行自定义脚本:
确认已安装 VMware Tools 版本 10.1.0 或更高版本。如果 VMware Tools 版本低于 10.1.0,则您尝试运行自定义脚本时,自定义将失败。
在 VMware Tools 配置中,出于安全原因,enable-custom-scripts 选项默认处于取消激活状态。尝试在 enable-custom-scripts 选项处于取消激活状态的情况下运行自定义脚本时,自定义将失败并显示自定义错误。
例如,要启用 enable-custom-scripts 选项,必须使用 config 命令以 root 用户身份运行 vmware-toolbox-cmd:
vmware-toolbox-cmd config set deployPkg enable-custom-scripts true
cat /etc/vmware-tools/tools.conf
[deployPkg]
enable-custom-scripts = true
要验证是否正确设置了该选项,可以运行以下命令:
vmware-toolbox-cmd config get deployPkg enable-custom-scripts
[deployPkg] enable-custom-scripts = true
有关详细信息,请参见《VMware Tools 用户指南》。
要使用 cloud-init 元数据和用户数据自定义虚拟机的客户机操作系统,请满足以下必备条件:
确认已安装 VMware Tools 版本 11.3.0 或更高版本。
确认已安装 cloud-init 版本 21.1 或更高版本。
已测试操作系统
-
Ubuntu系列
-
Debian系列
-
Centos 7
-
Rocky 8-9
-
Windows Server系列
Linux 自定义脚本示例
#!/bin/sh
if [ x$1 = x"precustomization" ]; then
echo "Do Precustomization tasks"
elif [ x$1 = x"postcustomization" ]; then
echo "Do Postcustomization tasks"
growpart /dev/sda 2
xfs_growfs /dev/sda2
echo "root:songxwn.com"|chpasswd
rm -f /etc/machine-id
systemd-machine-id-setup
fi
# 主要执行命令如下
growpart /dev/sda 2
# 扩容分区
xfs_growfs /dev/sda2
# 文件系统扩容
echo "root:songxwn.com"|chpasswd
# 配置root密码
rm -f /etc/machine-id
systemd-machine-id-setup
# 随机初始化ID
Rocky / RHEL 8-9 需要安装额外包
RHEL 8系列的以上版本要求按照以下包。
dnf install network-scripts
dnf install perl
低于 6.7 U3p 和 7.0 U3c 的版本,不支持 Rocky 系统的自定义。
https://knowledge.broadcom.com/external/article?legacyId=86163