Home

【vCenter】在 vSphere 6.5、6.7、7.0 和 8.0 中增加 vCenter Server Appliance 的磁盘空间

产品

VMware vCenter Server

问题/引言

本文介绍了如何为 vCenter Server Appliance (VCSA) 6.5、6.7、7.0 和 8.0 增加特定 VMDK 的磁盘空间。随着 vSphere 6.0 中引入逻辑卷管理 (LVM) 并继续支持 vSphere 6.5、6.7、7.0 和 8.0,vCenter Server 磁盘可以动态增加。

有关 vCenter Server 磁盘布局的更多信息,请参阅:

**备注**
  • 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

解决

  1. 关闭 vCenter Server 虚拟机。如果虚拟机无法访问,则从 ESXi 主机级别执行此操作。
  2. 右键单击虚拟机。
  3. 点击“编辑设置”。
  4. 选择虚拟磁盘。
  5. 增加磁盘容量。确保虚拟机上没有附加任何快照。
  6. 虚拟机启动
  7. 使用 BASH Shell 或设备管理 CLI 扩展分区。

将 vCenter 逻辑卷映射到实际硬盘

  1. 运行此命令以查找到分区的逻辑卷映射

<font style="color:rgb(0, 0, 0);">lsblk -o NAME,HCTL,MOUNTPOINT,SIZE</font>

  1. 获取每个设备的实际路径 PCI 设备详细信息

<font style="color:rgb(0, 0, 0);">ls -al /sys/block/sd*</font>

  1. 确定需要增加的分区,例如,假设是映射到逻辑卷 /sys/block/sdq 的 /storage/lvm_snapshot 分区。
  2. 找到 PCI 设备的 SCSI 标签

<font style="color:rgb(0, 0, 0);">cat /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/label</font>

注意:如果在步骤 2 中获取的设备 realpath 在主机文件夹(第 4 级文件夹)之前没有序列号格式,则该路径映射到 SCSI0,例如 /sys/devices/pci0000

/0000:00
.0/ 映射到 SCSI0

映射 SCSI 设备。

  1. 现在我们知道分区 /sys/block/sdq 映射到 SCSI 设备 1 和单元号 1(来自步骤 1 输出的 HCTL 第 3 部分),这意味着它映射到 SCSI(1
    )。

6. 简单来说,在 VCSA 中,字母 in<font style="color:rgb(0, 0, 0);">/dev/sdX</font>按照字母顺序指示系统检测到的硬盘的顺序。

  • <font style="color:rgb(0, 0, 0);">a</font>= 硬盘 1 ( <font style="color:rgb(0, 0, 0);">/dev/sda</font>)
  • <font style="color:rgb(0, 0, 0);">b</font>= 硬盘 2 ( <font style="color:rgb(0, 0, 0);">/dev/sdb</font>)
  • <font style="color:rgb(0, 0, 0);">q</font>SDQ是字母表中的第17个字母,所以SDQ是Hard Disk 17的缩写。

使用 BASH Shell 增加磁盘空间

注意: 请确保 vCenter Server 虚拟机未附加任何快照。

  1. 使用 SSH 和 root 凭据登录到 vCenter Server Appliance。
  2. 运行以下命令启用 Bash shell:

<font style="color:rgb(0, 0, 0);">shell.set --enabled true</font>
3. 输入<font style="color:rgb(0, 0, 0);">shell</font>并按回车键。 4. 使用以下命令验证哪个磁盘出现容量问题,然后跟踪虚拟机编辑设置中将显示哪个 SCSI ID:

<font style="color:rgb(0, 0, 0);">df -h; lsblk; lsscsi</font>

例如,如果以下命令执行后,
/storage/log 对应于 sde,并且 SCSI ID 为 SCSI(0

)。

虚拟机设置中虚拟设备节点中显示为 SCSI(0

) 的虚拟硬盘对应于 /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
-----------------
  1. 使用 vSphere Client 或 vSphere Web Client,找到 vCenter Server Appliance 虚拟机,并增加受影响虚拟磁盘上的磁盘空间。有关详细信息,请参阅“增加虚拟磁盘的大小”。
  2. 虚拟磁盘增大后,返回 SSH 会话并运行以下命令,即可自动扩展物理卷增大后对应的逻辑卷:

<font style="color:rgb(0, 0, 0);">/usr/lib/applmgmt/support/scripts/autogrow.sh</font>
7. 运行以下命令以确认虚拟磁盘已成功扩展:

<font style="color:rgb(0, 0, 0);">df -h</font>

注意:如果 vCenter 升级预检查失败并出现错误“ vcenter 预检查错误,‘vcenter’ 有 27GB 可用空间,小于所需的 30GB”,则可能出现以下情况:

1.根分区(**<font style="color:rgb(0, 0, 0);">/</font>**:包含操作系统文件,但是,7.0 及更高版本不支持调整根分区大小。

2.清除 journalctl 日志也会释放空间。

3. 可用于清除 journalctl 日志的命令如下。

(通过 SSH 连接到 vCenter 并运行以下命令)

#journalctl —vacuum-time=1h

4. 此命令用于查询和显示日志中的消息,并删除超过一小时的日志条目。

5. 运行此命令检查根分区和其他分区的大小

<font style="color:rgb(0, 0, 0);"> #df -h</font>

使用设备管理 CLI 增加磁盘空间

注意:命令<font style="color:rgb(0, 0, 0);"> com.vmware.appliance.version1.resources.storage.stats.list</font> 必须在指定位置执行,如果在 shell 提示符下运行命令则无效。命令执行成功命令执行失败:请确保命令在正确的环境中运行。以下是 shell 输出的失败示例: <font style="color:rgb(0, 0, 0);">Command ></font>

<font style="color:rgb(0, 0, 0);">root@hostname# com.vmware.appliance.version1.resources.storage.stats.list </font>
<font style="color:rgb(0, 0, 0);">bash: com.vmware.appliance.version1.resources.storage.stats.list: command not found</font>

  1. 使用 SSH 和 root 凭据登录到 vCenter Server Appliance。
  2. 运行以下命令以验证哪个磁盘出现磁盘容量问题:

适用于 vCenter Server Appliance 6.5

<font style="color:rgb(0, 0, 0);">com.vmware.appliance.version1.resources.storage.stats.list</font>

适用于 vCenter Server Appliance 6.7:
<font style="color:rgb(0, 0, 0);">com.vmware.appliance.version1.resources.storage.stats.list</font>

输出结果类似于以下内容: `...` `7:` `Totalinodes: 655360` `Usedinodes: 4211` `Name: /storage/seat` `Totalkbytes: 10181944` `Usedkbytes: 9081843`

<font style="color:rgb(0, 0, 0);">...</font>

对于 vCenter Server Appliance 7.0,请改为执行 BASH Shell 过程。

  1. 使用 vSphere Client 或 vSphere Web Client,找到 vCenter Server Appliance 虚拟机,并增加受影响虚拟磁盘上的磁盘空间。有关详细信息,请参阅“增加虚拟磁盘的大小”。
  2. 虚拟磁盘增大后,返回 SSH 会话并运行以下命令,即可自动扩展物理卷增大后对应的逻辑卷:

适用于 vCenter Server Appliance 6.5

<font style="color:rgb(0, 0, 0);">com.vmware.appliance.version1.system.storage.resize</font>

适用于 vCenter Server Appliance 6.7:
<font style="color:rgb(0, 0, 0);">com.vmware.appliance.system.storage.resize</font>

  1. 再次运行该命令以确认虚拟磁盘已成功扩展:

适用于 vCenter Server Appliance 6.5

<font style="color:rgb(0, 0, 0);"> com.vmware.appliance.version1.resources.storage.stats.list</font>

**适用于 vCenter Server Appliance 6.7:** `com.vmware.appliance.version1.resources.storage.stats.list`

输出结果类似于以下内容:
<font style="color:rgb(0, 0, 0);">...</font>
<font style="color:rgb(0, 0, 0);">7:</font>
<font style="color:rgb(0, 0, 0);">Totalinodes: 786432</font>
<font style="color:rgb(0, 0, 0);">Usedinodes: 4211</font>
<font style="color:rgb(0, 0, 0);">Name: /storage/seat</font>
<font style="color:rgb(0, 0, 0);">Totalkbytes: 12246192</font>
<font style="color:rgb(0, 0, 0);">Usedkbytes: 9081843</font>

VMware LVM 存储 AI