黑色數據網絡實驗室 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 版本基本相同。

2、查看VCSA 6.7虛擬機虛擬機VMDK信息,6.7版本一共使用13個VMDK,各VMDK解釋參考表一、表二、表三解釋。

表一 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查看空間大小。
第4步,查看對應VMDK容量信息。
第5步,增加VMDK容量,每個增加10G空間。
第6步,增加虛擬磁盤空間後,直接使用命令自動展開所有增加了物理卷的邏輯卷vpxd_servicecfg storage lvm autogrow沒有錯,就是一條命令
第7步,擴容成功。
第8步,使用命令/usr/lib/applmgmt/support/scripts/autogrow.sh也可以進行擴容。
第9步,增加50G後的效果。
第10步,使用命令啟動服務,所有服務全部正常啟動。
第11步,使用瀏覽器訪問VCSA 6.7,恢復正常。
最後再提醒:不要用傳統Linux思維來管理VCSA,直接刪除文件可能導致VCSA完全無法使用。
閱讀更多 監控那些事兒 的文章