原文:http://www.virtuallyghetto.com/2014/04/exploring-vsan-apis-part-9-vsan-component-count.htmlhtml
在結束個人VSAN API 博客系列以前,我想要探索的最後一個主題是一些高級 VSAN 磁盤統計信息,這些統計信息能夠用於故障排除或者參考。其中一個很方便的統計信息就是每一個 ESXi 主機的VSAN 組件數,我已經在我最近的VSAN 配置最大數目查詢腳本和VSAN PowerCLI vCheck 插件中演示過這個功能。git
這些磁盤統計信息經過VSANInternalSystem管理器使用QueryPhysicalVsanDisks() vSphere API 方法提供,咱們能夠檢索每一個 ESXi 主機的全部或者特定屬性集。我建立了一個 vSphere SDK for Perl 示例腳本,名爲vsanDiskStatsQueries.pl,能夠演示該 API 的使用。github
免責聲明:這些腳本僅用於參考和教育目的。在嘗試用於生產環境以前,請先進行完全測試。編程
如下示例在 VSAN 羣集上運行了該腳本,將會生成每一個 ESXi 主機的 VSAN 組件數:vim
./vsanDiskStatsQueries.pl –servervcenter55-1.primp-industries.com –username root –cluster VSAN-Clusterapi
若是咱們研究一下這個腳本,您會發現咱們按兩個特定屬性lsom_objects_count和Owner進行了篩選。須要注意的一點是,該方法的輸出是 JSON 字符串,因此您須要對輸出進行相應的解析。
架構
Owner屬性表示特定 ESXi 主機的 UUID,lsom_objects_count表示 VSAN 組件數。若是要肯定特定的 ESXi 主機並將其與 owner 屬性進行比較,咱們須要使用QueryHostStatus() API,相關內容已經在「VSANAPI 探索第 5 部分」討論過。若是當前 ESXi 主機有匹配項,咱們只需提取 lsom_objects_count 屬性,我會用簡單的哈希表跟蹤結果並在腳本最後顯示。app
一共 9 個部分的新 VSAN API 探索系列到此結束。但願關注這個系列的讀者喜歡這些文章,我知道我在學習新 API 時很是快樂,若是知道您能從腳本和編程角度將 VSAN 的方方面面都自動化,我也會很是開心。jsp
歡迎在微博上關注我,這樣在我發佈博客文章後您就會收到通知,並可讓您瞭解更多有關 VMware 存儲的信息:@VMware中國
————————————————————————————————————————————
做者:William Lam
現任 VMwareR&D 主管工程師,隸屬 SDDC 新興解決方案團隊的一員。目前,他在 VMware 公司從事原型設計,構建新解決方案並將其推向市場。他的工做主要側重於從 API 和 SDK 這兩個角度進行軟件定義的數據中心 (SDDC) 自動化以及 SDDC 通用集成和操做。他還與 VMware 內部的多個工程團隊緊密合做,幫助提供設計和架構方面的前期反饋。最後,經過客戶互動和反饋,他不斷應對客戶的挑戰、堅持知足客戶的需求,從而更好地改進 VMware 產品。