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

[经验分享] kvm 静态迁移、基于nfs的动态迁移

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-15 09:03:48 | 显示全部楼层 |阅读模式
                      参考<kvm 虚拟化技术,实战与原理解析>
迁移:迁移包含系统整体的迁移和某个工作负载的迁移,按照迁移的特性可以分为以下几类:
        静态迁移(冷迁移):指迁移过程中明显有一段时间,客户机的服务不可用,它还可以分为两种,一种是完全关闭客户机后,将硬盘镜像复制到另外的宿主机再启动起来,这种不会保存客户机的工作负载状态; 还有一种并不完全关闭客户机而是暂停客户机,而后用快照之类的方式,把当前的状态做成快照,复制快照到新的宿主机上启动。
        动态迁移(热迁移):是指保证客户机上应用服务正常运行的同时,完成迁移,用户感受不到服务的变化,因为暂停服务的时间很短。所以,对一台服务比较繁忙的客户机,动态迁移是比较困难的。
       
kvm的保存工作负载状态的静态迁移:
        (1)在源宿主机上摁ctrl+alt+2 切换到monitor,使用以下命令保存客户机当前状态
                savevm  my_tag  #my_tag是自定义的名称
        (2)拷贝该客户机的镜像到新的宿主机上,用跟在源宿主机一样的命令参数启动镜像,并且使用到monitor模式使用以下命令恢复状态
                loadvm my_tag
        注意:savevm特性只有特定的镜像文件格式才支持,如qcow2,qed等。


        wKioL1hRAt-CGtYcAAEk2zoiZi8038.jpg
kvm基于nfs共享存储的动态迁移:
1.在使用共享存储的情况下,kvm的具体动态迁移过程为:
        (1)目的宿主机启动共享存储上的客户机镜像并监听一个套接字,用来接收客户机的信息
        (2)客户机依然在源宿主机上运行,与此同时客户机的内存页被传输到目的宿主机上
        (3)kvm监控并记录下迁移过程中所有已经被传输的内存页的任何修改
        (4)当所有的内存也被传输完成后,kvm开始传输内存页的修改内容
        (5)kvm估算迁移过程中的传输速度,当剩余的数据量能够在一个可设定的时间周期(kvm默认30ms)完成的时候,kvm关闭源宿主机上的客户机,并传输剩下的内容
        (6)目的宿主机收到最后的数据量,并依照这些数据恢复客户机的状态
       
        由上述过程可以得知,当内存的修改速度大于kvm传输内存的速度之时,kvm的动态迁移过程是完成不了的
       
2.具体实现:
架构:
源宿主机:192.168.2.127
目的宿主机:192.168.2.188
nfs服务器:192.168.2.138
(默认关闭selinux和iptables)

在192.168.2.138上:
        (1)配置nfs服务器(参考https://www.freebsd.org/doc/en_U ... ok/network-nfs.html,这里只搭建,不解释)
                yum install nfs-utils rpcbind -y #我的是centos6.5 默认已装rpcbind等,比较旧的系统好像rpc是portmap实现的,根据自己的情况来
                echo "/mydata 192.168.2.0/24(rw)" >/etc/exports
        #三段式命令,/mydata代表把这个目录export出去作为共享存储目录,192.168.2.0/24代表允许这个段的主机挂载,(rw)代表读写权限,各个用户主机可以对其读写
                chown -R nfsnobody:nfsnobody /mydata #因为用户挂载这个目录是以nfsnobody的身份来的,所以要能读这个目录读写,还必须让nfsnobody对其有写权限
                service nfs start
        (2)创建磁盘镜像
                dd if=/dev/zero of=/mydata/redhat6.5.img bs=1024 count=10240000
        (3)安装系统
                qemu-system-x86_64  -m 1024 -smp 1 -boot order=dc -hda /mydata/redhat6.5.img   -cdrom  install.iso  #install.iso是我利用kickstart制作的一键安装系统镜像
                chown -R nfsnobody:nfsnobody /mydata   #因为安装镜像用的root身份,需要对其读写还是要改回nfsnobody
               
在源宿主机上:
        (1)挂载nfs
                mount 192.168.2.138:/mydata /mydata
        (2)启动镜像
                qemu-system-x86_64  -m 1024 -smp 1 /mydata/redhat6.5.img  -net nic -net tap #网络方面的配置请参考我前面的文档,有现成的脚本
               
在目的宿主机上:
        (1)挂载nfs
                mount 192.168.2.138:/mydata /mydata        #这里的挂载的目录路径必须和源宿主机一样,原因的话可能是迁移过程中有路径依赖吧..个人猜测,有待查询
        (2)启动镜像
                 qemu-system-x86_64  -m 1024 -smp 1 /mydata/redhat6.5.img  -net nic -net tap -incoming tcp:0:6666       
                #启动参数必须和源宿主机一致,只是额外多了-incoming ,启动后会黑屏,它并不是向普通客户机那样启动,而是等待动态迁移数据的传入
        wKioL1hRBMKhs6_JAAB6M7o9Bwg440.jpg        
在源宿主机上:
        ctrl+alt+2 进入qemu monitor模式使用以下命令进行迁移:
                migrate tcp:192.168.2.188:6666
                wKiom1hRBNTg0ClgAACtI6piZoM043.jpg
        接下来就可以看到源宿主机的客户机黑屏,而目的宿主机的客户机成功启动,至此一个客户机的动态迁移完成。
wKioL1hRBOXw_ZXZAAB7sVE6KX0230.jpg
                   


运维网声明 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-314495-1-1.html 上篇帖子: RHCE之本地源制作、HTTP发布镜像用于KVM的VM新安装过程 下篇帖子: kvm cgroup的使用 动态
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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