准备给VCSA做个大版本Upgrade(6.7 -> 7.0),其中一个坑是之前改过SEAT分区大小,部署会炸,需要给新VM提前扩容,正好水一下操作。

首先磁盘空间爆满会有很多异常出现,最常见的就是服务拉不起来,包括我现在的,直接没法迁移旧vCenter。

部署新vCenter,迁移时报错。
查询日志,可以看到是SEAT分区大小不足导致。

如果你部署的是微型,但VM启的多日志开的详细的话,也很可能会BOOM。

想知道磁盘空间剩余,最简单的就是通过VCSA的设备管理(https://yourname:5480/)。

直接在监控->磁盘就可以看到空间,但如果你服务都炸了连管理都起不来,那最好保佑一下系统没挂,通过控制台(Ctrl+Alt+F3,到登录,直接用root账户登录)。或者SSH远程连接,也是root账户(如果认证都挂了的话,域账户是不好使的)。

上去以后,默认是增强Shell,带壳的,可以直接敲Shell到系统,通过常见命令:

df -h

看一下分区使用情况,也可以在增强Shell用命令:

com.vmware.appliance.version1.resources.storage.stats.list

来查看分区使用情况,注,这里的序号和VMDK不是对应的,需要知道哪个分区时哪个,可以参考一下VMware的对照表,这里搬运一个6.7的:

其他分区对应可以在这里找到:

(6.5)https://kb.vmware.com/s/article/70624

(6.7/7.0)https://kb.vmware.com/s/article/70625

找到了以后直接到ESXi里设置一个更大的空间,给磁盘扩容,我这边SEAT微型部署默认10G,整个20G应该够了?

在外部扩容完之后,不要顺手就resize2fs了,VM自带了分区扩容和检测的命令:

对于 vCenter Server Appliance 6.5:

com.vmware.appliance.version1.system.storage.resize

对于 vCenter Server Appliance 6.7 和 7.0:

com.vmware.appliance.system.storage.resize

如果你已经到Shell了,也可以用预留的脚本:

/usr/lib/applmgmt/support/scripts/autogrow.sh

进行扩展,很丝滑,很顺利,敲完后会提示哪个分区有变动,包括原来大小和扩展后的大小,自此结束。

对了,如果是作为更新用,迁移之前的vCenter,需要在Stage 2执行之前完成扩容,否则就报错,然后锁了需要重新部署。

本文备忘,官方KB:https://kb.vmware.com/s/article/2145603?lang=zh_cn


眼里有远方,心中有阳光,脚下有力量