【vCenter】在 vSphere 6.5、6.7、7.0 和 8.0 中增加 VCSA 磁盘空间
这篇文章整理在 vSphere 6.5 / 6.7 / 7.0 / 8.0 环境中给 vCenter Server Appliance 扩容磁盘的通用思路。重点不是“把某块盘做大”这么简单,而是先确认哪个挂载点满了、它对应哪块 VMDK,再按版本选择合适的扩容方式。
适用场景
适合下面这类情况:
VCSA某个挂载点空间不足5480管理界面已经出现分区告警- 需要扩大
/storage/log、/storage/db、/storage/seat等业务分区 - 希望按 VMware 官方推荐流程扩容,而不是直接手动改分区
版本差异与前提说明
本文介绍了如何为 VCSA 6.5、6.7、7.0 和 8.0 增加特定 VMDK 的磁盘空间。由于 vSphere 6.0 之后引入了 LVM 结构,很多分区可以动态扩展,但不同版本仍有一些限制。
有关 vCenter Server 磁盘布局的更多信息,请参阅:
- vCenter Server Appliance 6.5 的 VMDK 文件列表 - 大小、挂载点和用途
- vCenter Server Appliance 6.7 的 VMDK/分区列表 - 大小、挂载点和用途
- vCenter Server 7.0 的 VMDK/分区列表 - 大小、挂载点和用途
- vCenter Server 8.0 的 VMDK/分区列表 - 大小、挂载点和用途
备注:
- 6.5 版本不支持调整根分区(上面知识库中列出的 VMDK1)的大小。 有关更多信息, 请参阅vSphere 6.5 发行说明。
- 6.7 版本新增了调整根分区大小的功能。
- 7.0 及以上版本不支持调整根分区大小。
- 此知识库文章也适用于 SEAT 分区已满或任何其他 vCenter 设备分区已满的问题。
- 本知识库文章也适用于外部平台服务控制器(PSC)。
- 如果 vCenter/PSC 无法访问,请直接连接到运行虚拟机的 ESXi 主机。
- 如果“扩展 VMDK 大小”选项呈灰色不可用状态,则磁盘可能正在使用快照,或者磁盘大小可能已达到数据存储块大小允许的最大值。在继续操作之前,请移除附加到 vCenter VM 的所有快照,并确保在扩展任何分区之前对 vCenter 进行完整的文件级备份。
有关 VMware 原生支持的基于文件的备份的信息
vCenter Server Appliance 的文件级备份和恢复
环境
VMware vCenter Server Appliance 6.7.x、
VMware vCenter Server 7.0.x、
VMware vCenter Server 8.0.x 和
VMware vCenter Server Appliance 6.5.x
基本处理流程
- 关闭 vCenter Server 虚拟机。如果虚拟机无法访问,则从 ESXi 主机级别执行此操作。
- 右键单击虚拟机。
- 点击“编辑设置”。
- 选择虚拟磁盘。
- 增加磁盘容量。确保虚拟机上没有附加任何快照。
- 虚拟机启动
- 使用 BASH Shell 或设备管理 CLI 扩展分区。
先确认逻辑卷对应哪块磁盘
这一步非常关键。VCSA 不是普通 Linux 虚拟机,很多人看到空间告警就直接猜测要扩哪块盘,结果容易扩错。
将 vCenter 逻辑卷映射到实际硬盘
- 运行此命令以查找到分区的逻辑卷映射
lsblk -o NAME,HCTL,MOUNTPOINT,SIZE

- 获取每个设备的实际路径 PCI 设备详细信息
ls -al /sys/block/sd*

- 确定需要增加的分区,例如,假设是映射到逻辑卷 /sys/block/sdq 的 /storage/lvm_snapshot 分区。
- 找到 PCI 设备的 SCSI 标签
cat /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/label
注意:如果在步骤 2 中获取的设备 realpath 在主机文件夹(第 4 级文件夹)之前没有序列号格式,则该路径映射到 SCSI0,例如 /sys/devices/pci0000:00/0000:00:10.0/ 映射到 SCSI0
映射 SCSI 设备。
- 现在我们知道分区 /sys/block/sdq 映射到 SCSI 设备 1 和单元号 1(来自步骤 1 输出的 HCTL 第 3 部分),这意味着它映射到 SCSI(1:1)。

- 简单来说,在
VCSA中,/dev/sdX的字母顺序通常对应系统识别到的磁盘顺序。
a= 硬盘 1 (/dev/sda)b= 硬盘 2 (/dev/sdb)- …
qSDQ是字母表中的第17个字母,所以SDQ是Hard Disk 17的缩写。
方式一:使用 BASH Shell 扩容
注意: 请确保 vCenter Server 虚拟机未附加任何快照。
- 使用 SSH 和 root 凭据登录到 vCenter Server Appliance。
- 运行以下命令启用 Bash shell:
shell.set --enabled true
- 输入
shell并按回车键。 - 使用以下命令验证哪个磁盘出现容量问题,然后跟踪虚拟机编辑设置中将显示哪个 SCSI ID:
df -h; lsblk; lsscsi
例如,如果以下命令执行后,
/storage/log 对应于 sde,并且 SCSI ID 为 SCSI(0:4)。
虚拟机设置中虚拟设备节点中显示为 SCSI(0:4) 的虚拟硬盘对应于 /storage/log 磁盘。
-----------------
:
/dev/mapper/log_vg-log 9.8G 4.4G 5.0G 47% /storage/log
:
sdd 8:48 0 25G 0 disk
mqcore_vg-core 254:12 0 25G 0 lvm /storage/core
★sde 8:64 0 10G 0 disk
★ mqlog_vg-log 254:14 0 10G 0 lvm /storage/log
sdf 8:80 0 10G 0 disk
mqdb_vg-db 254:5 0 10G 0 lvm /storage/db
:
[2:0:3:0] disk VMware Virtual disk 1.0 /dev/sdd
★[2:0:4:0] disk VMware Virtual disk 1.0 /dev/sde
[2:0:5:0] disk VMware Virtual disk 1.0 /dev/sdf
------------------ 使用 vSphere Client 或 vSphere Web Client,找到 vCenter Server Appliance 虚拟机,并增加受影响虚拟磁盘上的磁盘空间。有关详细信息,请参阅“增加虚拟磁盘的大小”。
- 虚拟磁盘增大后,返回 SSH 会话并运行以下命令,即可自动扩展物理卷增大后对应的逻辑卷:
/usr/lib/applmgmt/support/scripts/autogrow.sh
- 运行以下命令以确认虚拟磁盘已成功扩展:
df -h
如果 vCenter 升级预检查失败,并出现“可用空间不足”的报错,通常要先判断是不是根分区或日志空间不足。
1.根分区(**/**):包含操作系统文件,但是,7.0 及更高版本不支持调整根分区大小。
2.清除 journalctl 日志也会释放空间。
- 可用于清除 journalctl 日志的命令如下。
(通过 SSH 连接到 vCenter 并运行以下命令)
#journalctl —vacuum-time=1h
- 此命令用于查询和显示日志中的消息,并删除超过一小时的日志条目。
- 运行此命令检查根分区和其他分区的大小
#df -h
方式二:使用设备管理 CLI 扩容
**注意:**命令com.vmware.appliance.version1.resources.storage.stats.list 必须在指定位置执行,如果在 shell 提示符下运行命令则无效。命令执行成功:命令执行失败:请确保命令在正确的环境中运行。以下是 shell 输出的失败示例: Command >

root@hostname# com.vmware.appliance.version1.resources.storage.stats.list
bash: com.vmware.appliance.version1.resources.storage.stats.list: command not found
- 使用 SSH 和 root 凭据登录到 vCenter Server Appliance。
- 运行以下命令以验证哪个磁盘出现磁盘容量问题:
适用于 vCenter Server Appliance 6.5:
com.vmware.appliance.version1.resources.storage.stats.list
适用于 vCenter Server Appliance 6.7:
com.vmware.appliance.version1.resources.storage.stats.list
输出结果类似于以下内容:
...
7:
Totalinodes: 655360
Usedinodes: 4211
Name: /storage/seat
Totalkbytes: 10181944
Usedkbytes: 9081843
...
对于 vCenter Server Appliance 7.0,请改为执行 BASH Shell 过程。
- 使用 vSphere Client 或 vSphere Web Client,找到 vCenter Server Appliance 虚拟机,并增加受影响虚拟磁盘上的磁盘空间。有关详细信息,请参阅“增加虚拟磁盘的大小”。
- 虚拟磁盘增大后,返回 SSH 会话并运行以下命令,即可自动扩展物理卷增大后对应的逻辑卷:
适用于 vCenter Server Appliance 6.5:
com.vmware.appliance.version1.system.storage.resize
适用于 vCenter Server Appliance 6.7:
com.vmware.appliance.system.storage.resize
- 再次运行该命令以确认虚拟磁盘已成功扩展:
适用于 vCenter Server Appliance 6.5:
com.vmware.appliance.version1.resources.storage.stats.list
适用于 vCenter Server Appliance 6.7:
com.vmware.appliance.version1.resources.storage.stats.list
输出结果类似于以下内容:
...
7:
Totalinodes: 786432
Usedinodes: 4211
Name: /storage/seat
Totalkbytes: 12246192
Usedkbytes: 9081843
总结
给 VCSA 扩容时,真正重要的是把三件事先理清:
- 哪个挂载点空间不足
- 它映射到哪块
VMDK - 当前版本应该使用
BASH Shell还是设备管理CLI
只要这三点判断正确,后面的扩盘和自动扩容其实并不复杂。最怕的不是命令难,而是盘扩错、分区认错,或者在带快照的情况下直接动手。