kvm动态热迁移时虚拟机报错
报错:
[root@kvm01 ~]# virsh migrate vm01 --live --unsafe qemu+ssh://192.168.124.243/system
错误:unable to connect to server at ‘kvm02:49152’: Connection timed out
原因及分析:
首先根据报错认为目标宿主机49152端口不可达,最后发现是host文件内配置的解析为 192.168.31.242 kvm02,而实际kvm02 的IP为192.168.124.242,所以解析时将"kvm02:49512"解析为了"192.168.31.242:49512" 错误的IP地址,所以才会出现目标不可达。
后面还会附加非hosts文件导致的问题解决方式
解决方式:
方式一:修改或添加hosts解析
1.打开编辑hosts文件
vi /etc/hosts
2.修改文件内容
目标IP 目标hostname
192.168.124.242 kvm02 //根据自己的IP进行更改,这里只做教学
192.168.124.241 kvm01 //两台互相加上对端IP解析,可以进行互相迁移
3.修改后验证是否解析成功
ping 对端hostname
-- ping kvm02
//可以ping通代表hosts修改正确
方式二:关闭可能影响的服务
1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld //关闭开机自启
2.关闭selinux防火墙
setenforce 0
永久关闭修改配置文件
vi /etc/
vi /etc/selinux/config
--SELINUX=enforcing //二者存一,另一个注释掉,这个是允许开机自启
--SELINUX=disabled //禁止开机自启
3.关闭iptables防火墙
systemctl stop iptables
方式三:通过放端口方式
CentOS6.* 的linux版本是自带iptables,可直接使用该方式。
CentOS7默认不自带iptables,如使用该方式,请手动安装iptables后使用。
需根据自身需要开放所需端口
1.通过防火墙firewalld方式
firewall-cmd --zone=public --add-port=16509/tcp --permanent
命令含义:
--zone #作用域 public 表示作用域为公共的
--add-port=16509/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
2.通过iptables方式
a)
#开放端口:49512
/sbin/iptables -I INPUT -p tcp –dport 49512 -j ACCEPT
b)
#开放端口:49512
-A INPUT -m state –state NEW -m tcp -p tcp –dport 49512 -j ACCEPT
service iptables restart