kvm虚拟机迁移分为4种
(1)热迁移基于共享存储
(2)热迁移基于本地存储
(3)冷迁移基于共享存储
(4)冷迁移基于本地存储
这里介绍的是基于本地存储的热迁移
动态块迁移版本要求
qemu版本要求 大于或等于0.12.1(centos6.7或以上都没问题)
rpm -qa|grep qemuqemu-kvm-0.12.1.2-2.491.el6_8.1.x86_64qemu-kvm-tools-0.12.1.2-2.491.el6_8.1.x86_64
目标宿主机:192.168.1.24 机器名:CQ-KVM01
源宿主机:192.168.1.26 机器名:CQ-KVM02
迁移使用tcp认证方式
kvm虚拟机名称,是一台跑nginx的虚拟机:CQ-NGINX01
1、配置libvirtd服务 源宿主机和目标宿主机都要执行
vi /etc/libvirt/libvirtd.conflisten_tls = 0 listen_tcp = 1tcp_port = "16509"listen_addr = "0.0.0.0"auth_tcp = "none"mdns_adv = 0
解释
listen_tls:关闭tls,默认是开启的 listen_tcp :开启tcp认证 tcp_port:tcp端口配置,默认端口是16509 auth_tcp:配置是否开启口令认证,默认不开启 mdns_adv:是否开启mdns组播,默认关闭sed -i 's/^#listen_tls = 0/listen_tls = 0/' /etc/libvirt/libvirtd.confsed -i 's/^#listen_tcp = 1/listen_tcp = 1/' /etc/libvirt/libvirtd.confsed -i 's/^#tcp_port = /"16509/"/tcp_port = /"16509/"/' /etc/libvirt/libvirtd.confsed -i 's/^#listen_addr = /"192.168.0.1/"/listen_addr = /"0.0.0.0/"/' /etc/libvirt/libvirtd.confsed -i 's/^#auth_tcp = /"sasl/"/auth_tcp = /"none/"/' /etc/libvirt/libvirtd.confsed -i 's/^#mdns_adv = 1/mdns_adv = 0/' /etc/libvirt/libvirtd.conf
cat libvirtd.conf |grep -iE "listen_tls"cat libvirtd.conf |grep -iE "listen_tcp"cat libvirtd.conf |grep -iE "tcp_port"cat libvirtd.conf |grep -iE "listen_addr"cat libvirtd.conf |grep -iE "auth_tcp"cat libvirtd.conf |grep -iE "mdns_adv"
2、配置libvirtd监听方式,无论是tcp,ssh,tls认证方式都需要配置 , 源宿主机和目标宿主机都要执行
vi /etc/sysconfig/libvirtdLIBVIRTD_ARGS="--listen"
3、编辑/etc/libvirt/qemu.conf文件 源宿主机和目标宿主机都要执行
vi /etc/libvirt/qemu.confvnc_listen = "0.0.0.0"
解释
4、重启libvirtd服务,使配置生效, 源宿主机和目标宿主机都要执行
/etc/init.d/libvirtd restart
5、检查端口和进程,libvirtd是否监听16509端口, 源宿主机和目标宿主机都要执行
netstat -lntp | grep libvirtd
tcp 0 0 0.0.0.0:16509 0.0.0.0:* LISTEN 48825/libvirtd
修改iptables脚本,放行16509端口和49152端口
#ACCESS kvmiptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5909 -j ACCEPTiptables -A INPUT -p tcp --dport 16509 -j ACCEPTiptables -A INPUT -p tcp --dport 49152 -j ACCEPT
新闻热点
疑难解答