原文:http://www.virtuallyghetto.com/2014/03/exploring-vsan-apis-part-3-enable-vsan-traffic-type.html



       除了需要至少一个 SSD 和一个 HDD 用于 VSAN 群集,每个 ESXi 主机也必须有启用了 VSAN 流量的 VMkernel 接口。在 vSphereWeb Client 中,该操作的完成方式是,转到每台主机,在“Networking(网络连接)部分将 VMkernel 适配器修改为允许特定流量类型。

wKioL1OZIVDyubkCAADxAj0CdWk750.jpg


       从 vSphere API 角度来看,该操作实际出现在 vSphere 群集层面,这让我有点惊讶,因为启用其他 VMkernel 流量类型是在其他地方完成的。您需要使用ReconfigureComputeResource_Task() 方法,通过spec->vsanHostConfigSpec->HostSystem 指定 ESXi 主机列表,通过spec->vsanHostConfigSpec->networkInfo->port->device 指定想要启用 VSAN 流量类型的 VMkernel 适配器列表。在群集层面这样操作的简洁之处在于,您只需要调用一次 API,不需要转到每台 ESXi 主机操作。为了演示上面的操作,我创建了一个 vSphereSDK for Perl 示例脚本,名为vsanHostTrafficTypeMgmt.pl


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

 

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

./vsanHostTrafficTypeMgmt.pl –server vcenter55-1.primp-industries.com–username root –cluster VSAN-Cluster –operation query

wKiom1OZIaLTB_aLAAGCckv7z2M989.jpg


       从上面的输出您可以看到,画面中没有列出任何启用了 VSAN 流量类型的 VMkernel 适配器。


       为了简化示例脚本,我在Enable操作中加入了–vihost 选项,您需要指定您想要启用 VSAN 流量类型的特定 ESXi 主机。同时您还需要提供–vmk 选项,指定您想要启用 VSAN 流量类型的 VMkernel 接口。


./vsanHostTrafficTypeMgmt.pl –server vcenter55-1.primp-industries.com–username root –cluster VSAN-Cluster –operation enable –vihostvesxi55-1.primp-industries.com –vmk vmk0

wKioL1OZIZfSlSUyAAEvuwJwFv0436.jpg


       “Disable操作是 Enable 的反向操作,需要提供相同的 ESXi 主机和 VMkernel 接口列表。


       现在我们可以重新运行“Query”操作,我们应该会看到 vmk0 启用了 VSAN 流量类型的所有 ESXi 主机:

wKiom1OZIeLBZkAZAAGHmOiNOYE539.jpg


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