虛擬機遷移會帶來哪些云計算兼容性問題?
將虛擬機(VM)移動到公共云時可能會出現(xiàn)許多兼容性問題。工作人員需要注意與分區(qū)、操作系統(tǒng)和映像格式的兼容性問題,以確保順利遷移。
企業(yè)在虛擬機遷移過程中需要檢查云計算兼容性,以確保虛擬機移動到公共云時盡可能不受干擾。
在理想情況下,任何公共云實例都應(yīng)該支持任何有效的虛擬機(VM)。盡管像亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)和谷歌云平臺(GCP)這樣的公共云提供商試圖支持廣泛的虛擬機(VM)客戶端,但兼容性并不普遍或不能保證。常見的兼容性問題可能包括操作系統(tǒng)版本、圖像格式和實例支持。在企業(yè)嘗試將任何虛擬機遷移到公共云之前,檢查云計算兼容性是必要的。
例如,Amazon Elastic Compute Cloud(EC2)實例支持多種操作系統(tǒng),但不是全部。通常,EC2支持Windows 7及更高版本的桌面操作系統(tǒng)版本,以及Windows Server 2003 Service Pack 1及更高版本——32位和64位。 Windows支持僅在Windows 8.1和Windows Server 2008 R2中轉(zhuǎn)換為64位。
分區(qū)和文件系統(tǒng)影響云計算兼容性
Windows操作系統(tǒng)應(yīng)使用NT文件系統(tǒng)使用傳統(tǒng)的主引導(dǎo)記錄(MBR)分區(qū)。以后的卷技術(shù)(如全局唯一標識符分區(qū)表卷)可能不受支持。
同樣,EC2支持一系列64位Linux版本,包括Ubuntu 12.04,CentOS 5.1,Red Hat企業(yè)Linux(RHEL)5.1,SUSE Linux Enterprise Server 11 SP1,內(nèi)核2.6.32.12-0.7,Debian 6.0.0、Oracle Linux 6.1、Fedora Server 19,以及這些操作系統(tǒng)的所有后續(xù)版本。
其他公共云提供商可能會施加類似的限制。例如,谷歌云平臺實例支持Windows Server 2008 R2; 2012 R2或2016,以及RHEL,CentOS或Oracle Linux 6或7,Debian 8或9以及Ubuntu 14.04或16.04。
企業(yè)準備好將虛擬機遷移到云端了嗎?
在遷移任何虛擬機之前,需要檢查其虛擬機是否已正確配置。由于不同的公共云提供商有各種各樣的要求,預(yù)遷移的流程可能很長,但是盡早檢查正確的配置將使整個流程更加高效。
企業(yè)需要評估適合性和成本,以確定遷移過程是否適合,以及可能需要做些什么才能進一步做好準備。根據(jù)每個虛擬機的工作負載,遷移過程可能會有很大的不同。遷移需要逐一檢查,特別要注意復(fù)雜性、資源需求、性能和依賴性。
在準備好之后,企業(yè)應(yīng)該學(xué)習(xí)如何執(zhí)行升級和移位遷移,這些遷移可以將虛擬機及其所有依賴項帶到公共云。此過程通常涉及大量人工操作步驟,但使用AWS、谷歌云平臺和Microsoft Azure提供的工具,企業(yè)可以自動執(zhí)行大部分流程。
就Linux下的分區(qū)和文件系統(tǒng)而言,AWS需要使用ext2、ext3、ext4、btrfs、jfs或xfs文件系統(tǒng)格式化的MBR分區(qū)。谷歌云平臺建議安裝帶有Grand Unified Bootloader的MBR分區(qū)。
這里的問題在于,公共云提供商可能不支持托管時間較早或替代操作系統(tǒng)的虛擬機,這將導(dǎo)致無法將該虛擬機遷移到公共云實例。例如,在公共云中運行高度修改或定制的Linux版本時可能會出現(xiàn)問題。測試云計算兼容性至關(guān)重要。
檢查虛擬機映像格式
要遷移虛擬機,通常需要創(chuàng)建映像文件,將該映像文件上傳到存儲資源,執(zhí)行一系列轉(zhuǎn)換以在公共云中運行該映像,并將轉(zhuǎn)換后的映像部署到計算實例中。但是,公共云提供商可能會對兼容的虛擬機映像格式施加限制。
例如,AWS公共云以開放虛擬化格式啟用虛擬機導(dǎo)入和導(dǎo)出;與VMware ESX和vSphere兼容的虛擬機磁盤映像格式;固定和動態(tài)虛擬硬盤映像格式,與Microsoft Hyper-V和Citrix Xen兼容;以及原始格式。
實際上,這種兼容性覆蓋了絕大多數(shù)企業(yè)虛擬機,但驗證映像格式兼容性非常重要??赡苄枰D(zhuǎn)換映像格式,將用戶端的虛擬機以兼容格式導(dǎo)出或考慮完全移除虛擬機遷移。
評估公共云提供商的目標實例類型。盡管大多數(shù)類型的公共云實例都應(yīng)該支持虛擬機遷移,但可用的實例類型對于某些操作系統(tǒng)可能會受到限制。例如,AWS將Linux VM限制為通用實例的t2.micro、t2.small、t2.medium、m3.medium、m3.large、m3.xlarge和m3.2xlarge。對于計算優(yōu)化、內(nèi)存優(yōu)化、存儲優(yōu)化以及加速AWS實例,存在類似的云計算兼容性限制。
盡管大多數(shù)類型的公共云實例都應(yīng)該支持虛擬機遷移,但可用的實例類型對于某些操作系統(tǒng)可能會受到限制。
例如,對于Windows VM,谷歌云平臺無法導(dǎo)入配置為多個磁盤的映像。每個磁盤都需要單獨的步驟來導(dǎo)入和附加圖像。同樣,Windows VM也不能使用3.0以前的PowerShell版本,因為它們可能會導(dǎo)致谷歌云實例的啟動和關(guān)閉問題。
當(dāng)Secure Shell(SSH)未在端口22上運行時,可能會發(fā)生Linux VM的其他潛在云計算兼容性問題。谷歌云平臺使用端口22進行SSH登錄,而且如果SSH使用不同的端口,則云控制臺和gcloud命令行界面等客戶端可能無法運行一個不同的端口。
最后,重要的是評估任何潛在的虛擬機對每個公共云提供商的兼容性限制,并采取措施來解決和補救任何云計算兼容性問題。采用工具也可以用來幫助評估過程。
例如,谷歌云平臺提供了一個預(yù)檢工具,旨在查找干擾虛擬機導(dǎo)入或?qū)胩摂M機后導(dǎo)致出現(xiàn)的問題。而即使采用仔細評估并正確的流程,并非所有虛擬機都能在公共云中正確導(dǎo)入或運行。