原文:http://www.virtuallyghetto.com/2014/03/exploring-vsan-apis-part-1-enable-vsan-cluster.html



       几周前我概括介绍了一些最为常见的 VSAN 操作以及完成这些操作所需的特定 vSphereAPI。在我意料之中的是,已经有人对 VSAN 管理和使用自动化感兴趣,我也知道这是我在自家实验室中使用 VSAN 时想到的第一件事。


       拥有 API 的好处是,您可以通过多种方法利用 API,您可以将 vSphereSDK 支持的语言,例如 Java.NETPerl,甚至是 PowerShell,与新的VSAN专用 cmdlet 配合使用。我想详细探索其中的一些 API、甚至是提供一些可以帮助其他需要的人自动化 VSAN 的示例脚本可能会非常有用。反正对我而言,可以看到实例的时候会学得最好。


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


       VSAN vSphere 群集级别启用,与您现在在 vSphereHA/DRS 上操作类似,您只需点击几次即可。为了演示在 vSphere 群集上启用、禁用 VSAN 以及检查 VSAN 当前状态的功能,我创建了以下 vSphereSDK for Perl 示例脚本,名为vsanClusterManagement.pl


        vSphere 群集有一个vsanClusterConfigInfo 属性 (ComputeResource),指定了 VSAN 是否已启用、VSAN 是否已配置为自动收回或手动模式。要更改 vSphere 群集,您需要使用ReconfigureComputeResource_Task() 方法,示例脚本中有演示。


        要检查给定 vSphere 群集当前的 VSAN 配置,您可以运行query操作:

./vsanClusterManagement.pl –server vcenter55-1 –operation query–cluster VSAN-Cluster

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


        要启用 VSAN,您可以运行enable操作和可选的–autoclaim 选项,该选项默认情况下为启用,以自动实现回收:

./vsanClusterManagement.pl –server vcenter55-1 –operation enable–cluster VSAN-Cluster

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


       如果您重新运行 query 操作,您会看到出现了更多关于 VSAN 群集的信息,包括 VSAN 群集 UUID、当前收回状态、群集中的所有 ESXi 节点及其 VSAN NODEUUID

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


      如果登录您的 vSphere Web Client,我们应该会看到 VSAN 已成功启用,与您通过 UI 手动操作的效果一样。

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


       如果您决定选择手动,而不是让 VSAN 自动声明 SD HDD,您可能需要知道哪些磁盘符合 VSAN 要求。在该系列的第 2 部分,我们将看一下如何才能确定可以用于 VSAN 的可用 SSD

  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 产品。