KVM在线迁移

使用libvirt进行基于共享存储的动态迁移。好像kvm-qemu的版本高一点都不需要配置共享存储。 一共需要三台主机:

  • 两个基于kvm的客户虚拟机
  • 一个NFS服务器,也可以用iSCSI,但是我觉得NFS简单一点

遇到的问题:

  1. 创建虚拟机时Failed to connect socket to ‘/var/run/libvirt/libvirt-sock’: No such file or directory

    1
    2
    3
    4
    #解决方法:
    virsh 'net-list '
    service libvirtd restart
    /etc/init.d/libvirt restart
  2. 挂载NFS的时候,要挂载到虚拟机镜像的路径。NFS服务器要关闭防火墙

  3. 迁移的时候遇到错误error: internal error hostname on destination resolved to localhost, but migration requires an FQDN

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #解决方法:配置FQDN 
    hostname --fqdn
    sed -i "s/HOSTNAME=.*$/HOSTNAME=KVM-1/g" /etc/sysconfig/network
    hostname KVM-1
    cat /etc/hosts
    echo "192.168.30.131 KVM-1" >> /etc/hosts
    echo "192.168.30.132 KVM-2" >> /etc/hosts
    hostname --fqdn
    exit