单机虚拟化实战_java

单机虚拟化--其实很美丽


先上结论:

1 有些朋友可能觉得单机虚拟化不可靠,其实根据我的经验,单机虚拟化可用性达到99.95%以上没有问题的。

2 单机虚拟化同样的可以动态在线迁移,只是迁移过程要迁移存储,整个过程比较慢。

3 单机虚拟化的存储方式,在公有云/虚拟化中得到大量的使用,是最普遍的存储形式之一。


来看下我的一个调查 :

单机虚拟化实战_java_02

可以看到单机虚拟化的比重还是非常高的。


先简单介绍下,什么是单机虚拟化:

单机虚拟化实战_java_03

单机虚拟化的形式是一台宿主机虚拟几台虚拟机,虚拟机的计算、存储、网络都在这台宿主机内,是一种非常灵活的虚拟化方式,它不对原有的环境做任何改变,一台宿主机,放到机房,虚拟化就搞起来了。


单机虚拟化部署灵活,性价比非常高,是生产环境应用最广泛的虚拟化方式,应用场景非常广泛。

主要有以下场景:

老业务迁移到虚拟化环境,为了保持业务兼容,保持ip等因素不变(物理机转虚拟机P2V);

物理位置零散分布的业务;

对成本敏感的业务;

对性能要求非常高的业务;



单机虚拟化的优势和劣势:

1.单机虚拟化的优势

(1)单机虚拟化有很好的成本优势

(2)单机虚拟化具有很高的灵活性

(4)单机虚拟化单虚拟机性能高

(5)单机虚拟化故障影响面小

2.单机虚拟化的劣势

(1)单机虚拟化难以统一管理

(2)单机虚拟化故障恢复慢,有可能虚拟机彻底丢失


单宿主机迁移方案,根据虚拟机的状态,可以分为两类:

冷迁移;

热迁移。


冷迁移

需要虚拟机关机,然后通过程序、脚本或者命令,将虚拟机的镜像文件从一台宿主机复制到另一台宿主机,然后配置虚拟机的xml配置文件,将虚拟机在新的宿主机上开机,整个过程就完成了。

需要注意的时候的是,新老宿主机上的网卡对应关系,需要一致,否则虚拟机开机之后网络会不通。


热迁移

是在虚拟机运行的过程中,在线将一台虚拟机从一台宿主机上迁移到另一台宿主机上,迁移过程对虚拟机基本没有影响。


例如使用如下命令,将虚拟机vm_centos65x64迁移到宿主机192.168.1.21上:

[root@gcloud-qd-c1-169 ~]#/usr/bin/virsh --connect qemu:///system migrate --live --copy-storage-all --persistent --undefinesource vm_centos65x64 qemu+ssh://192.168.1.21/system


虚拟机的热迁移技术,最初只在有共享存储的集群虚拟化场景中提供支持的,在CentOS6.5之后,开始支持对无共享存储环境下的虚拟机热迁移。两个场景虽然不同,但是原理基本上是一致的,只是无共享存储的场景下,先要迁移磁盘存储,然后迁移虚拟机内存,消耗的时间会长很多。



什么是动态迁移

动态迁移(Live Migration)也叫在线迁移(Online Migration),即保证不中断业务的情况下将虚拟机从一台宿主机迁移到另外一台宿主机,整个过程对用户是透明无影响的。


动态迁移又可分为基于共享存储和基于本地存储两种方式:

基于共享存储的动态迁移在迁移过程中虚拟机的磁盘因为存放在共享存储中,所以虚拟机磁盘不需要迁移,只需要将存放在虚拟机内存中的数据迁移到目标宿主机上即可。

单机虚拟化实战_java_04


单机虚拟化实战_java_05


单机虚拟化可用性如何达到99.95%,主要是做好监控和预案:


首先,是硬件级别的灾备和应急方案。

服务器的带外管理卡报警功能充分利用,目前的服务器管理卡有任何的硬件故障都可以报警,磁盘、CPU、内存、网卡、风扇、电源等等。


单机虚拟化实战_java_06

然后是有充足的预案,我们的单机虚拟化灾备预案。


内容

操作序号

解决方案

硬件故障

单块磁盘故障

更换硬盘

RAID卡故障

硬盘迁移到备机

物理机宕机

硬盘迁移到备机

系统、数据故障

Linux系统崩溃

修复/重装

数据卷损坏(磁盘物理无故障)

使用数据恢复技术尝试