原文: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 适配器修改为允许特定流量类型。
从 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
从上面的输出您可以看到,画面中没有列出任何启用了 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
“Disable”操作是 Enable 的反向操作,需要提供相同的 ESXi 主机和 VMkernel 接口列表。
现在我们可以重新运行“Query”操作,我们应该会看到 vmk0 启用了 VSAN 流量类型的所有 ESXi 主机:
欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国
————————————————————————————————————————————
作者:William Lam
现任 VMwareR&D 主管工程师,隶属 SDDC 新兴解决方案团队的一员。目前,他在 VMware 公司从事原型设计,构建新解决方案并将其推向市场。他的工作主要侧重于从 API 和 SDK 这两个角度进行软件定义的数据中心 (SDDC) 自动化以及 SDDC 通用集成和操作。他还与 VMware 内部的多个工程团队紧密合作,帮助提供设计和架构方面的前期反馈。最后,通过客户互动和反馈,他不断应对客户的挑战、坚持满足客户的需求,从而更好地改进 VMware 产品。
转载于:https://blog.51cto.com/vsdsrevolution/1425311