金山运维肖力:如何将业务迁移到虚拟化环境并稳定运行(1)
2016-02-20 19:33:25 来源: 高招CTO训练营 51CTO.com 评论:0 点击:
(1)说服老板的秘诀。
说服老板有两个秘诀:“画饼”和“挖坑”,往往老板比较好说服,因为虚拟化能给企业带来真金白银的好处。比如如果企业现在有2000台服务器,即使按照一比二这样一个比例实施虚拟化,立马就可以节省50%服务器,50%的机柜。
所以,我们其实也不是在画饼,这个饼真实存在,并且可以吃到的。但是画饼的时候,要挖一个“坑”,因为在业务迁移虚拟化的时候,难免碰到这样或者那样的问题,碰到问题的时候,我们需要老板的支持,在做虚拟化迁移之前,我们就要和老板说好,虚拟化会给企业带来巨大的利益,实施过程中我们会做好各种预案,充分做好测试,但是也难免会碰到问题,万一碰到问题的时候需要老板支持我们,力挺我们。
(2)说服同事支持的秘诀。
往往说服同事支持很困难,因为大部分同事都是多一事不如少一事这样的心态,如果业务在物理机上已经非常稳定了,大部分人肯定不愿意再折腾一次了。这时候说服同事的办法就是树立一个样板,用事实说话,让大家看到业务可以在虚拟化平台上稳定运行。
如何选择第一个虚拟化项目。
选择第一个虚拟化项目非常重要,和打仗一样,首战必胜,这是一个战略问题,如果第一个虚拟化项目失败了,后面的工作就很难开展,万事开头难,那么如何选择第一个虚拟化项目呢?适合虚拟化的业务有那些特征了呢?
(1)单进程
但进程的业务非常适合虚拟化,现在的CPU都是多核,单进程的业务只使用一个核,通过虚拟化就可以很好的将多个单进程的业务整合在一起,尤其是通过应用层很难进程优化的业务。
(2)利用率非常低
常年CPU利用率在20%以下,这种业务通过虚拟化也非常好整合,将几个业务整合到一台宿主机上,可以提高整体的利用率。
(3)频繁变动的业务
这种业务搞虚拟化的动力最强,因为虚拟化快速部署的特点确实能解决他们的痛点。对运维来说,能节省成本他们不一定有动力,但是说能快速简单实现,他们动力很足。
(4)非核心业务
一开始虚拟化的时候,最好不要选核心业务,否则出了问题,压力会很大。核心业务应在口碑树立起来之后,在逐步进行虚拟化。
第一个虚拟化项目应该从自己企业内部找一个最符合以上条件的业务,来进行虚拟化,以提高虚拟化的成功率。
另外,并不是所有的业务都适合虚拟化,那有哪些业务不适合虚拟化呢?
压力特别高的业务不建议搞虚拟化,如果在物理机上CPU利用率已经80%了,就很难通过虚拟化进行压缩。
虚拟化项目实施应该遵循哪些流程,能保证比较稳定的将业务迁移到虚拟化环境?
从我个人长期的实践来看,虚拟化实施最好循序渐进,稳扎稳打,遵循以下的步骤,可以保证比较稳定的业务迁移到虚拟化环境。
(1)业务性能评估及压力模型建立
项目启动的时候,首先面临的是虚拟化比例如何确定,到底是1虚5,还是1虚7比较合适,宿主机的配置如何确定,这些都需要依靠数据决定,所以我们首先需要收集现有业务的压力数据,根据压力数据分析业务的压力模型。业务压力模型建立方法,后面还有详细介绍,有了压力模型,虚拟化比例和宿主机选型就非常好确定。
(2)测试环境测试
虚拟化比例和宿主机确定好之后,然后应该进行测试,测试包括系统方面的测试和业务方面的测试,系统方面测试主要测试宿主机和虚拟机的压力瓶颈点,看看宿主机和虚拟机最大的负载点在那里,为以后使用做到心里有底。
业务测试包括业务的功能测试和性能测试,功能测试主要测试业务在虚拟机上运行有没有问题,性能测试主要测试业务在虚拟机上能够承担的最高负载,比如游戏行业能负载多少人数,web,数据库能负载多少连接或者io,这个要根据每个业务的不同,使用业务应用层的测试方法进行测试。
通过测试,一方面我们可以测试稳定性,一方面可以得到业务在虚拟机上的最大负载,取得这些数据,我们就可以做到对以后的虚拟机使用心中有数。
(3)小规模部署
测试环境测试没有问题,并且取得相关数据后,就可以在生产环境部署,先应该在生产环境小规模的进行部署,并且测试2周到一个月。小规模部署最好是业务压力比较小的一台虚拟机测试2周到一个月,没有问题后在找业务压力最大的一组进行虚拟化,在测试2周到一个月。
(4)全面部署
小规模部署没有问题后,就可以逐步的进行全面虚拟化部署,按部就班的将业务迁移到虚拟化环境,直至进入最终的虚拟化运维。
▼下面介绍下业务压力模型的构建方法。
下定决心做虚拟化之后,面临的下一个问题是到底虚拟化比例如何确定,宿主机的配置如何选型,这时候就需要根据自己的业务特点,建立压力模型,根据压力模型确定虚拟化比例,宿主机、虚拟机的配置。
上一篇:去哪儿网使用的MySQL自动化运维工具Inception介绍
下一篇:运维朋友们,别再问需不需要学Python了