◆褚慧婷 何瑩婷 王澤民
數據安全與云計算
數據中心跨平臺遷移方法探究
◆褚慧婷1何瑩婷2王澤民1
(1.浙江浙能技術研究院有限公司 浙江 310000;2.浙江浙能天工信息科技有限公司 浙江 310000)
不斷增長的業務對IT部門的要求越來越高,數據中心需要快速提高提供解決方案的能力。現有服務器還未得到充分利用的情況下,企業的服務器工作負載利用率較低,導致大量的硬件、機房空間以及資源的浪費。本文闡述基于KVM技術的Openstack和Vmware兩平臺之間如何用最穩定可靠的方式進行數據遷移,利用業務連續性和系統的災難恢復來減少服務器停機以提高業務的持續性,通過遷移減少Openstack上運行的服務器數量以及動態關閉未使用的服務器來改善資源利用率。
數據中心;跨平臺遷移;Openstack;VMware
浙江某公司(以下簡稱某公司)前期建設部署了集團總部的Openstack分布式云平臺,采用的是ESCloud 3.x云平臺版本,由27臺服務器和存儲組成的分布式集群。經過了兩期的建設,目前規模如下,控制節點有3臺、計算節點有7臺、存儲節點17臺、裸磁盤容量在170TB+。迄今為止已在Openstack平臺上運行虛擬機數量130+以上,這套平臺承載了該集團下所有公司的信息化業務,由于目前集群上的分布式存儲Ceph面臨著OSD NearFull的風險,擬將原云平臺環境中的所有虛擬機遷移至新建Vmware虛擬化資源池,以解決現有云平臺分布式存儲資源不足的情況。
如何在Openstack和Vmware兩平臺之間穩定地實現虛擬機的動態遷移是本次項目中一個重要的問題。Openstack平臺上需遷移的虛擬機中大部分都是處于運行狀態,剩余少量為關機狀態,我們可根據這兩種不同運行狀態的服務器來決定采用何種方式可進行更有效地完成遷移工作。傳統的KVM虛擬機遷移包括靜態遷移和動態遷移兩種方式。
靜態遷移也就是常規遷移、離線遷移(冷遷移),是指虛擬機在關機的狀態下從一臺宿主物理機上遷移到另一臺物理機上的過程。在遷移過程中有一段時間,虛擬機上的服務不可用。靜態遷移還可以分為兩種,一種是完全關閉虛擬機后,將硬盤鏡像復制到另外的宿主機再啟動,這種方式不會保存虛擬機的工作負載狀態后的數據;還有一種并不完全關閉虛擬機而是暫停機器,用快照之類的方式,把當前的狀態做成快照,復制快照到新的宿主機上啟動。
動態遷移也被稱作在線遷移(熱遷移),是指在虛擬機各服務正常運行的同時,將虛擬機系統從一臺宿主物理主機遷移到另一臺的過程。KVM動態遷移目前有兩種,一種是基于共享存儲的動態遷移,一種是基于基于數據塊的動態遷移。前者是指在源主機和目標主機之間采用SAN或者NAS之類的集中式共享外存設備,虛擬機運行所需的鏡像文件和相關配置文件都存儲在中間共享外存設備中。因此在遷移過程中只需要將虛擬機內存執行狀態遷移到目標主機中即完成遷移工作。后者也叫基于本地存儲的虛擬機遷移,是指虛擬機的磁盤鏡像文件和相關配置文件存儲在源主機中,遷移過程首先要完成將磁盤鏡像文件遷移到目標主機中,然后再將虛擬機內存執行狀態遷移到目標主機即完成遷移工作。
相比KVM虛擬機靜態遷移中需要拷貝虛擬機虛擬磁盤文件,動態遷移無須拷貝虛擬磁盤文件,然而兩遷移主機之間需要有相同目錄結構的虛擬機磁盤文件,從用戶角度看,動態遷移不會出現業務間斷和虛擬機上的服務不可用的現象,可以將各公司系統里的業務影響降到最低。
在準備遷移工作前,我們需對所有待遷移服務器進行主機信息采集,收集虛擬機服務器的主機配置、云硬盤等相關有效信息;收集服務器對應的安全組信息;檢查需遷移服務器是否在正常運行中;依據服務器內的業務系統的重要性,制定服務器遷移計劃表;準備遷移中轉機,用于安裝遷移所需的服務端系統。
現存的openStack云平臺環境運行了130+的虛擬機系統,某公司搭建一套新的Vmware虛擬化平臺,用于將現有云平臺上的虛擬機遷移到Vmware平臺上,以解決現有云平臺分布式存儲資源不足的情況。針對這個需求,需要采用Vmware Convert遷移工具將虛擬機分批次遷移到Vmware虛擬化平臺上。
使用Vmware Converter工具進行在線遷移兩平臺之間的虛擬機是本次遷移工作的核心方式。Converter在線遷移工具是能快速將源物理機轉換為虛擬機但不會導致任何停機,同時可轉換支持大規模實施虛擬化;提供對源物理機、Vmware 和 Microsoft 虛擬機格式以及某些第三方磁盤鏡像格式的廣泛支持;集中式管理控制臺允許用戶排隊等候和監控本地和遠程許多物理機同時轉換它們的一種友好性工具。Converter可縮短設置新虛擬機環境所需的時間,將舊版服務器遷移到新硬件,而不重新安裝操作系統或應用程序軟件。Converter在執行跨異構硬件遷移后允許重新調整卷大小,并將各卷放在不同的虛擬磁盤上。
根據現有虛擬機操作系統的類型,將遷移分為運行Windows 的源計算機的遠程熱克隆和運行Linux 的源計算機的遠程熱克隆。
使用轉換向導設置轉換任務,并使用 Converter Standalone 組件執行所有克隆任務。以下工作流程是遠程熱克隆的示例,在此流程中克隆的物理機不會停機。第一Converter Standalone 為轉換準備源計算機,在源計算機上安裝代理,該代理創建源卷的快照;第二 Converter Standalone 在目標平臺上準備虛擬機,在目標平臺上創建了一個虛擬機,然后代理將源平臺中的卷復制到目標平臺中;第三 Converter Standalone 完成轉換過程,代理會安裝所需的驅動程序來允許操作系統在虛擬機中引導,并且會對虛擬機進行自定義(例如,更改 IP信息),此次按系統業務要求使用原來的IP地址以及VLAN信息;第四 Converter Standalone 從源計算機卸載該代理(可選)。虛擬機準備在vMware平臺上運行,關閉openStack云平臺上的虛擬機,避免IP沖突。
運行 Linux 操作系統的物理機與 Windows的轉換過程不同,在 Windows 轉換中,Converter Standalone 代理將安裝到源計算機上,且源信息將被推送到目標平臺的虛擬機中。在 Linux 轉換中,在源計算機上不會部署任何代理。相反,在目標平臺的ESXi主機上會創建并部署助手虛擬機。之后源數據會從源 Linux 計算機復制到助手虛擬機。轉換完成后,助手虛擬機將關閉,在下次啟動后會成為目標虛擬機。Converter Standalone 僅支持將 Linux 源轉換為受管目標。步驟如下:
(1)Converter Standalone 使用 SSH 連接到源計算機并檢索源信息。Converter Standalone 將根據您的轉換任務設置,創建一個空的助手虛擬機。助手虛擬機在轉換過程中用作新虛擬機的容器。Converter Standalone在受管目標(ESXi主機)上部署助手虛擬機。助手虛擬機從 Converter Standalone 服務器計算機上的 *.iso 文件中引導。
(2)助手虛擬機啟動,從 Linux 映像引導,通過 SSH 連接到源計算機,然后開始從源檢索所選數據。設置轉換任務時,您可以選擇要將哪些源卷復制到目標計算機。
(3)數據復制完成后,重新配置目標虛擬機以允許操作系統在虛擬機中引導(可選)。
(4)Converter Standalone 將關閉助手虛擬機,轉換過程完成。也可以配置 Converter Standalone,使其在完成轉換虛擬機后啟動新創建的虛擬機。
整個遷移過程基本上分為:轉換、傳輸、啟動三個階段,云平臺上服務器根據業務優先級安排先后順序,在完成一臺服務器遷移工作后,驗證工作是必不可少的一個環節。將驗證工作分為系統驗證、網絡驗證、業務驗證等三方面。
系統驗證需檢查遷移后的服務器能否正常開啟進入操作系統及系統內其他配置信息與遷移前收集的信息對照無誤等。
網絡驗證需核查虛擬機的IP地址是否和源服務器地址保持一致(如MAC地址也需要保持一致),網絡連接是否正常及其他安全組信息是否與之前一致。
業務驗證需檢查系統內安裝的業務系統是否完好,業務運行是否正常,云硬盤內數據資源是否有丟失。
某公司利用Vmware Converter工具將現有基礎架構遷移到Vmware新的平臺,在保證遷移成功的前提下提高效率,減小虛擬機服務的切換時間;除此之外優化資源利用率,使遷移過程可以結合平臺自身的資源調度策略,降低采購成本和運營成本,同時保留選擇任何應用程序、操作系統和硬件的自由。通過將現有應用系統移植到Vmware虛擬化環境,保證系統的穩定性和可靠性,提高業務系統的處理性能,提高IT業務效率。
[1]黃秋蘭,李海波,石京燕.基于Openstack的高能物理虛擬計算集群系統及應用[J].計算機科學,2017(10):59-63.
[2]王春海. VMware虛擬化與云計算應用案例詳解[M].北京:中國鐵道出版社,2014.
[3]李曉峰,宋君安. 數據遷移技術在多異構電力信息集成系統中的應用[J]. 江西電力,2008,32(6):30-32.
[4]王俊. 基于OpenStack企業私有云的多云平臺實現[D].大連:大連理工大學,2015.