KVM虚拟化集群技术概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KVM虚拟化集群技术概述
一、虚拟化集群介绍、设计思路及架构
使用虚拟化集群的目标是克服单机虚拟化的局限性,利用技术
手段提高虚拟机可用性,最终达到业务不中断或者减少中断时间,确保业务数据更安全的目标。
1. 虚拟化集群介绍
1)什么是虚拟化集群
虚拟机集群最显著的特征是有共享存储,因为有了共享存储,
虚拟机就可以实现非常快速的在线迁移,并在虚拟化层配置高可用。笔者在生产环境使用的集群有两种存储方式,基于商业存储和基于开源分布式文件系统。
2)虚拟化集群的高可用和基于应用层高可用的区别
高可用是经常用到的运维技术,在系统、网络、数据库、Web
业务等各个应用层面都有使用。高可用技术是指至少有主备两个节点,当主节点故障的时候,迅速切换到备用节点。为了避免备用节点误判,有时候还有第三个节点,或者主节点和备用节点共同能访问到的存储
空间,用于做仲裁判断。应用层面的高可用还有一个特点,就是一般都有浮动IP,当切换发生的时候,IP从主节点漂移到备用节点。应用层面的高可用一般切换时间比较快,从几毫米到几秒中,同时应用层面的高可用一般需要专用软件,比如常用的Keepalived,Heartbeat 等。
虚拟化层面的高可用是虚拟机系统层面的高可用,即当一台计算节点故障的时候,在另外一台计算节点上自动将故障节点上的虚拟机启动起来。注意如果虚拟机上的业务不能做到开机自启动,即使虚拟机自动启动了,并不能保证业务层面的自动恢复!
另外还有一个问题,就是即使虚拟机启动起来了,当启动到一半虚拟机的系统卡住了,也不能及时恢复业务!
虚拟化层的高可用一般业务恢复实际是系统重启的时间,加上业务开机自启动的时间,通常是分钟级别。
虽然虚拟化层高可用有业务不能恢复的风险,业务恢复时间也相对比较长,但是虚拟化层高可用有个非常巨大的优势,就是不需要在应用层面配置,大大的拓宽了高可用的适用范围,使原来在应用层难以使用高可用技术的应用,也能做到高可用,尤其是在某些专用的软件领域。
其实虚拟机层高可用和应用层面高可用并不矛盾,在虚拟机的系统里面,也可以配置应用层面的高可用,做这样的配置的时候,注意主备节点放置到不同宿主机上!
3)虚拟化集群后端存储的使用
最早的时候,笔者在生产环境使用的集群都是以机柜为单位的小集群,主要因为笔者一直搭建的是私有云,在IDC机房里面机柜都是要计算费用的,为了充分利用资源,合理节省成本,笔者私有云一个设计思想就是能够按照机柜,灵活扩展或者伸缩。
后来随着虚拟化的规模扩大,也进行了一些基于开源分布式文件系统集群的搭建,基于开源分布式文件系统的集群,规模可以更大,扩展性更好,适用于KVM的开源分布式文件系统在第9章、第10章都有详细的介绍。开源的虚拟化管理平台,本书第11章、第12章、第13章有详细介绍,所以本章不再介绍开源分布式文件系统及管理平台。
2. 使用虚拟化集群的优势
虚拟化集群相对于单机虚拟化,有以下几点优势:
q 快速的在线迁移(Live Migration),设备、系统维护造成的业务计划内停机时间减少到零。
q 高可用(HA),一台计算节点故障,上面的虚拟机可以很快在其他计算节点上启动运行起来,极大缩短计划外停机时间。
q 动态资源调度,业务负载发生变化引起计算节点压力分布不均匀时,可手动或者自动平衡物理机负载。也可在整体压力较低的时间段,将虚拟机集中在部分计算节点上,将不用的计算节点临时关闭,达到节能的目标。
q 业务快速部署,集群将资源池化,通过和管理平台结合,在集群的容量范围内,业务部署的速度非常快。
q 数据更安全,后端存储采用冗余度更高的商业存储,或者分布式文件系统,数据可靠性可以达到99.99%以上。
q 网络速度、可靠性更高,集群网络采用冗余架构,网络设备、网络连接都是双冗余,网络速度更高,可靠性也更高,单台网络设备、单根网线、单个网卡故障都不会引起网络中断。
提示:
1)什么是计划内停机与计划外停机
计划内停机是指可预期可计划的停机,比如定期的维护,提前通告的维护。计划外停机是指突发事件引起的停机事件,比如硬件故障,网络DDOS攻击等。一般计划内停机因为是提前预知的,会做好预防措施,不会有数据丢失,对业务的损失是比较小的。计划外停机则因为是突发事件,对业务的损失要大很多。运维的重要职责之一就是通过技术手段减少计划外和计划内停机时间,对虚拟化来说,虚拟化集群能够做到在线虚拟机迁移,并且是全冗余设计,需要计划内硬件和软件维护的时候,可以做到计划内停机时间为零。当宿主机发生紧急硬件故障的时候,虚拟机可以很快在其他宿主机上开起来,所以虚拟化集群也能有效降低计划外停机。
2)在线迁移并不是灾备手段
在线迁移实际迁移的是虚拟机的内存,当宿主机发生故障的时候,虚拟机的内存信息已经丢失了,这时候是不能再去做虚拟机的在线迁移的。所以在线迁移解决的是有计划的维护问题,比如要升级宿主机内存,可以将宿主机上的虚拟机在线迁移到其他宿主机上,内存升级完成后,在将虚拟机在线迁移回来。
3. 集群设计及架构
1)虚拟化集群设计
为保证虚拟机的尽量的在线时间,灵活的扩展,虚拟化集群的设计需要满足以下要求:
q 有共享存储,虚拟机能够在线迁移;
q 通过增加计算节点、存储、网络设备可以横向扩展;
q 没有单点故障,计算节点有多个,商业存储为双控制器,分布式文件系统镜像写多份,网络设备冗余;
q 性能满足要求,并且通过增加设备,性能可以扩展
2)虚拟化集群的架构
一套虚拟化集群体系包括以下组成部分:
q 若干计算节点,承载虚拟机的计算、内存、网络资源;
q 管理节点及管理平台,管理虚拟机的镜像,虚拟机生成、维护、销毁的生命周期,虚拟机的调度;
q 后端存储,存储虚拟机镜像存放;
q 网络设备。
二、虚拟化集群技术方案
1. 前端计算
虚拟化集群前端计算节点可以使用普通机架式服务器,也可以使用刀片服务器。
1)机架式服务器做为计算节点的优缺点
机架式服务器做为计算节点的优点是:
q 架构简单,安装配置方便;
q 扩展节点数量和升级较为容易;