——大部分是翻译红帽的文档并加上个人的理解

一. 什么是虚拟化和迁移

1.1 什么是虚拟化

大多数虚拟化的实现都是使用能控制硬件的hypervisor,软件层或子系统,来提供客户操作系统。hypervisor允许同一个硬件系统上运行多个操作系统,该硬件系统提供虚拟化硬件给客户操作系统。

虚拟化操作系统的方法:

  • 全虚拟化
     全虚拟化需要处理器的硬件功能支持,允许客户操作系统不作任何更改就能运行于虚拟机中。红帽kvm采用硬件辅助虚拟化技术来实现全虚拟化。

  • 半虚拟化
     半虚拟化环境中的软件/客户操作系统需要经过更改后才能正常运行。

  • 软件虚拟化

1.2 什么是迁移

迁移就是将虚拟机从一个物理主机移动到另一个物理主机的过程。有两种迁移的方式:在线迁移和离线迁移

  • 离线迁移
     离线迁移将挂起客户操作系统,并移动虚拟机内存/磁盘的镜像到目标主机上。该虚拟机将在目标主机上重新启动,源主机中被此虚拟机占用的内存也将释放。(RHEL6.3及更高版才支持磁盘镜像的迁移)

  • 在线迁移
     在线迁移是将正运行的虚拟机从一物理主机移动到另一物理主机的过程。此过程中不会影响该虚拟机的使用。

1.2.1 迁移的好处

  • 负载均衡
     当某个主机超出负荷时,该主机的一个或多个虚拟机将通过在线迁移的方式迁移到其他主机。

  • 升级和变更主机
      当需要升级、添加或移除主机上的硬件设备时,虚拟机能被安全的重放到其他主机上。虚拟机并不会因为主机任何的改变而导致其他停机。

  • 节能
     如果主机使用率低的情况下,可以移走虚拟机,并关闭主机电源来节约能源,同时也降低成本。

  • 地址位置的迁移
     某些特殊情况下,可以在更低的延迟下将虚拟机移到另一个物理位置上。

1.3 虚拟化到虚拟化的迁移(V2V)

RHEL6提供将其他hypervisors的虚拟机转化到kvm的工具virt-v2v,virt-v2v可以转化和导入Xen,VMware ESX,Hyper-v和其他版kvm的虚拟机。

从RHEL6.5开始,virt-v2v可以转化和导入VHDX,VMDK,OVF,raw和qcow2格式的虚拟磁盘镜像。