当前位置:文档之家› 云迁移方案

云迁移方案

华云迁移方案
1概述
对于使用华云平台的用户而言,会面临多种需要业务迁移的场景,可以分为三种情况:用户进行华云部署,需要将业务从原有云平台迁移到华云平台,原有的业务可能使用物理机承载,也有可能使用了第三方的云平台;用户在使用华云的过程中,需要将虚机从一台物理机迁移到另外一台物理机,也就是在华云系统内进行虚机的迁移;第三种情况是用户配置了伸缩策略,华云监控引擎根据资源的使用情况在集群内进行自动迁移。

下面按照虚拟机到虚拟机(V2V)迁移、物理机到虚拟机(P2V)迁移两种使用模式来描述华云的迁移实施方案。

2 V2V迁移
2.1华云内部迁移
典型的华云部署构架如图1所示,云区域1为承载kvm类型虚机的集群,云区域2为承载xen类型虚机的集群,云区域3承载了ESXI类型的虚机。

图1 华云典型构架
以图1的部署构架为例,云区域1和云区域2内部的虚机迁移通过华云内置的迁移功能就能够完成,其它形式的迁移,比如异构(云区域1 和云区域2 )区域间的迁移,以及云区域3 内部的迁移需借助第三方工具来执行。

2.1.1云区域内部迁移
对于kvm或xen类型的云区域内部迁移,通过华云内置的迁移功能完成,分为两个步骤执行:步骤1,如图2所示,在资源管理界面中选择需要迁移的虚机(这里是centos1
),点击迁移,弹出迁移界面,如图3所示。

图2 迁移目标选择
步骤2,在弹出的迁移界面中选择迁移的目的地,这里选择node4,点击保存,出现迁移状态,如图4所示。

图中会显示迁移的总体进度,并且展示当前所处的迁移状态,迁移过程中有虚机磁盘迁移、虚机状态迁移、虚机网络迁移三个状态。

迁移完成后,在物理节点node4中可以看到被迁移的虚机,如图5所示。

图3 迁移目的地选择
图4 迁移状态
图5 迁移结果
对于vmware的ESXI虚拟机需要借助于客户端vsphere的vmotion功能来完成,如需要要将主机172.30.5.3上的虚机WS03-01迁移到另一台主机172.30.5.2执行如下的操作:
1)启动WS03-01虚拟机,用鼠标右键单击,从弹出的快捷菜单中(或者从"清单"菜单选择"虚拟机→迁移")选择"迁移",如图6所示。

图6 vsphere启动迁移
2)在"选择迁移类型"页中,选择"更改主机",如图7所示。

图7 更改主机
3)显示"选择目标"页,选择另一台VMware ESXI Server主机。

在"VMotion优先级"页中,选择"为VMotion最优性能预留CPU",如图8所示。

图8 更改主机
4)在迁移的过程中,正在迁移的虚拟机仍然在运行。

在"近期任务"中显示了迁移的进度,如图9所示。

图9 迁移进度
5)在迁移完成后,迁移的虚拟机会在另一台VMware ESX Server主机运行。

华云会实时检测vmware的虚机位置,在操作页面上进行相应的位置调整。

2.1.2跨云区域迁移
同构云区域之间的迁移方和和区域内迁移的方法一致,异构云区域之间的迁移由于虚拟化的机制不一致,需要进行手动迁移。

在华云中各云区域使用统一的模板,vmware、kvm、xen可以共享模板,因此迁移的思路是从需要迁移的实例生成系统模板,从系统模板在指定的云区域中生成实例,最后使用上述华云同构迁移的步骤将实例迁移到指定物理机。

下面描述迁移场景的详细步骤。

1)制作模板。

华云提供命令从运行的实例生成系统模板,其中mubucket 是存储镜像的桶名称,可以由用户定义,i-12c4af6a是需要迁移的虚
机id。

euca-bundle-instance -b mybucket i-12c4af6a 2)启动跳板虚机,从上述生成的模板在指定的云区域启动虚机,其中zonename为迁移目标云区域名,modelname为从实例生成的模板名。

euca-runinstances -z zonename modelname
3)云区域内部虚机迁移。

使用内部迁移的步骤将虚机迁移到指定物理机。

2.2外部系统迁移
外部系统是指不在华云管控范围之内的云系统,市场上主流的云系统有vmware、citrix、kvm(xen),迁移的思路是从相应实例生成华云模板,之后从华云模板在相应的云区域中启动实例。

下面分别描述这些系统的迁移方案。

2.2.1从citrix迁移到华云
citrix可以将实例导出到xva文件,在wva文件中包含了实例的文件块,将这些文件块合并成华云的模板文件可以实现citrix到华云的实例迁移。

主要流程如下:
1)在xenserver上停止需要迁移的虚机
2)导出xva文件: xe vm-export vm=$UUID filename=$NFS_SHARE/"$VMNAME".xva,其中UUID
是虚机的辨识码,VMNAME是xva的文件名。

3)释放xva文件,会得到一系列chunk-*.gz 文件,这是虚拟机的磁盘映像。

整个虚拟机磁盘被划分成1000000000大小的块,每个块存到一个文件中,文件名则从000000000开始顺序递增。

每个文件都用gzip进行了压缩,需要
解压。

tar –xf "$VMNAME".xva
gzip –d chunk-*.gz
4)合并磁盘映象。

将所有的映像文件合并到一个img文件中。

dd if=/dev/zero of=/temp/example.img bs=1M count=$disklen
dd if=chunk-* of=/temp/ example.img bs=1M seek=$startpos
其中disklen是指合并后磁盘的长度,startpos指chunk文件块在磁盘映
像中的起始位置。

5)在华云系统中注册此img文件为模板,在指定的云区域中启动虚机。

这样就完成了从citrix xenserver到华云的实例迁移
2.2.2从vmware迁移到华云
VMware 虚拟机的磁盘镜像是vmdk格式,在linux下使用qemu-img工具转换成华云可以识别的模板。

具体的迁移流程如下:
1)合并分散的vmdk 镜像文件。

VMware Workstation 自带了离线的磁盘管理工具vmware-vdiskmanager.exe 来合并vmdk 文件。

2) qemu-img 转换vmdk 的文件格式为raw类型。

qemu-img convert *.vmdk –O raw *.img
3)注册*.img到华云平台
4)在华云平台上启动实例,实例的配置和原来一致。

3 P2V迁移
使用virt-p2v工具实现物理机到华云平台的迁移。

具体步骤如下:
1)创建创建kvm的Storage pool
virsh pool-create-as kvm-storage-pool dir --target=/virhost
2)修改配置文件/etc/virt-v2v.conf
<profile name="libvirt">
<method>libvirt</method>
<storage> kvm-storage-pool </storage>
<network type="default">
<network type="network" name="default"/>
</network>
</profile>
3)运行virt-p2v-server
virt-p2v-image-builder –h
4)制作客户端启动盘
挂载virt-p2v镜像:mount -o loop /usr/share/virt-p2v/virt-p2v-0.8.6-5.20120502.1.el6.centos.iso /mnt
制作启动优盘 cd /mnt/LiveOS/
./livecd-iso-to-disk /usr/share/virt-p2v/virt-p2v-0.8.6-5.20120502.1.el6.cent os.iso /dev/sdb sdb为优盘在本地的映射。

5)用制作的优盘启动需要迁移的物理机,按照提示设置相应的参数,设置好通信参数后v irt-p2v开始传输数据到服务器上,并将磁盘转换为虚拟磁盘,如图10所示:
图10 P2V迁移
6)数据传输完毕后,在服务器上生成物理机镜像文件qcow2 test-p2v-sda.img。

在华云系统将此文件注册为系统模板,在指定的云区域中启动实例,完成物理机到华云的迁移。

相关主题