虚拟机迁移

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟机迁移

静态迁移是指在虚拟机关闭或暂停的情况下,将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行,对服务可用性要求高的需求不合适。

动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件,可以通过多种方式实现,本例采用基于共享存储动态迁移,通过NFS(Network File System网络文件系统)来实现。

源宿主机:Ubuntu16.04操作系统,下文中以“节点1”表示,NFS挂载目录/home/kvm。

目标宿主机:Ubuntu16.04操作系统,下文中以“节点2”表示,NFS挂载目录/home/kvm。

基于QEMU的动态迁移虚拟机镜像文件为ubuntu14.04.img。

NFS服务器:Ubuntu16.04操作系统,服务目录为/mnt/nfs/。

1、NFS服务器配置

(1)KVM虚拟机动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的

主机之间有相同的目录结构放置虚拟机磁盘文件(本例为“/home/kvm”目录),这里的动态迁移是基于共享存储动态迁移,通过NFS来实现,需要QEMU

0.12.2以上版本支持。可以使用“qemu-img --help|grep version”来查看

安装的QEMU的版本号。

(2)在VMware中将宿主机克隆,“经管”----“克隆”。源宿主机为节点1,克

隆的机器作为目标宿主机,为节点2。克隆步骤如下:

(3)修改节点2中的IP地址(修改为和你的节点1同一网段的IP)。只需修改

IP即可,其他不用改动,命令如下:

root@ubuntu:~# vim /etc/network/interfaces

修改完毕后,重启网络

root@ubuntu:~# /etc/init.d/networking restart

[ ok ] Restarting networking (via systemctl): networking.service.

(4)在节点2上安装NFS服务器。使用命令“sudo apt-get install

nfs-kernel-server nfs-common”下载安装NFS,kernel-server相当于server端,common是client端,如图所示:

安装NFS

(5)在节点2上配置NFS服务器,将NFS服务器上的“/mnt/nfs”目录设为服务

目录。首先使用命令“sudo mkdir /mnt/nfs”创建该目录,然后使用命令“sudo chmod 777 /mnt/nfs”修改该目录权限,修改后在“/mnt”目录使用“ls -l”命令查看,如图所示。

创建nfs目录并修改其权限

(6)在节点2上,使用vim打开修改“/etc/exports”文件添加共享目录,在该

文件最后添加“/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)”

一行即可。/mnt/nfs表示要设置的共享目录,*表示允许所有的网段访问,也可以使用具体的IP。rw表示挂载此目录的客户端对该共享目录具有读写权限。sync表示资料同步写入内存和硬盘。no_root_squash:root用户具有对根目录的完全经管访问权限。no_subtree_check:不检查父目录的权限。

修改完毕后保存退出。

在exports中添加共享目录

(7)在节点2上,“/etc/exports”文件修改后,使用命令“sudo exportfs –r”

刷新。然后启动NFS服务,命令如下:

sudo /etc/init.d/rpcbind restart

sudo /etc/init.d/nfs-kernel-server restart

(8)在节点2上,NFS服务启动后,使用命令“showmount –e 192.168.70.201”

查看NFS的共享目录,“192.168.70.201”为节点2的IP地址,showmount 命令用于查询NFS服务器的相关信息,“-e”显示输出目录列表。

(9)在节点2上,将虚拟机的虚拟磁盘文件ubuntu14.04.img拷贝到NFS服务器

(还在节点2)的共享目录“/mnt/nfs”下。

(10)分别在节点1和节点2上执行以下操作(如果在节点1出错,参阅下一

步):

1、使用“mkdir /home/kvm”创建“kvm”目录

2、使用命令“mount –t nfs 192.168.70.201:/mnt/nfs /home/kvm –o rw”

进行挂载。“192.168.70.201”为节点2的IP地址,也是NFS服务器的IP 地址。

3、挂载完毕后使用“df -h”命令,可以看到挂载位置为“/home/kvm”。

4、进入到“cd /home/kvm”目录,可以看到ubuntu14.04.img镜像文件。

(11)如果节点1挂载不成功:

1、在节点1上使用命令“sudo apt-get install nfs-common”下载安装NFS client 端。

2、查看节点1和节点2网络是否连通。

挂载完成后两节点的“/home/kvm”都有相同的虚拟机磁盘文件ubuntu14.04.img。

2、基于QEMU的虚拟机动态迁移

(1)在节点1上,使用命令“qemu-system-x86_64 -hda

/home/kvm/ubuntu14.04.img -m 512 -smp 1 -vnc :1 -monitor stdio”启动虚拟机,ubuntu14.04为前面实验制作的镜像文件,-monitor stdio表示可以进入QEMU监控器,以便接下来执行迁移命令,如图所示:

使用qemu命令启动虚拟机

(2)打开vncviewer,连接节点1上的QEMU虚拟机,虚拟机启动界面如图所示。

虚拟机启动界面

(3)在该虚拟机中运行“top”命令,top命令可以实时动态地查看系统的整体运

行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。使用top命令以便在动态迁移的时候检查它是否仍然在继续进行,如图所示:

相关文档
最新文档