本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.6节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.6 了解设计要素
在本章的最后一部分,我们继续来看看你在前面的章节中学会了什么,然后应用这些原则来进行服务器的选择,以及决定是应该纵向扩展还是横向扩展。
选择服务器
当谈到一台服务器的选择时,并不存在对或错的答案,但希望能提供一些指导使你可以采取适当的措施用最好的解决方法来完成。重复利用还是替换服务器的问题会经常出现,而答案完全取决于使用年限、保修和打算重用的服务器的能力。因此,这里有一些基本规则,当涉及确定你的虚拟架构时可以遵循:
保持使用相同系列的CPU,否则就有性能流失的危险。
你有硬件可供使用并不代表你应该使用它。
如果它超过保修期或不支持HCL,就换掉它。
前面提到过CPU和CPU的家族是与EVC有关系的,而在第4章里关于感知CPU负载均衡的讨论会在涉及nonuniform memory access(NUMA,非均匀内存访问)时显示CPU因素的重要性。保持CPU系列的一致性可以使你无需复杂过程就能拥有贯穿整个集群的虚拟机vMotion。通过重复使用可能需要EVC的旧硬件,你可能会引入更多问题,比拥有一个统一的虚拟架构需要排除更多的故障问题。这绝不是使用旧硬件就是错误的意思,你只是需要考虑到底重复使用的好处是否能在功耗、散热、性能和空间等方面远远超过替代它。
如果你找到一个有4端口1Gb网卡的高速缓存而又不想浪费,这是可以理解的,但是再给你一个10Gb的CNA(聚合网络适配器)或者10个1Gb的接口,有很多的理由可以使你采用CNA。当拔掉并更换旧的架构与服务器时,你会发现你对电缆与插卡数量的需求会大大减少。被要求用于存储和连接的弹性缓存的物理服务器需要至少2个4端口的1Gb网卡和2个2端口的光纤通道,来连接到分离的光纤,现在能够被仅仅一对提供存储和网络连通性的CNA取代。不仅消耗功率和冷却由于更少的端口而降低,还可以显著减少服务器之间使用的电缆数量。
最后,如果服务器超过了保修期或者再也不在HCL(硬件兼容性列表)上了,就换掉它吧。当它超过保修期或者从HCL上消失的时候,它将不是一个适合运行任务关键型基础架构的候选者。它也许对你的实验室是一个合适的选择(将在第3章讨论),但此时它不应该是一个正确的选择。
纵向扩展与横向扩展
纵向扩展和横向扩展的选择可以使你的服务器提到一个新水平,你要决定把鸡蛋放在多少个篮子里,与此同时还要决定有多少种不同的鸡蛋。你可以问10个不同的人关于应该纵向还是横向扩展的意见,然后你会得到77个不同的答案。这完全没有任何问题:它们都是完全正确的而同时也是完全错误的。
无论是纵向扩展还是横向扩展,在你做过或没做过的架构决策中都会遇到这个问题,并且不受你的控制。如果你有很多需要极高CPU和内存性能的应用程序,你会偏爱于纵向扩展,然而如果你的工作量比较容易达到而且你的集群里有很好的平衡与负载,你会考虑横向扩展。你必须考虑横向扩展越多就需要越多的可用网络与存储接口,而且如果你的环境已满或将满,与简单地纵向拓展相比,横向拓展的代价会远远超过其优势。
所有事情都是平等的,考虑以下两个集群的例子,图1-10为纵向扩展,图1-11为横向扩展。
额外主机的可用性提供了很多优点,包括很大的CPU与内存的故障转移能力。而在这个例子中,纵向拓展的系统会有近乎两倍的CPU资源,由于内存插槽的数量增加,其内存需求允许使用相同或更大的寻址存储器。
如果没有真正了解用户配置文件和应用程序的使用情况,没有人能做出一个正确决定来回答到底纵向拓展还是横向拓展扩展更适合,虽然幸运地说,现如今提供的高计算和大内存的系统往往意味着你不必选择可用性。