金山运维肖力:如何将业务迁移到虚拟化环境并稳定运行(1)
2016-02-20 19:33:25 来源: 高招CTO训练营 51CTO.com 评论:0 点击:
▼监控报警
硬件故障报警,我现在主要是使用带外管理卡报警,新一代服务器,带外管理卡监控已经非常完善,CPU 、内存、磁盘、网卡、风扇、电源任何硬件故障都会报警,通过邮件,或者写脚本和自己的监控平台结合,可以很好的解决硬件报警的问题。
CPU方面,建议每个核的CPU利用率也监控起来,经常会碰到一种情况,就是整体的CPU利用率不高,可能只有20-30%,但是有一两个核已经100%了,这时候其实已经碰到压力瓶颈了,但是通过整体的CPU利用率是发现不了的。
内存方面,swap利用情况建议也监控起来,作为虚拟化来说,一般不希望宿主机使用swap分区,所以swap的使用要监控起来,方便出问题的时候排查,如果有大量的swap使用,应该设置报警,如果报警肯定是碰到性能问题了。
磁盘、网络方面,虚拟化磁盘、网络是两个难点,一般在上线之前,应对其性能进行压力测试,得到极限数据,然后根据极限数据设置报警阀值。
▼灾备及应急响应
虚拟化的灾备有两种思路,应用层灾备及虚拟化层灾备,一般建议在应用层灾备。虚拟化层灾备的手段是多份的镜像复制及快照,这个往往要消耗大量的资源,多份复杂是以牺牲几倍的磁盘空间为代价,快照是以牺牲性能为代价。
往往应用层做了很少的改动,虚拟化层是不能感知的,只是全部备份,或者快照。
但是在应用层灾备就简单很多,只需要备份改动的部分,消耗的资源很少,而且速度很快。一般我们在生产环境的做法是,备份虚拟机的xml文件,当故障发生时,提供一台配置一模一样的虚拟机,如果有需要mac地址也保持一致,然后交给业务方进行恢复。
灾备还要注意,定期演练非常重要,一方面是验证自己的灾备几种,一方面也是让参与的人能熟悉灾备过程,这样当发生问题的时候,就可以很快的恢复业务。
▼软硬件选型
软件方面,当然是稳定版本,但是在稳定版本的基础上,内核版本越高越好,为什么呢?因为内核版本越高,对CPU的上下文切换和中断优化的越好,越有利于提高宿主机转化率。Windows系统也一样,Windows虚拟机建议尽量使用比较新的版本。
硬件方面越强悍越好,内存越大越好,硬件越强悍,可以虚拟的虚拟机越多,从长时间综合来看,肯定是节省成本的。另外,一台宿主机,使用上一段时间,我们往往发现内存是瓶颈点,所有一开始的时候,尽量内存配置高一点,可以避免随后的内存瓶颈。
▼下面分享最后一项内容,就让我对公有云选择的一些经验:
用户选择公有云的主要因素有以下5条:
1、市场
主要是价格,其中有些公司和某些公有云就有合作,或者就是老板强制指定必须使用某款公有云。
2、云主机稳定性
选择公有云,对用户来说,最终用的就是云主机,所以云主机的稳定性也是重要因素,不可以出现云主机三天两头崩溃、重启,甚至数据丢失。
一般稳定性公有云都能做到。
3、网络覆盖及网络质量
在云上业务都是基于网络,网络质量是一个很关键的因素,网络质量包含多个因素:
覆盖范围,覆盖范围越广越好。
延时,丢包,抖动,就是延时、丢包符合要求,网络抖动不能很频繁。
这个因素往往容易被忽略。
4、大数据分析、RDS、运维工具支持
如果公有云能提供API,提供一套方便业务部署监控的工具,对用户也有一定的吸引力,尤其是运维。
5、如果能提供物理机云主机的混合云是一个杀手级的解决方案。
业务压力非常高,就需要物理机的支持,现在可以看到好多公有云也开始支持物理机的租用。
将业务迁移到云上,其实和虚拟化的过程是一样的,按照前面介绍的流程去做,可以保证比较稳定的完成,而且虚拟化的具体技术还不用我们关心。
▼最后,总结下今天分享的内容:
在企业内部实施虚拟化,最重要的是口碑,如果一个项目接一个项目成功实施,就会越做越顺利,相反,如果连续失败1,2项目,虚拟化就推行不下去了。
我的分享结束了,欢迎大家提问,感谢!
接下来是QA环节:
1、企业现有一大堆dell服务器,业务也比较多并杂,您建议选择那种整合的虚拟化方案或私有云方案?
答:这个问题非常好。如果是过老的机器,不建议当宿主机使用。具体的虚拟化方案是很复杂的问题,要根据业务、预算、应用来选择。
2、一个关于vpc网络的问题。当私有云有多个无法汇聚网段的时候,经常出现vpn网络不稳定,尤其网络物理链路中断后,也不能自动恢复vpn链接,估计可能的问题有哪些?
答:可以考虑使用专线的方式,如果基于公网不能保证稳定性。
为大家推荐关注:
更多内容等你来
上一篇:去哪儿网使用的MySQL自动化运维工具Inception介绍
下一篇:运维朋友们,别再问需不需要学Python了