首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

KVM 实现虚拟机在线热迁移

1、冷迁移 通常我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,而这个磁盘通常是LVM文件系统。所以需要进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就可以看到要迁移的那个虚拟机的磁盘文件,通常以.qcow2或.raw结尾的,然后,只需将虚拟机的.xml配置文件发送到目标服务器上,然后重新定义一下即可通过“virsh list --all”命令查看到迁移过来的虚拟机。 2、热迁移 如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状 态、内存中的内容、虚机设备的状态到目的主机上。否则,还需要将客户机的磁盘存储发到目的主 机上。共享存储系统指的是源和目的虚机的镜像文件目录是在一个共享的存储上的。 在基于 共享存储系统 时,KVM 动态迁移的具体过程为: 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。 2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。 3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。 4、至此,KVM 的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。注意,当客户机中内存使用率非常大而且修改频繁时,内存中数据不断被修改的速度大于KVM能够传输的内存速度时,动态迁移的过程是完成不了的,这时候只能静态迁移。 3、迁移的注意事项 无论是冷迁移还是热迁移,注意事项大都差不多

01

CVS的迁移

cvs的迁移 1,把原dell2950上的rhel3 的/cvs目录做成 nfs共享 2,在新dell720上的rhel5.8上挂载nfs共享,并复制 mount -t nfs rhel3:/cvs /mnt  (新服务器上) cp -aP  /mnt /cvs  (新服务器上的帐号在前面已经迁移好,主要这样做是为了保证权限一致) 3,rhel5.8上安装cvs,cvs-inetd cvs-1.11.22-11.el5 cvs-inetd-1.11.22-11.el5 4,编辑/etc/xinetd.d/cvs文件(这里多project的配置方法,原那个地方直接注释也可以多project) cat /etc/xinetd.d/cvs # default: on # description: The CVS service can record the history of your source \ #              files. CVS stores all the versions of a file in a single \ #              file in a clever way that only stores the differences \ #              between versions. service cvspserver {         disable                 = no         port                    = 2401         socket_type             = stream         protocol                = tcp         wait                    = no         user                    = root         passenv                 = PATH         server                  = /usr/bin/cvs #       env                     = HOME=/var/cvs         server_args             = -f --allow-root=/cvs --allow-root=/cvs/project1  --allow-root=/cvs/project2  --allow-root=/cvs/project3 --allow-root=/cvs/project4 --allow-root=/cvs/project5 #       bind                    = 127.0.0.1         only_from               = 172.16.10.0/24 5,重启xinetd 6,客户端测试 $tail -n 1 .bash_profile export CVSROOT=:pserver:user1@cvsserver:/cvs/project1 18:07:54 user1@cvsserver (~) [103]$cvs login Logging in to :pserver:user1@cvsserver:2401/cvs/project1 CVS password: 输入密码即可 $cvs checkout someone

02
领券