本节书摘来华章计算机《vsphere性能设计:性能密集场景下cpu、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.3节,[美] 克里斯托弗·库塞克(christopher kusek) 著 吕南德特·施皮斯(rynardt spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
你已经搭建了一个vmware vsphere集群并且建立了esxi服务器的能力基准。现在你可以准备开始复制它了,对吗?完全错误。
现在重要的是,要确保你的架构以及模板是为应用程序设计的,而非解决方案。不能仅仅基于架构进行设计,因为应用程序所有者会要求得到该解决方案所支持的最大能力。换句话说,即使只需要一个不超过4gb ram的32位服务器,但如果应用程序所有者知道能获得一个1tb ram和64tb磁盘空间的32位vcpu服务器,他们也会想要得到。这样一来需求就会永无止境,系统将因效率低下而崩溃。
这时最重要的就是确定应用程序以及衡量它们的工作负载。你是正在部署一个web服务器?一个高性能的数据库服务器?一个通用服务器?还是开发一个appdev vapp?性能特点能否预测?以及模板标准化的期望值?这些都很重要。
刚开始,人们总会建立一个提供给终端用户服务的目录,类似之前提到的。然后根据用户对cpu、内存、网络和存储的需求,建立分目录,满足用户最可能的需求特点。必要时,一些工作量还会分裂成小、中、大或定制的子集,例如:
小:1个 vcpu,2gb的ram
中:2个vcpu,4gb的ram
大:4个vcpu,8gb的ram
定制:最大为64 个vcpu,1tb的ram
衡量应用程序和工作负载的规则不是一成不变的,但是应该经过你的设计考虑而决定。使用vmware capacity planner、microsoft assessment and planning toolkit、 vmware vcenter operations manager等工具,以及一些本机工具如vcenter performance tab and perfmon,可以使你不再迷茫和困难。
记住,如果你低估了虚拟机和应用程序的大小—不管是因为不确定工作负载,还是因为系统用户数量增多而需要更多的资源—只要关闭系统并增加额外资源就可以更正。我们拜访过一个向我们诉苦的app所有者。我说:“我注意到你的应用程序表现不佳,可以通过使用额外的内存或者vcpu来解决。我可以关闭你的服务器给你提供更多的资源吗?”如果无法立刻更改,他们通常会抓住机会建立一个硬性的停机窗口,从而进行改变。
通过这样访问应用程序所有者并改造分配的vcpu,他们就再也不用关闭系统,也不会再来电求助。所以,你可能想要为所有虚拟机都热添加资源。但是,不是所有操作系统都支持cpu和内存的热备份,还需要考虑许多注意事项,在第4章和第5章会相应讲到。