今晚我读到一篇很是有趣的 VSAN 相关知识库文章知识库文章2073930,其中提到:要支持 16 个节点以上的 VSAN 群集,必须配置 ESXi 高级设置。这篇文章的措辞有点混乱,一下子说必须将高级设置应用到全部主机,过会儿又说仅应将高级设置应用到“额外的”主机。我联系了工程部门并得到确认说,高级设置应该应用到全部 ESXi 主机,该知识库文章相关内容很快会获得修正。应用此设置后还需重启 ESXi 主机,才能使更改后的设置生效。node
咱们所说起的高级设置名为CMMDS.goto11,可经过运行下列 ESXCLI 命令来检查其当前值:git
esxcli system settings advanced list -o /CMMDS/goto11github
下列 ESXCLI 命令可配置所需的设置(默认值为 0):架构
esxcli system settings advanced set -o /CMMDS/goto11 -i 1app
默认禁用此设置是由于它确实会占用少许内存,每一个 ESXi 主机占用约 150MB 不到。尽管占用量极少,可是 VSAN 工程师但愿以更小的 VSAN 部署得到业界普遍承认,且无需没必要要的额外资源。我认为,若是您计划将来将 VSAN 群集扩展至 16+ 节点以上并且可以承担额外的内存开销,那么,我建议您在默认配置中启用此设置,以避免之后再执行相关操做。若是不启用,您之后也可随时设置,但就是比较麻烦,您知道的:)ide
为了帮助执行此改变,我建立了两个脚本:vSphere SDKfor Perl 和 PowerCLI,它们可为 VSAN 群集中的全部 ESXi 主机自动配置此高级设置。测试
免责声明:这些脚本仅用于参考和教育目的。在尝试用于生产环境以前,请先进行完全测试。ui
您能够经过如下连接下载 vSphere SDK for Perl 样本脚本,名为:enable16PlusVSANNodeSupport.plspa
下例说明如何运行此脚本:
./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 产品。