设为首页 收藏本站
查看: 1580|回复: 0

[经验分享] 通过virt-manager 利用NFS创建、迁移虚拟机2

[复制链接]

尚未签到

发表于 2017-6-24 19:27:18 | 显示全部楼层 |阅读模式
前面一篇文章介绍了利用NFS创建虚拟机的过程,本文就介绍下如何利用NFS对虚拟机进行动态迁移。
动态迁移就是把一台虚拟机在不停止其运行的情况下迁移到另一台物理机上。这看起来似乎不太可能,不过还好kvm本身就支持者一特性,且libvirt也提供了相应的API,我们可以通过virsh命令或者virt-manager对虚拟机进行动态迁移。
进行动态迁移由于不间断虚拟机的运行,所以其所需的条件就必要多:
1、两台虚拟机的虚拟化环境必须一致,libvirt版本、qemu版本。
2、两台物理机必须有着相同的共享目录,即把NFS服务器上的镜像文件夹挂载到相同目录下
3、源主机需要配置DNS,这样LIbvirt才可以找到目的主机,hostname可以自己命名
4、物理主机开启nfs虚拟化支持
5、给qemu设置root权限

为了迁移成功,我们先检查下上述条件:
1、
目的主机:
DSC0000.png
源主机:
DSC0001.png
前面两行是在安装vtpm引起的,这里不影响,可以看到这里的虚拟化环境是一致的。
2、NFS共享文件挂载目录
目的主机:
DSC0002.png
源主机:
DSC0003.png
由于不需要安装虚拟机,所以我们就不用挂载ISO目录。可以看到这里镜像文件目录结构是一样的。

3、检查目的主机和源主机的域名配置
目的主机域名查看
DSC0004.png
源主机:

DSC0005.png
这里注意修改了host文件后注意重启网络服务生效。

4、检查selinux中nfs对虚拟化支持的相关选项
目的主机:
DSC0006.png
源主机:
DSC0007.png
5、给qemu设置root权限:
源主机:
在/etc/libvirt/qemu.conf
DSC0008.png
目的主机:
DSC0009.png
注意设置以后要重启libvirtd服务:systemctl restart libvirtd.service

6、执行迁移
(1)迁移前虚拟机的标签:

DSC00010.png
DSC00011.png


迁移之后:
DSC00012.png
可以发现其实sVIrt标签已经变化了,即在动态迁移过程后,虚拟机的隔离性依然有效。


当然在利用NFS迁移的过程中也有一些问题,总结如下:  Question1:
  unable to migrate guest: internal error: Attempt to migrate guest to the same host domain
  Solution1:
  1、在/etc/hosts中添加$(target IP) domain
  2、重启网络服务
  Question2:
  internal error: hostname on destination resolved to localhost, but migration requires an FQDN
  solution2
  1、在对方运行hostname domain
  Question3:
internal error: process exited while connecting to monitor: 2016-09-04T06:11:21.526046Z qemu-kvm: -drive file=/nfsFile/images/ubuntu12.04.qcow2,if=none,id=drive-ide0-0-0,format=qcow2: could not open disk image /nfsFile/images/ubuntu12.04.qcow2: Could not open '/nfsFile/images/ubuntu12.04.qcow2': Permission denied。

Solution3:

1、应该是在对方或者本地没有开启virt_nfs_use

2、运行setsebool virt_nfs_use on

  Question4:
  问题1和问题2每次执行迁移时都会遇见,不晓得为何!
  Solution:
  想了许久终于明白,这里需要在source主机添加目的主机的域名,即修改source主机的/etc/hosts文件添加:
  源IP targetname
  //targetname 为目标主机的hosname,如果不清楚可以在目标主机执///行hostname查看下。
  但是默认情况下,hostname是localhost.localdomain,而这个会被libvirt认为是本地,所以会拒绝,那么就只能给目标机器修改一个hostname,然后在源主机上配置DNS解析即可。

至于前面为何出现那种情况,是因为我们如果利用hostname命令修改了hostname,那么/etc/hosts中的设置就失效,那么就需要重启网络服务,而一旦重启,那么下次在使用domain这个域名就会失效,仍然需要利用hostname设置,就这样形成循环。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387673-1-1.html 上篇帖子: 整理齐全 下篇帖子: 制作Ubuntu14.04的Openstack镜像
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表