Xen虚拟机迁移方法

时间:2019-08-20 17:58:32  来源:igfitidea点击:

在这个教程中,我们将学习如何将Xen虚拟机从一台主机迁移到另一台主机。

迁移环境

(1) Xen服务器1=xen01

(2) Xen服务器2=xen02

(3) 是否使用LVM=是

(3) 虚拟机名称=redtest创建于xen02

(4) 将虚拟机从xen02迁移到xen01(xen02-->xen01)

我们的两台主机都有相同的规格和相同的LVM管理。
在两台主机上,有相同的硬盘数量和物理卷的分配是相同的。

迁移步骤

(1) 制作虚拟机的LVM分区的快照。

运行命令“/usr/sbin/lvdisplay”时,我们发现虚拟机位于 /dev/xen_disks/redtest sda

--- Logical volume ---
LV Name /dev/xen_disks/redtest-sda
VG Name xen_disks
LV UUID dLa1Uz-qnI2-oL50-vSgH-YZ1q-vgM3-fc0IpF
LV Write Access read/write
LV Status available
# open 0
LV Size 10.00 GB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:7

(2) 通过“dd”命令创建快照镜像并传输到xen01

(3) 在xen01中创建与xen02中相同大小的LVM

(4) 将VM文件从xen02传输到xen01(例如/etc/xen/redtest)

(5) 在xen01中恢复快照镜像

(6) 成功完成任务后,从xen02中删除快照镜像、LVM和Xen VM文件。

将Xen 虚拟机从Xen02迁移到Xen01的步骤

登录到虚拟机所在的xen02.

在执行“xm list”时,我们将看到xen服务器中的虚拟机列表。

/usr/sbin/xm list

通过“init 0”命令关闭虚拟机。

或者,从基本Xen服务器机器,我直接关闭虚拟机,不需要登录到虚拟机中:

/usr/sbin/xm shutdown redtest

关闭后,制作安装了VM的LVM分区的快照。

/usr/sbin/lvcreate -s -L 500M -n redtest-snap /dev/xen_disks/redtest-sda

制作快照镜像:

dd if=/dev/xen_disks/redtest-snap of=redtest.img bs=4096

将镜像文件传输到xen01.

scp redtest.img xen01:/root

登录ino Xen01并使用相同的名称创建相同大小的LVM:

/usr/sbin/lvcreate -n redtest-sda --size 10G xen_disks

恢复镜像文件

cd /root
dd if=redtest.img of=/dev/xen_disks/redtest-sda bs=4096

如果执行“xm list”,这时在列表中找不到虚拟机名称。

在Xen01中启动VM。在我们的xen服务器中,启动VM的命令是xm create domain name

/usr/sbin/xm create redtest

在你的Xen版本服务器中命令可能是“xm start Domain name

迁移成功后,根据需要从xen02中删除快照、imagefile、LVM。