“要么别人踩坑你过,要么你替别人踩坑!”
内容提纲:
Why——为什么选择虚拟化技术? What——虚拟化实施及虚拟化技术? How——如何部署虚拟化项目?
公有云选择及运维Why——为什么选择虚拟化?
首先需要想想为什么要虚拟化,虚拟化到底能带给我们什么?归根结底,虚拟化能给企业带来两个好处:
第一个好处,节省成本。三四年前,我们曾经做过一款游戏,当时有一款游戏用了500多台物理机,运营了两年就收支平衡了,换句话说就是不赚钱了,后来我们按照(1:7)的比例去做虚拟化,将500多台物理机压缩到70多台宿主机上面,成本大大节省,游戏又开始盈利了,又能生存下去了。这是通过虚拟化节省成本的一个案例。
第二个好处,快速部署。从宿主机层面看,虚拟机就是一个镜像文件,要想增加一台虚拟机,把这个镜像文件复制一份就可实现,这个过程通常就几分钟,最多十几分钟,还有一些技术,比如插电镜像技术,我们可以秒级地得到虚拟机。
确定使用虚拟化技术之后,就要面临如何说服我们的老板和同事去使用虚拟化技术的问题了。
如何说服老板:画饼、挖坑。
如何画饼?比如我们有两千台服务器,即使按照(1:2)的比例去做,服务器数量立马减半,这个效益非常明显,一般老板都会支持的。但是,别忘了给老板挖个小坑,因为你做虚拟化项目过程中难免会碰到问题,这时候就需要老板的支持。所以要先跟老板说好,一旦出现问题一定要老板挺一下。
如何说服同事:树立一个样板。
怎么样应对同事的质疑?就是树立一个样板,用事实说话。这就跟打仗一样,比如说你的第一仗能打胜,后面的工作会容易开展好多,所以应对同事的质疑好的方法就是树立一个成功样板。
What——虚拟化实施及虚拟化技术
如何选择样本项目?
首先,要选择一个潜力股。好在公司内部去找最符合以下四个特征的业务,作为第一个虚拟化项目。
1.单进程,这是第一潜力股。如果我们的业务是单进程的业务,就非常容易做虚拟化,因为现在的CPU都是多核的,单进程的业务非常容易通过虚拟化的技术进行整合。
2.利用率不高,比如常年CPU利用率都是10%、20%,基础业务也非常容易整合。
3.频繁变动的业务,拿游戏行业来说,手游页游这种业务最愿意做虚拟化,因为通过虚拟化部署特点,可以解决它的痛点。
4.非核心业务,一开始我们尽量不要做核心业务,因为核心业务万一出了问题,影响很大,万一出了问题,压力就比较大。其实,像那种压力特别高的业务就不适合做虚拟化。
虚拟化项目实施周期
一般来说,按照以下这个流程去实施就能够保证比较稳定地将业务迁移到虚拟化环境。强调一点,做虚拟化的时候,尤其一开始一定要稳扎稳打,每一步都用数据说话,严格按照流程做。
先做业务的性能需求评估,就是收集业务的压力数据,提炼一个业务的压力模型。 根据压力模型设计一个虚拟化方案,虚拟化方案主要是虚拟化的比例如何选择、软硬件如何选型等。 搭建一个测试环境,首先进行系统方面的测试,然后进行业务方面的测试。业务方面的测试分为两层,业务逻辑测试和业务压力测试。 小规模部署,一般是找压力最低的一组测两周到四周。 全面部署,如果小规模部署没有问题就找压力比较大的一组再去测两周到四周。 如果都没问题,就可以按部就班逐渐地将业务迁移到虚拟化环境,直接进入虚拟化运维。
了解实施中要解决的问题
在实施过程中我们还要解决哪些问题?
1.稳定性。稳定性其实是一些技术方面的问题。
2.快速管理。稳定性解决好以后,我们可能会面临的是想快速地得到一台或者一批虚拟机,所以往往就需要一个管理平台。
3.与业务紧密结合。管理平台搞定之后,我们希望和其他的业务运维平台对接起来,我们希望虚拟机开起来的时候,我们的业务程序也能在里边,甚至一些业务配置也能跑起来。
4.要有一整套的监控、报警、应急响应预案。有问题早发现早解决。如果你迁移到虚拟化环境以后,将好多业务都放在宿主机上面,如果有一个宿主机故障,你的影响面要大很多。
软硬件选型
软件方面,对于生产环境我们一般肯定要选择稳定版本。但是,在稳定版本的基础上,内存版本越高越好,为什么?这里有一个数据,数据时间比较长,同样配置情况下CentOS 6.1和 CentOS 5.6的CPU计算能力的对比,CentOS 6.1要比CentOS 5.6好9%,就是内核版本越高,它的CPU中断和上下文切换优化得越好,同时网络IO、磁盘IO也优化得越好。
硬件方面,尽量一开始配置要稍微好一点,因为配置得越强悍,你可以虚拟的虚拟机越多,你最终肯定节省成本;另外,内存也要稍微大一点,因为你的宿主机跑上一段时间以后,往往你会发现内存不够,到时候又要加内存。最后,尽量选择主流品牌。