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