Ubuntu 12.04 KVM之VM静态迁移-基于镜像

  

       静态迁移:也叫作常规迁移、离线迁移(Offline Migration)。就是在虚拟机关机或暂停的状况下从一台物理机迁移到另外一台物理机。由于虚拟机的文件系统创建在虚拟机镜像上面,因此在虚拟机关机的状况下,只须要简单的迁移虚拟机镜像和相应的配置文件到另一台物理主机上;若是须要保存虚拟机迁移以前的状态,在迁移以前将虚拟机暂停,而后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程须要显式的中止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。 python

        两台dell R710,两台作宿主机上面安装kvm虚拟机,主要实验kvm的vm静态迁移过程。 shell

        Ubuntu-src、Ubuntu-dst,kvm的安装以在Ubuntu-src为例: ubuntu

在Ubuntu-src、Ubuntu-dst上都须要安装如下软件包 ssh

apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe bridge-utils
如下的操做均在Ubuntu-src上面执行:

查看cpu及BIOS是否开启虚拟化支持,BIOS的检查在开机启动时,按F2检查,cpu按照以下命令检查: 工具

egrep '(vmx|svm)' --color=always  /proc/cpuinfo
修改网卡配置(/etc/network/interfaces),创建桥接,以下:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 10.1.6.90
        netmask 255.255.255.0
        gateway 10.1.6.254
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off
安装基于image的vm,进入/opt目录,导入一个debian6的iso安装镜像,而后用kvm-img生成一个vm image
kvm-img create -f qcow2 debian.img 5G
采用virt-install方法管理虚拟机,安装如下工具包:
apt-get install libvirt-bin virtinst
安装kvms虚拟机
virt-install -d -n kvms -r 2048 --disk path=/opt/debian.img,bus=virtio,cache=none,format=qcow2 --network bridge=br0,model=virtio --vnc --cdrom=/opt/debian-6.0.2.1-amd64-CD-1.iso
使用vnc打开安装界面

接下来按照正常的安装过程一步一步安装完毕后,重启虚拟机,由于使用virt-install安装完虚拟机后,默认虚拟机是不启动的,因此须要先启动虚拟机。

能够看到kvms虚拟机已经启动了,在Ubuntu-src上ssh登陆kvms: oop

      

       接下来进行静态迁移 ui

       先在Ubuntu-src上关闭kvms虚拟机,并把/opt/debian.img文件拷贝至Ubuntu-dst的/opt目录下面,并把kvms虚拟机的配置文件/etc/libvirt/qemu/kvms.xml拷贝至Ubuntu-dst的/etc/libvirt/qemu的目录下。 spa

scp /opt/debian.img root@10.1.6.228:/opt
scp /etc/libvirt/qemu/kvms.xml root@10.1.6.228:/etc/libvirt/qemu
以下图

 

接下来全部的操做转移至Ubuntu-dst上进行操做: code

查看Ubuntu-dst上有哪些虚拟机在,由于Ubuntu-dst上尚未运行虚拟机,因此看不到有虚拟机: orm

virsh list --all

使拷贝过来的kvms的配置文件生效,而后再次查看系统中的虚拟机,就会看到kvms了:

virsh define /etc/libvirt/qemu/kvms.xml
virsh list --all

启动Ubuntu-dst上的kvms虚拟机,并登陆kvms虚拟机:

virsh start kvms
ssh root@10.1.6.237
整个过程以下:

能够看到kvms已经运行在Ubuntu-dst上了,这时不能在Ubuntu-src上启动原有的kvms虚拟机,由于这时MAC和IP会冲突的,也能够修改Ubuntu-src上的kvms的配置文件后,再次启动它。


最简单的静态迁移就完成了,显然这种虚拟机不适合在线上大规模部署,而且大量的镜像文件管理起来也很混乱,根据业务可容许中断的时间,决定是否使用该模式。

相关文章
相关标签/搜索