原文: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

wKioL1OZHlrw5NRTAACt-rcPXuQ223.jpg


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

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

wKiom1OZHqfQH9qqAAEibqIDT0E901.jpg


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

wKiom1OZHs3zLVHFAALJMAKkGZ8070.jpg


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

wKiom1OZHujhxdVLAAC7ETiGeZc534.jpg


       如果您决定选择手动,而不是让 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 产品。