VMVARE业务系统迁移上云方案

背景

客户要将业务从自建的虚拟化数据中心迁移至UCloud,但愿可以将多年前的VMware体系换到公有云体系。其中:git

  • 客户但愿上云过程不影响到现有业务;
  • 去除机房托管的过保设备,减小没必要要的支出;
  • 减小资源的维护人力和运维压力;

另外,但愿迁移过程不要太长,不要影响市场推广等工做及业务创新。github

1、迁移评估

通过可行性分析,至少存在如下挑战:web

  1. 客户的操做系统类型较多且版本老旧,其中大可能是windows Server版本。
  2. 业务系统没法重建,缘由是软件没有部署指导文档及源码,或找不到能够从新部署的人员。
  3. 数据迁移量较大,其中数据库及备份数据较大。
  4. 客户使用的商业软件版本过老、未购买受权等缘由,致使客户没法或不想重建业务系统,例如购买的第三方商业版全套系统软件,如SAP、ERP等。

基于以上缘由,没法使用现成的工具,由于迁移工具对主流操做系统(CentOS、Ubuntu)支持较好,可是比较老的系统,因为新的硬件驱动缺少厂商支持缘由,致使没法使用。数据库

所以,只能经过镜像方式迁移。windows

2、迁移方案

基于上,总体迁移思路,基本是2个方向:安全

  1. 公网传输

前置条件是:服务器

  1. 公网带宽足够大,且不影响现有生产业务;
  2. 数据敏感性不高,容许公网传输;
  3. 数据量不太大,最好不超过10T级;

二、线下磁盘拷贝网络

对于数据量太大、公网带宽不够大、因安全因素不方便公网传输等,是公网在线传输作不到的,能够体现线下磁盘拷贝的优点。架构

这里使用U闪盘(能够理解为aws的snowball、阿里的闪电立方)来作镜像的传输。主要有如下优点:运维

  1. 数据安全性高、空间大:作了raid5的大容量空间,对于数据的安全性有保障。
  2. 传输速度快:接口支持USB3.0,速度最大支持500MB/s,存储介质读写速度在150MB/s左右。
  3. 可挂载物理服务器:托管区物理机与公有云区内网互通,且与公有云US3服务内网连通,如需将大量机房外的数据拷贝到机房内,可经过这种方式进行数据传输。

为了简化步骤,减小中间态等待时间,且为了缩短单个迁移过程时间,采用异步操做,减小同步操做带来的等待时间。

在此例中,因为数据太大,为加快迁移速度,所以选择了方案2,线下磁盘迁移方式。

3、迁移详情

迁移流程图以下:

首先须要:

  • 关闭Guest系统的Windows组策略;
  • 卸载Guest系统的VMWARE-Tool工具;
  • 关闭防病毒软件;
  • 关闭虚拟机。

上述流程中需提早建立物理云服务器,经过U闪盘进行系统盘和数据盘镜像的传输,将存储好数据的U闪盘挂载到物理云服务器,同时在物理云主机内完成系统盘镜像的格式转换和驱动的注入过程。

在物理云主机内经过内部API,建立临时中起色器,并建立具备系统盘属性的云盘,把挂载的U闪盘看成本地盘,经过qemu-nbd,将U闪盘的系统盘和数据盘分别远程挂载到建立的中起色的两块云盘上(系统盘与数据盘)。

将临时建立的中起色绑定的两块云盘卸载下来,经过系统盘建立云主机(该过程须要内部API来实现),将另外一块磁盘看成数据盘挂载,完成对云主机系统盘数据盘的迁移。

3.1IDC中VMware环境准备

1.vSphere客户端链接vCenter服务器

安装vsphere客户端,远程链接到IDC中VMware的管理节点vCenter,其将对应克隆出的镜像传输到U闪盘中保存。

2.导出镜像

对于关机离线的系统,能够直接导出OVF或者VMDK格式的镜像;对于未能离线导出的系统,可进行镜像克隆,克隆后的格式为VMDK。

3.2中转服务器环境准备

①安装KVM虚拟化环境

安装CentOS 7操做系统,并确保支持开启硬件虚拟化功能;确保磁盘空间很多于迁移数据量。安装KVM虚拟化,执行命令以下:

# yum install qemu-kvm qemu-key-tools libvirt  qemu-img
# yum install virt-*
# modprobe kvm
# modprobe kvm_intel
# systemctl start libvirtd
# systemctl enable libvirtd.service

②安装virt-v2v

考虑到兼容云服务商的兼容性问题(例如IO及网络的加速,系统的高内核版本),针对老旧的系统,如:Windows 2000,Windows Server 2003,Windows Server 2008等,须要用virt-v2v转换。

对于IO加速,经过virt-v2v自动注入VirtIO驱动来解决,能够把虚拟机从一个虚拟平台导入到另一个虚拟平台,使用 virt-v2v 命令将其它虚拟机监控程序(hypervisor)上运行的虚拟机进行转换,从而能够在 Red Hat Enterprise Virtualization 或由 libvirt 管理的 KVM 上运行。当前,virt-v2v 能够转换在 Xen、KVM 和 VMware ESX / ESX(i) 上运行的 Red Hat Enterprise Linux 虚拟机和 Windows 虚拟机。在须要的状况下,virt-v2v 会在被转换的虚拟机上启用准虚拟化(VirtIO)驱动。

virt-v2v将外部的虚拟化平台上的虚拟机转化到能够运行的KVM平台上。它能够读取运行在VMware、Xen、Hyper-V和其余虚拟机管理程序上的Windows和Linux的虚拟机,并将其转换为KVM的libvirt,OpenStack,oVirt,红帽虚拟化(RHV)等几种方式。

# yum install virt-v2v

③宿主机上安装VirtIO驱动

Virtio驱动程序是KVM虚拟机的半虚拟化设备驱动程序,半虚拟化驱动程序可提升机器性能,减小I / O延迟并将吞吐量提升到接近裸机水平。安装Windows的VirtIO驱动以下:

# yum install libguestfs-winsupport libguestfs-tools
# wget https://fedorapeople.org/groups/virt/VirtIO-win/VirtIO-win.repo
-O /etc/yum.repos.d/VirtIO-win.repo
# yum install VirtIO-win

④安装ntfs-3g,用于挂载U闪盘

NTFS-3G支持在Linux, FreeBSD, Mac OS X, NetBSD, Haiku等操做系统下读写NTFS格式的分区。除了彻底的文件属主和访问权限,它支持全部符合POSIX标准的磁盘操做。目的是为那些用户须要与NTFS可靠互通的硬件平台和操做系统提供可信任的、功能丰富的高性能方案。

# yum install epel-release
# yum install ntfs*

⑤编译安装NDB

安装NBD可被用来进行远程存储和备份,NBD的驱动程序在本地客户端模拟了一个块设备,好比一个磁盘或者是一块磁盘分区,但实际提供物理支持的倒是经过网络链接的远程服务器。

3.3镜像格式转换与VirtIO驱动注入

转换磁盘文件并注入VirtIO驱动程序,执行命令以下:

# export LIBGUESTFS_BACKEND=direct
# virt-v2v -i vmx server2003.vmx -of qcow2 -o qemu -os ./
// 注:执行命令virt-v2v -i vmx “vmx文件名” –of qcow2 –o qemu –os “转换后磁盘文件存放路径”,默认是把系统盘与数据盘都进行转换,为了节省转换时间,能够修改vmx文件只进行系统盘的转换。

3.4经过API建立中转系统盘及数据盘

经过API建立新的云盘,做为用来开启云主机的系统盘,以及用来导入数据的数据盘(_其中系统属性的磁盘为内部API_)。新建立的两块云盘均为临时中转盘,用来存储导入镜像的系统以及数据。

具体的API可参考:https://github.com/ucloud

3.5远程挂载云盘与磁盘拷贝

为减小迁移耗时的流程,将U闪盘的系统盘和数据盘以网络的形式直接挂载到新建立的VM上,而后将U闪盘内的数据与临时中起色建立的云盘实现内网的磁盘数据拷贝。鉴于磁盘IO和网络带宽的限制,上述方案可省去公网传输和对象存储存储镜像的中转过程。

具体过程以下:使用qemu-nbd的远程磁盘挂载,将U闪盘的数据盘,直接挂载到云盘上。而后将云盘卸载,挂载到对应的客户机器上去。

①在物理云服务器上将U闪盘的磁盘镜像挂载到nbd的特定端口

# qemu-nbd -r -t -v -f qcow2 -p 5000 web-sdc.qcow2
// 注:5000为端口号,web-sdc为数据盘镜像。

②在中起色上安装qemu-img,将远程的数据盘镜像挂载到新建立的云硬盘。

# qemu-img convert nbd://10.23.xx.xx:5000 /dev/vdc
// 注:10.23.xx.xx为物理服务器内网IP地址,/dev/vdc为新建立的云盘。

3.6建立云主机并挂载数据盘

对于已经同步过数据的系统盘与数据盘,经过API对系统盘进行云主机的建立;对于云数据盘,须要先将中起色上的云盘进行卸载,而后挂载到须要开启的目标云主机上,从而达到云主机的建立与数据盘的挂载功能。UCloud有自动化的脚本及程序来实现以上过程。

4、经验

经过本次迁移,确承认以支持和限制因素以下,供参考。

4.1支持

对于VMware,此迁移支持如下环境:

  1. 支持vSphere、ESXI。
  2. 支持系统盘和数据盘迁移。
  3. 支持操做系统RHEL 3-7,Centos 3-7,Ubuntu 10.04,12.04,14.04,16.04以上,Windows XP-Windows 10/ Windows Server2016。

4.2限制

  1. VMWARE Workstation建立的主机迁移存在失败风险。
  2. Windows 7 和Windows Server 2008 R2须要开启支持SHA-2证书。
  3. 须要关闭操做系统迁移,不支持在线热迁。
  4. 须要卸载防病毒软件。
  5. 须要卸载虚拟化平台工具。

本文来自UCloud华南架构中心,若有相关需求或业务咨询,欢迎私信联系或评论区留言!

相关文章
相关标签/搜索