VMware vCenter Server 7.x 部署与核心功能指南#
1. 核心概念:为什么需要 vCenter Server?#
1
2
3
| 我们之前学习的 ESXi 管理是“单机版”模式。当环境中只有少数几台 ESXi 主机时,通过 Web 界面逐一登录管理尚可接受。但当主机数量增长到数十甚至数百台时,这种方式将成为一场管理灾难。
vCenter Server Appliance (VCSA) 正是为解决这一挑战而生。它是 vSphere 套件中功能最强大的核心组件之一,扮演着整个虚拟化平台的“大脑”角色。
|
1.1 VCSA 带来的核心价值#
vCenter Server 的引入,为您的虚拟化环境带来了质的飞跃:
- 集中化管理 (Centralized Management): 将数据中心内所有的 ESXi 主机、虚拟机、存储和网络资源纳入统一的 Web 管理界面,实现对整个虚拟化环境的全局监控和配置。
- 解锁企业级高级功能: 许多 vSphere 的标志性功能必须依赖 vCenter Server 才能实现,单台 ESXi 无法提供。这些功能包括:
- vMotion: 在不中断服务的情况下,将正在运行的虚拟机从一台物理主机实时迁移到另一台。
- High Availability (HA): 在物理主机发生故障时,自动在集群内的其他健康主机上重启受影响的虚拟机,最大程度减少停机时间。
- Distributed Resource Scheduler (DRS): 持续监控集群内各主机的资源利用率,通过 vMotion 自动进行负载均衡,确保虚拟机获得最佳性能。
- Distributed Virtual Switch (DVS): 创建跨多台主机的统一虚拟交换机,简化网络配置和管理,增强网络功能。
- 统一的权限管理 (RBAC): 基于角色的精细化访问控制,可以为不同用户或团队分配不同的管理权限。
- 虚拟机克隆与模板: 实现虚拟机的快速复制和标准化部署,极大提升交付效率。
1.2 VCSA 部署模式#
- 嵌套部署 (Nested Deployment):最常见、最推荐的方式。将 VCSA 本身作为一个虚拟机,安装在某一台 ESXi 主机上。这种方式充分利用了虚拟化特性,VCSA 自身也可以被 HA 等功能保护,具备高可用性。
- 物理部署 (Physical Deployment):将 VCSA 直接安装在物理服务器上。这种方式仅在超大规模(如超过500台ESXi主机)的环境下才可能被考虑,极为罕见。
2. VCSA 7.x 命令行部署实践#
VCSA 的部署可以通过图形化界面 (GUI) 或命令行 (CLI) 完成。CLI 方式尤其适合自动化、标准化和重复性部署。本节详细介绍如何使用 CLI 在一台 Linux 主机上完成 VCSA 的部署。
2.1 准备工作#
- 准备一台 Linux 操作机: 用于执行部署命令。可以是 CentOS, Ubuntu, RHEL 等。
- 下载 VCSA ISO 镜像:
- 规划网络信息: 准备好目标 ESXi 主机、VCSA 虚拟机以及 DNS、NTP 等服务的 IP 地址和凭据信息。
2.2 上传并挂载 ISO#
将下载好的 ISO 文件上传到 Linux 操作机。

1
2
| # (可选) 校验 ISO 文件完整性,确保下载过程中没有损坏
sha512sum VMware-VCSA-all-7.0.3-20395099.iso
|

1
2
| # 挂载 ISO 文件
sudo mount VMware-VCSA-all-7.0.3-20395099.iso /mnt
|

2.3 准备部署配置文件#
从挂载的 ISO 中拷贝部署模板文件到用户主目录,这是部署的核心配置文件。
1
2
| # 拷贝安装模板文件到用户主目录
cp /mnt/vcsa-cli-installer/templates/install/embedded_vCSA_on_ESXi.json ~
|

2.4 编辑部署配置文件#
这是部署过程中最关键的一步。你需要根据你的环境信息,详细配置 embedded_vCSA_on_ESXi.json JSON 文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| {
"__version": "2.13.0",
"__comments": "部署内嵌式 PSC 的 VCSA 到一台 ESXi 主机上的模板",
"new_vcsa": {
"esxi": {
"__comments": "目标 ESXi 主机信息,VCSA 将作为虚拟机部署在这台主机上",
"hostname": "10.1.1.10", // 目标 ESXi 主机的 IP 地址
"username": "root", // ESXi 主机的 root 用户名
"password": "Your_ESXi_Password", // ESXi 主机的 root 密码
"deployment_network": "VM Network", // VCSA 虚拟机管理网卡所连接的端口组名称
"datastore": "datastore1" // VCSA 虚拟机文件要存放的数据存储名称
},
"appliance": {
"__comments": "VCSA 虚拟机本身的配置",
"thin_disk_mode": true, // 使用精简置备模式创建虚拟磁盘
"deployment_option": "small", // 部署规模: tiny, small, medium, large。决定 VCSA 的 vCPU、内存和存储大小
"name": "vcsa-prod-01" // VCSA 虚拟机的名称
},
"network": {
"__comments": "VCSA 虚拟机的网络配置",
"ip_family": "ipv4",
"mode": "static",
"ip": "10.1.1.11", // 分配给 VCSA 的静态 IP 地址
"prefix": "24", // 子网掩码位数
"gateway": "10.1.1.254", // 网关地址
"dns_servers": [ "223.5.5.5", "114.114.114.114" ] // DNS 服务器地址
},
"os": {
"__comments": "VCSA 操作系统 (Photon OS) 的配置",
"password": "Your_VCSA_Root_Password", // VCSA 虚拟机的 root 用户密码 (用于SSH登录)
"ntp_servers": "ntp.aliyun.com", // NTP 时间服务器
"ssh_enable": true // 启用 SSH 服务
},
"sso": {
"__comments": "vCenter Single Sign-On (SSO) 配置",
"password": "Your_SSO_Admin_Password",// SSO 管理员 administrator 的密码
"domain_name": "vsphere.local" // SSO 域名,通常保持默认
}
},
"ceip": {
"__comments": "客户体验提升计划,建议禁用",
"settings": {
"ceip_enabled": false
}
}
}
|


2.5 执行安装命令#
1
2
3
4
5
| # (某些系统可能需要) 安装依赖库
sudo yum install libnsl -y
# 执行部署命令
/mnt/vcsa-cli-installer/lin64/vcsa-deploy install ~/embedded_vCSA_on_ESXi.json --accept-eula --no-ssl-certificate-verification -v --log-dir ~/vcsa-install-log
|
--accept-eula: 接受最终用户许可协议。--no-ssl-certificate-verification: 忽略目标 ESXi 主机的 SSL 证书验证。-v: 显示详细输出。--log-dir: 指定日志文件存放目录。
部署过程分为两个阶段,耗时较长(通常为20-40分钟),请耐心等待命令行输出 Installation complete successfully。

2.6 登录 vCenter Server#
- 部署成功后,在浏览器中访问
https://<你为VCSA配置的IP地址>。 - 使用用户
administrator@vsphere.local 和你设置的 SSO 密码登录。

3. vCenter 核心架构与清单管理#
登录 VCSA 后,你将看到一个层级化的清单 (Inventory) 结构,这是 vCenter 管理的基础。
3.1 清单对象层级#
- 数据中心 (Datacenter):是清单中的最高级别容器,是一个逻辑概念。它可以用来组织不同地理位置或不同用途的资源。例如,你可以创建 “北京-数据中心” 和 “上海-数据中心”。
- 集群 (Cluster):创建在数据中心下的对象,是 ESXi 主机的集合。集群是实现 HA 和 DRS 等高级功能的边界。
- 主机 (Host):即被 vCenter 纳管的 ESXi 物理服务器。


3.2 创建集群并添加主机#
- 在数据中心对象上右键,选择“新建集群”。
- 为集群命名,并在此处启用 vSphere HA 和 vSphere DRS 等关键服务。
- 在创建好的集群对象上右键,选择“添加主机”。
- 输入 ESXi 主机的 IP 地址和 root 凭据,即可将其加入集群。
最佳实践:强烈建议一个集群内的所有 ESXi 主机硬件配置(特别是 CPU 型号和代数)保持高度一致。这确保了 vMotion 的兼容性,并保证了 HA 故障切换后,虚拟机能够在任何一台主机上无缝运行。









3.3 直接添加主机到数据中心#
1
| 我们也可以直接将主机添加到数据中心下,不必非得将 ESXi 加入到某个集群。但这将使该主机无法使用 HA、DRS 等依赖于集群的功能。根据你的实际情况选择将 ESXi 加入到哪里。
|
当你添加完 ESXi 主机之后,这个主机中的存储和网络资源包括原来运行在 ESXi 上的虚拟机都会被 VCSA 检测到。



4. 虚拟机生命周期管理#
4.1 创建虚拟机#
流程与单机版 ESXi 类似,但在 vCenter 中,你可以选择将虚拟机部署到集群或特定主机,并选择集群内所有主机均可访问的存储和网络。











4.2 克隆虚拟机#
这是 ESXi 单机模式不具备的核心功能。你可以对一台虚拟机(无论是开机还是关机状态)进行完整复制,快速创建副本。
注意事项:
- 存储位置:如果克隆的目标数据存储与源虚拟机位于同一个共享存储上,克隆过程是存储内部的数据复制,速度很快。如果跨存储(尤其是跨主机的本地存储),则数据需要通过管理网络传输,会消耗网络带宽且速度较慢。
- 磁盘格式:克隆时可以选择虚拟磁盘的置备模式,精简置备 (Thin Provisioning) 是最常用、最节省空间的模式。








4.3 使用模板高效部署#
模板是标准化的虚拟机“母版”,它不可编辑、不可开机,专门用于快速、一致地部署新的虚拟机。
获取模板的两种方式:
4.3.1 转换为模板#
将一台已配置好的虚拟机(需处于关机状态)直接转换成模板。


4.3.2 克隆一个模板#
在克隆虚拟机的向导中,选择“克隆为模板”。






4.4 从模板部署虚拟机#
从模板部署虚拟机:
- 在模板上右键,选择“从该模板新建虚拟机”。
- 在向导中,可以对新虚拟机进行自定义,如修改名称、IP 地址等(需要 Guest OS Customization Specification)。这对于批量部署服务器极为高效。







5. vSphere 网络核心: 标准交换机 vs. 分布式交换机#
1
2
3
| 当 VCSA 纳管多个 ESXi 主机后,资源整合便成为核心议题。计算资源相对容易整合(通过集群),但网络和存储资源则更为复杂。特别是网络,每个 ESXi 主机都有自己独立的 vSwitch 和 PortGroup,配置起来既繁琐又容易出错。
问题: 如果你有 100 台 ESXi 主机,需要创建一个名为 "VLAN-100-PROD" 的端口组,你将需要手动登录 100 次,或者编写复杂的脚本来完成,这极易导致配置不一致(如 VLAN ID 写错),造成虚拟机网络故障。
|


6. DVS(Distributed Virtual Switch)#
为解决上述问题,vCenter 提供了 分布式虚拟交换机 (DVS) 这一高级功能。
- DVS 是一个逻辑上的、跨所有纳管主机的统一虚拟交换机。
- 你只需在 vCenter层面创建一次 DVS,并创建相应的分布式端口组 (Distributed Port Group)。
- 随后将集群内的所有 ESXi 主机添加到这个 DVS 中,这些主机上就会自动出现这个统一的交换机和端口组。
- 优势: 实现了网络策略的集中管理和配置下发,确保了所有主机网络配置的一致性,极大简化了运维工作。
注意: 当 ESXi 主机被 vCenter 纳管后,你将不能再通过 vCenter 界面在该主机上创建或修改“标准虚拟交换机 (Standard vSwitch)”,所有网络管理操作都推荐通过 DVS 进行。

7. 自动化管理:PowerCLI 与 govc#
vCenter 提供了强大的 API,可以通过命令行工具进行自动化管理,极大提升运维效率。
7.1 使用 PowerCLI 管理 vCenter#
PowerCLI 是 VMware 官方提供的基于 PowerShell 的命令行工具集。
7.1.1 在 Ubuntu 上安装 PowerCLI#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu?view=powershell-7.4
# 安装 PowerShell 依赖
sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
# 导入微软 GPG 密钥
source /etc/os-release
wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
# 安装 PowerShell
sudo apt-get install -y powershell
# 启动 PowerShell
pwsh
# 在 PowerShell 环境中安装 PowerCLI 模块
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
|
7.1.2 PowerCLI 常用命令示例#
1
2
3
4
5
| # 忽略 SSL 证书警告 (仅限测试环境)
Set-PowerCLIConfiguration -InvalidCertificateAction:Ignore -Confirm:$false
# 连接到 vCenter
Connect-VIServer -Server <vCenter-IP> -User <用户名> -Password <密码>
|


1
2
3
4
5
| # 从虚拟机 Guest OS 复制文件到本地
Copy-VMGuestFile -Source "/etc/hosts" -Destination "C:\temp\" -VM "My-Linux-VM" -GuestToLocal -GuestUser root -GuestPassword 'YourGuestPassword'
# 在虚拟机 Guest OS 中执行命令
Invoke-VMScript -VM "My-Linux-VM" -ScriptText "ls /tmp" -GuestUser root -GuestPassword 'YourGuestPassword'
|

1
2
| # 断开连接
Disconnect-VIServer -Server <vCenter-IP> -Confirm:$false
|
7.2 使用 govc 创建虚拟机#
govc 是一个轻量级的 vSphere CLI,基于 Go 语言开发,非常适合在 Linux/macOS 环境下进行脚本化操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| # 第一步:设置环境变量进行认证
export GOVC_URL="https://10.xxx.xxx.xxx/sdk"
export GOVC_USERNAME="administrator@vsphere.local"
export GOVC_PASSWORD="xxxxxxxx"
export GOVC_INSECURE=1 # 忽略 SSL 证书验证
# 第二步:验证连接
govc about
# 第三步:批量克隆、自定义并启动虚拟机的示例脚本
for i in {141..150}; do
VM_NAME="VMMPU22${i}"
echo "Processing VM: $VM_NAME"
# 从模板克隆虚拟机,指定网络、文件夹和资源池
govc vm.clone -vm Win-10-Template -on=false -ds datastore-main \
-net "Production-Network-PG" -folder "/shanghai-datacenter/vm/VDI" \
-pool "/shanghai-datacenter/host/Cluster-01/Resources" \
"$VM_NAME"
# 应用客户机操作系统自定义规范,实现 IP 等配置自动化
govc vm.customize -vm "$VM_NAME" -name Win-10-Custom-Spec \
-ip 10.172.24.${i} -netmask 255.255.255.0 -gateway 10.172.24.1 \
-dns-server 10.172.24.100,10.172.98.219 -dns-suffix vdi.sh.moonpac.com
# 启动虚拟机
govc vm.power -on "$VM_NAME"
done
|
8. 常见问题与实用技巧#
8.1 EVC 特性报错与 BIOS 设置#
- 问题: 在集群中启用 EVC (Enhanced vMotion Compatibility) 特性时报错。
- 原因: VMware EVC 要求物理主机的 BIOS 中必须启用
Monitor/Mwait 特性。 - 解决方案: 重启 ESXi 主机,进入 BIOS 设置,路径通常在
Advanced -> CPU Configuration 或类似菜单下,找到并启用 Monitor/Mwait 选项。
8.2 vCenter 忘记 SSH root 密码#
如果您忘记了 VCSA 的 root 用户密码,但仍能通过 administrator@vsphere.local 登录 Web 界面,可以按以下步骤重置:
1
2
3
4
5
6
7
8
9
10
11
12
13
| # 使用 administrator@vsphere.local 账号通过 SSH 登录到 VCSA。
ssh administrator@vsphere.local@<VCSA-IP-Address>
# 进入 shell 环境。
# 使用 sudo 权限重置 root 密码。
sudo passwd root
# 重置 root 用户的登录失败计数。
sudo pam_tally2 --user=root --reset
# (可选) 设置 root 密码永不过期。
sudo chage -M -1 -E -1 root
|