今晚我读到一篇非常有趣的 VSAN 相关知识库文章知识库文章2073930,其中提到:要支持 16 个节点以上的 VSAN 群集,必须配置 ESXi 高级设置。这篇文章的措辞有点混乱,一会儿说必须将高级设置应用到所有主机,过会儿又说仅应将高级设置应用到“额外的”主机。我联系了工程部门并获得确认说,高级设置应该应用到所有 ESXi 主机,该知识库文章相关内容很快会得到修正。应用此设置后还需重启 ESXi 主机,才能使更改后的设置生效。
我们所提及的高级设置名为CMMDS.goto11,可通过运行下列 ESXCLI 命令来检查其当前值:
esxcli system settings advanced list -o /CMMDS/goto11
下列 ESXCLI 命令可配置所需的设置(默认值为 0):
esxcli system settings advanced set -o /CMMDS/goto11 -i 1
默认禁用此设置是因为它确实会占用少量内存,每个 ESXi 主机占用约 150MB 不到。尽管占用量极少,但是 VSAN 工程师希望以更小的 VSAN 部署获得业界广泛认可,且无需不必要的额外资源。我认为,如果您计划未来将 VSAN 群集扩展至 16+ 节点以上而且能够承担额外的内存开销,那么,我建议您在默认配置中启用此设置,以免以后再执行相关操作。如果不启用,您以后也可随时设置,但就是比较麻烦,您知道的:)
为了帮助执行此改变,我创建了两个脚本:vSphere SDKfor Perl 和 PowerCLI,它们可为 VSAN 群集中的所有 ESXi 主机自动配置此高级设置。
免责声明:这些脚本仅用于参考和教育目的。在尝试用于生产环境之前,请先进行彻底测试。
您可以通过以下链接下载 vSphere SDK for Perl 样本脚本,名为:enable16PlusVSANNodeSupport.pl
下例说明如何运行此脚本:
./enable16PlusVSANNodeSupport.pl –servervcenter55-1.primp-industries.com –username root –cluster VSAN-Cluster
在两个示例中,都仅需提供已启用 VSAN 的 vSphere 群集,脚本就会自动在所有 ESXi 主机中回环运行,并确保CMMDS.goto11 设置为 1。
最后,我想说说工程团队关于 VSAN 的一些趣事。您可能已经注意到了,这些高级设置名为“goto11”,这个名字曾让我百思不得其解,不知工程师为何如此命名。一开始,我以为这个名字是表示二进制数“11”或者是“GoTo”的字面意思。最后的答案,请您通过此处链接的 YouTube 视频来了解。感谢Dinesh Nambisan 分享这个精彩的小趣闻。不知道代码中还隐藏着哪些有待发现的惊喜。
欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国
————————————————————————————————————————————
作者:William Lam
现任 VMwareR&D 主管工程师,隶属 SDDC 新兴解决方案团队的一员。目前,他在 VMware 公司从事原型设计,构建新解决方案并将其推向市场。他的工作主要侧重于从 API 和 SDK 这两个角度进行软件定义的数据中心 (SDDC) 自动化以及 SDDC 通用集成和操作。他还与 VMware 内部的多个工程团队紧密合作,帮助提供设计和架构方面的前期反馈。最后,通过客户互动和反馈,他不断应对客户的挑战、坚持满足客户的需求,从而更好地改进 VMware 产品。
转载于:https://blog.51cto.com/vsdsrevolution/1427687