原文:http://www.virtuallyghetto.com/2014/04/exploring-vsan-apis-part-9-vsan-component-count.html




       在结束我的VSAN API 博客系列之前,我想要探索的最后一个主题是一些高级 VSAN 磁盘统计信息,这些统计信息可以用于故障排除或者参考。其中一个很方便的统计信息就是每个 ESXi 主机的VSAN 组件数,我已经在我最近的VSAN 配置最大数目查询脚本VSAN PowerCLI vCheck 插件中演示过这个功能。

VSAN API 探索第 9 部分 – VSAN 组件数_主机

       这些磁盘统计信息通过VSANInternalSystem管理器使用QueryPhysicalVsanDisks() vSphere API 方法提供,我们可以检索每个 ESXi 主机的所有或者特定属性集。我创建了一个 vSphere SDK for Perl 示例脚本,名为vsanDiskStatsQueries.pl,可以演示该 API 的使用。


        免责声明:这些脚本仅用于参考和教育目的。在尝试用于生产环境之前,请先进行彻底测试。


       以下示例在 VSAN 群集上运行了该脚本,将会生成每个 ESXi 主机的 VSAN 组件数:

./vsanDiskStatsQueries.pl –servervcenter55-1.primp-industries.com –username root –cluster VSAN-Cluster

VSAN API 探索第 9 部分 – VSAN 组件数_信息_02


        如果我们研究一下这个脚本,您会发现我们按两个特定属性lsom_objects_countOwner进行了筛选。需要注意的一点是,该方法的输出是 JSON 字符串,所以您需要对输出进行相应的解析。


        Owner属性表示特定 ESXi 主机的 UUIDlsom_objects_count表示 VSAN 组件数。如果要确定特定的 ESXi 主机并将其与 owner 属性进行比较,我们需要使用QueryHostStatus() API,相关内容已经在VSANAPI 探索第 5 部分讨论过。如果当前 ESXi 主机有匹配项,我们只需提取 lsom_objects_count 属性,我会用简单的哈希表跟踪结果并在脚本最后显示。


       一共 9 个部分的新 VSAN API 探索系列到此结束。希望关注这个系列的读者喜欢这些文章,我知道我在学习新 API 时非常快乐,如果知道您能从脚本和编程角度将 VSAN 的方方面面都自动化,我也会非常开心。

  1. VSAN API 探索第 1 部分 – 启用 VSAN 群集

  2. VSAN API 探索第 2 部分 – 查询可用的 SSD

  3. VSAN API 探索第 3 部分 – 启用 VSAN 流量类型

  4. VSAN API 探索第 4 部分 – VSAN 磁盘映射

  5. VSAN API 探索第 5 部分 – VSAN 主机状态

  6. VSAN API 探索第 6 部分 – 修改虚拟机的虚拟机存储策略

  7. VSAN API 探索第 7 部分 – VSAN 数据存储文件夹管理


       欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国


————————————————————————————————————————————


作者:William Lam 

现任 VMwareR&D 主管工程师,隶属 SDDC 新兴解决方案团队的一员。目前,他在 VMware 公司从事原型设计,构建新解决方案并将其推向市场。他的工作主要侧重于从 API  SDK 这两个角度进行软件定义的数据中心 (SDDC) 自动化以及 SDDC 通用集成和操作。他还与 VMware 内部的多个工程团队紧密合作,帮助提供设计和架构方面的前期反馈。最后,通过客户互动和反馈,他不断应对客户的挑战、坚持满足客户的需求,从而更好地改进 VMware 产品。