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華南架構中心,若有相關需求或業務諮詢,歡迎私信聯繫或評論區留言!

相關文章
相關標籤/搜索