因Xen環境裁撤專案、ECS過保遷移、傳統網路遷移到VPC等涉及虛擬化環境遷移需求,可能會導致一部分執行個體系統在遷移後出現kernel panic宕機、藍屏、找不到引導裝置(INACCESSIBLE_BOOT_DEVICE)等問題。本文主要為您介紹這些問題的解決方案。
背景資訊
阿里雲為您提供了豐富的執行個體規格類型系列以及主流作業系統鏡像。不同執行個體規格實現的虛擬化技術不同:
以已經停售的ecs.t1和ecs.s1規格類型系列為例,該規格類型系列基於Xen虛擬化技術,該規格類型系列需要作業系統鏡像內有Xen等相關驅動。
以ecs.g5規格為例,該規格基於KVM虛擬化技術,該規格需要作業系統鏡像有virtio驅動。
以ecs.g7規格為例,該規格基於神龍架構的虛擬化技術,該規格執行個體同樣需要作業系統鏡像有virtio驅動。
這些驅動是由ECS鏡像中的核心提供的,核心版本不同,驅動支援的ECS規格也不同。一些比較舊版本系統中的核心預設沒有相關驅動,需要使用者自行安裝,或者版本較低的核心的驅動不支援一些新版本的執行個體規格。
遷移前注意事項
如果您的執行個體系統內容有異常,Xen遷移到KVM環境後執行個體可能會運行異常,例如註冊表損壞、檔案系統損壞、系統啟動異常等。因此建議您在遷移前做一些準備工作,確保遷移正常。
建議您在遷移前重啟執行個體,檢查系統是否正常重啟,確保系統和業務在遷移前狀態正常。
建議您在遷移前對執行個體建立快照,對重要資料備份。具體操作,請參見建立快照。
除了現有的遷移方案,您也可以對原有執行個體建立自訂鏡像,然後使用自訂鏡像建立KVM規格的執行個體。具體操作,請參見使用執行個體建立自訂鏡像和使用自訂鏡像建立執行個體。
神龍環境不相容部分舊版本作業系統
已知舊版本作業系統列表如下:
Windows Server 2003及以下版本(Windows Server 2008 標準版本支援,但是需要清理Xen註冊表資訊)
CentOS/RedHat 5.8及以下版本,包括基於CentOS/RedHat 5核心系統(核心版本2.6.18-348及以下)
Debian 6.09以下版本(6.09以下版本對KVM支援也存在一定問題,建議升級到6.09以上版本)
FreeBSD 11以下版本(FreeBSD 11/12版本需要安裝對應的阿里雲補丁。具體操作,請參見使用執行個體時鏡像相關問題。)
Ubuntu 10及以下版本(Ubuntu 12基於核心3.2可以正常啟動,官方鏡像未提供過低於Ubuntu 12的版本)
SUSE Linux Enterprise Server 10及以下版本(官方鏡像未提供過低於SUSE Linux Enterprise Server 11的版本)
OpenSUSE 13以下版本(官方鏡像未提供過低於OpenSUSE 13的版本)
Gentoo(阿里雲提供的Gentoo只支援Xen版本,如果需要支援KVM,建議升級到最新版本,阿里雲於2016年後未再提供Gentoo作業系統)
上述僅是6代執行個體規格的神龍環境不相容情況,對於7代及以上版本執行個體規格的約束會更高一些。
解決方案一:更換系統硬碟升級系統
以上涉及的舊版本作業系統很早就已經停止維護更新。更多資訊,請參見作業系統維護周期。停止維護更新的系統面臨各種功能和安全風險、系統安全性漏洞無法更新等問題,因此阿里雲建議您儘快升級作業系統版本。
阿里雲官方提供的公用鏡像覆蓋了主流Linux和Windows作業系統 。更多資訊,請參見公用鏡像概述。
ECS支援更換系統硬碟操作,您可以一鍵更換執行個體的系統硬碟,完成系統升級。具體操作,請參見更換作業系統(系統硬碟)。
原系統硬碟資料如何拷貝出來?
您可以通過卸載系統硬碟掛載為資料盤的方式將原執行個體系統硬碟內容拷貝出來。具體操作,請參見卸載或掛載系統硬碟。
原系統硬碟中部署的服務應用怎麼遷移出來?
在新的系統硬碟中重新部署服務。
遷移資料庫等應用。
採用方案一的優點和缺點如下:
優點:方便易操作,阿里雲有豐富的公用鏡像可以選擇,一鍵切換到新版本作業系統。
缺點:原系統硬碟中的資料需要客戶自行備份處理, 一些應用服務可能需要重新部署。
解決方案二:升級系統到OS的最高版本
您可以進行系統升級,將系統版本升級到該OS的最高版本。例如,可以將CentOS 5升級到CentOS 5的最高版本CentOS 5.11。更多資訊,請參見:
gentoo 升級或者使用Gentoo的cloud image 鏡像
採用方案二的優點和缺點如下:
優點:原系統中的資料及服務不受影響。
缺點:即使升級到OS的最高版本(例如CentOS 5升級到CentOS 5.11),該版本仍然是已不維護更新的版本,系統漏洞風險依然存在,無法使用新OS發行版(例如CentOS 7/8)上的新特性和功能。
解決方案三:使用舊版本的執行個體規格
您可以嘗試非神龍MOC環境的5代舊版本執行個體規格,例如ecs.n、ecs.xn、ecs.c5系列。更多資訊,請參見執行個體規格類型系列。
虛擬化virtio驅動安裝配置不成功
系統在遷移後,發生了虛擬化環境從Xen到KVM的變化,如果系統內部虛擬化驅動沒有安裝或者配置好KVM virtio驅動,就會發生系統宕機、藍屏等問題。可能有以下原因:
Linux系統未安裝配置virtio驅動
Windows ISO階段驅動安裝失敗
Windows系統註冊表損壞
Windows安裝有360軟體等安全軟體限制
解決方案
如果檢查Linux系統是核心損壞,請下載安裝官方核心再次嘗試
Windows請聯絡售後支援人員掛載Winpe 3.0 ISO,並用內建工具修複virtio驅動
Windows建議遷移前用SFC(System File Checker)檢查系統的完整性,包括註冊表等,並卸載類似360等安全軟體