黑色数据网络实验室 2019年10月

VMware推荐部署使用Linux版本的vCenter Server,VCSA在企业生产环境中已经大量使用,特别是提供从Windows版本迁移到Linux版本工具后,VCSA的使用达到了一个新的高度。

随着使用时间的增加,不少管理人员发现问题,VCSA虚拟机运行越来越慢,部分甚至直接挂死,或者虚拟机启动后服务无法启动,最常见的是下列的报错提示:

报错提示一
503 Service Unavailable (Failed to connect to endpoint: [[N7Vmacore4Http16LocalServiceSpecE:0x00005649e04415e0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)

报错提示二
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x00005649e04415e0] _serverNamespace = /ui action = Allow _port = 5090)

报错提示三
HTTP Status 404 – Not Found
Type Status Report
Message ProxyServlet: /ui/
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

实际上导致这些问题的发生多数情况是由于磁盘空间不足问题导致,VCSA使用SUSE Linux系统,一些熟悉Linux的管理人员就直接动手删除VCSA虚拟机的部分文件来增加使用空间,切记切记:不要用传统Linux思维来管理VCSA,直接删除文件可能导致VCSA完全无法使用。比如删除了部分日志,但VCSA的一些日志删除后系统无法重建,而这些日志文件如果被删除就会导致VCSA服务无法启动。
正确的处理方式是对VMDK进行扩容操作,VCSA 6.0 中引入逻辑卷管理 (LVM) ,VCSA 5.5和6.7都能够很好的支持,动态增VCSA磁盘空间。
VCSA 6.X虚拟机磁盘空间最容易不足的就是/storage/log(对应VMDK 5)/storage/db(对应VMDK 6),/storage/dblog(对应VMDK 7)

再次提醒:不要直接删除日志文件。

正确处理方式:
1、新建一台VCSA 6.7进行操作,其他6.X 版本基本相同。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

2、查看VCSA 6.7虚拟机虚拟机VMDK信息,6.7版本一共使用13个VMDK,各VMDK解释参考表一、表二、表三解释。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

表一 VCSA 6.0版本使用11个VMDK
VMDK 默认大小 挂载点 解释
VMDK1 12 GB / (10 GB)
/boot (132 MB)
SWAP (1 GB) 存储着内核映像和引导加载配置的引导目录
VMDK2 1.3 GB /tmp 临时目录,用于存储生成的临时文件或供 vCenter Server 中的服务使用
VMDK3 25 GB SWAP 交换目录,系统内存不足时使用此目录交换到磁盘
VMDK4 25 GB /storage/core 核心目录,存储 vCenter Server 中 VPXD 进程的核心转储
VMDK5 10 GB /storage/log 日志目录,vCenter Server 在此目录中存储环境的所有日志
VMDK6 10 GB /storage/db VMware Postgres 数据库存储位置
VMDK7 5 GB /storage/dblog VMware Postgres 数据库日志记录位置
VMDK8 10 GB /storage/seat VMware Postgres 的状态、事件、告警和任务 (SEAT) 目录
VMDK9 1 GB /storage/netdump VMware Netdump Collector 存储库,用于存储 ESXi 转储
VMDK10 10 GB /storage/autodeploy VMware Auto Deploy 存储库,存储用于 ESXi 主机无状态引导的 thinpackage
VMDK11 5 GB /storage/invsvc VMware Inventory Service 目录,xDB、Inventory Service 引导程序配置文件和 tomcat 配置文件位于此目录中

表二 VCSA 6.5版本使用12个VMDK
VMDK 默认大小 挂载点 解释
VMDK1 12GB / (10GB)
/boot (132MB)
SWAP (1GB) 内核映像和引导加载程序配置的存储目录。
VMDK2 1.8GB /tmp 用于存储vCenter Server服务生成或使用的临时文件的目录
VMDK3 25GB SWAP 系统内存不足以交换到磁盘时使用的目录
VMDK4 25GB /storage/core 存储来自vCenter Server的VPXD 进程的核心转储的目录
VMDK5 10GB /storage/log vCenter Server和Platform Services Controller存储环境所有日志的目录
VMDK6 10GB /storage/db VMware Postgres数据库存储位置
VMDK7 5GB /storage/dblog VMware Postgres数据库日志记录位置
VMDK8 10GB /storage/seat VMware Postgres的统计,事件,警报和任务(SEAT)目录
VMDK9 1GB /storage/netdump 存储ESXi转储的VMware Netdump收集器存储库
VMDK10 10GB /storage/autodeploy VMware Auto Deploy存储库,该存储库存储用于无状态启动ESXi主机的瘦程序包
VMDK11 10GB /storage/imagebuilder VMware Image Builder存储库,用于存储vSphere映像配置文件,软件仓库和VIB软件包,例如驱动程序VIB和更新VIB。
VMDK12 100GB /storage/updatemgr VMware Update Manager存储库,用于存储虚拟机和ESXi主机的修补程序和更新

表三 VCSA 6.0版本使用13个VMDK
VMDK 默认大小 挂载点 解释
VMDK1 12GB / (10GB)
/boot (132MB)
SWAP (1GB) 内核映像和引导加载程序配置的存储目录。
VMDK2 1.8GB /tmp 用于存储vCenter Server服务生成或使用的临时文件的目录
VMDK3 25GB SWAP 系统内存不足以交换到磁盘时使用的目录
VMDK4 25GB /storage/core 存储来自vCenter Server的VPXD 进程的核心转储的目录
VMDK5 10GB /storage/log vCenter Server和Platform Services Controller存储环境所有日志的目录
VMDK6 10GB /storage/db VMware Postgres数据库存储位置
VMDK7 5GB /storage/dblog VMware Postgres数据库日志记录位置
VMDK8 10GB /storage/seat VMware Postgres的统计,事件,警报和任务(SEAT)目录
VMDK9 1GB /storage/netdump 存储ESXi转储的VMware Netdump收集器存储库
VMDK10 10GB /storage/autodeploy VMware Auto Deploy存储库,该存储库存储用于无状态启动ESXi主机的瘦程序包
VMDK11 10GB /storage/imagebuilder VMware Image Builder存储库,用于存储vSphere映像配置文件,软件仓库和VIB软件包,例如驱动程序VIB和更新VIB。
VMDK12 100GB /storage/updatemgr VMware Update Manager存储库,用于存储虚拟机和ESXi主机的修补程序和更新
VMDK13 50GB /storage/archive VMware Postgres数据库的预写日志(WAL)位置

第3步,登录VCSA 6.7虚拟机,使用命令df -Th查看空间大小。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第4步,查看对应VMDK容量信息。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第5步,增加VMDK容量,每个增加10G空间。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第6步,增加虚拟磁盘空间后,直接使用命令自动展开所有增加了物理卷的逻辑卷vpxd_servicecfg storage lvm autogrow没有错,就是一条命令
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第7步,扩容成功。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第8步,使用命令/usr/lib/applmgmt/support/scripts/autogrow.sh也可以进行扩容。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第9步,增加50G后的效果。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第10步,使用命令启动服务,所有服务全部正常启动。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

第11步,使用浏览器访问VCSA 6.7,恢复正常。
VMware vCenter Server Appliance 的磁盘空间不足问题处理

最后再提醒:不要用传统Linux思维来管理VCSA,直接删除文件可能导致VCSA完全无法使用。