客戶希望上雲過程不影響到現有業務;去除機房託管的過保裝置,減少不必要的支出;減少資源的維護人力和運維壓力;
另外,希望遷移過程不要太長,不要影響市場推廣等工作及業務創新。
一、遷移評估經過可行性分析,至少存在以下挑戰:
客戶的作業系統型別較多且版本老舊,其中大多是windows Server版本。業務系統無法重建,原因是軟體沒有部署指導文件及原始碼,或找不到可以重新部署的人員。資料遷移量較大,其中資料庫及備份資料較大。客戶使用的商業軟體版本過老、未購買授權等原因,導致客戶無法或不想重建業務系統,例如購買的第三方商業版全套系統軟體,如SAP、ERP等。基於以上原因,無法使用現成的工具,因為遷移工具對主流作業系統(CentOS、Ubuntu)支援較好,但是比較老的系統,由於新的硬體驅動缺乏廠商支援原因,導致無法使用。
因此,只能透過映象方式遷移。
二、遷移方案基於上,整體遷移思路,基本是2個方向:
公網傳輸前置條件是:
公網頻寬足夠大,且不影響現有生產業務;資料敏感性不高,允許公網傳輸;資料量不太大,最好不超過10T級;2、線下磁碟複製
對於資料量太大、公網頻寬不夠大、因安全因素不方便公網傳輸等,是公網線上傳輸做不到的,可以體現線下磁碟複製的優勢。
這裡使用U閃盤(可以理解為aws的snowball、阿里的閃電立方)來做映象的傳輸。主要有以下優勢:
資料安全性高、空間大: 做了raid5的大容量空間,對於資料的安全性有保障。傳輸速度快: 介面支援USB3.0,速度最大支援500MB/s,儲存介質讀寫速度在150MB/s左右。可掛載物理伺服器: 託管區物理機與公有云區內網互通,且與公有云US3服務內網連通,如需將大量機房外的資料複製到機房內,可透過這種方式進行資料傳輸。為了簡化步驟,減少中間態等待時間,且為了縮短單個遷移過程時間,採用非同步操作,減少同步操作帶來的等待時間。
在此例中,由於資料太大,為加快遷移速度,因此選擇了方案2,線下磁碟遷移方式。
三、遷移詳情遷移流程圖如下:
首先需要:
關閉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)等幾種方式。
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.1支援
對於VMware,此遷移支援以下環境:
支援vSphere、ESXI。支援系統盤和資料盤遷移。支援作業系統RHEL 3-7,Centos 3-7,Ubuntu 10.04,12.04,14.04,16.04以上,Windows XP-Windows 10/ Windows Server2016。4.2限制
VMWARE Workstation建立的主機遷移存在失敗風險。Windows 7 和Windows Server 2008 R2需要開啟支援SHA-2證書。需要關閉作業系統遷移,不支援線上熱遷。需要解除安裝防病毒軟體。需要解除安裝虛擬化平臺工具。本文作者:UCloud雲計算
本文連結:https://zhuanlan.zhihu.com/p/337119064