若您的作業系統因生命週期結束等原因進入EOL階段或需要將作業系統遷移至其他版本以滿足業務需求,您可以通過Server Migration Center在保留ECS執行個體系統硬碟資料的同時完成作業系統遷移。本文主要介紹如何通過SMC遷移CentOS 7/8、RedHat 7/8及Alibaba Cloud Linux 2。
通過SMC將CentOS 7/8遷移至RedHat 7/8目前僅對部分使用者開放,如果您想體驗此功能,可以提交工單進行申請。
背景資訊
當您的ECS執行個體的作業系統進入作業系統生命週期概述的生命週期結束階段(End of Life,EOL)時,您可能會面臨更高的安全與使用風險,此時建議儘快更換已經處於EOL階段的作業系統。Server Migration Center(Server Migration Center,簡稱SMC)的作業系統遷移功能提供了部分遷移方案,遷移後作業系統核心版本及主要系統軟體包會進行原地轉換升級,同時保留系統硬碟資料。
如果您不需要保留系統硬碟資料,或有更多的作業系統轉換選項需求時,您可以通過更換系統硬碟方式更換作業系統
遷移方案
CentOS 7/8
作業系統架構 | 源作業系統 | 目標作業系統 |
X86 | CentOS 7.x |
|
CentOS 8.x |
| |
ARM64 | CentOS 7.x |
|
CentOS 8.x |
|
RedHat 7/8
作業系統架構 | 源作業系統 | 目標作業系統 |
x86 | RedHat 7.9 |
|
RedHat 8.x |
|
Alibaba Cloud Linux 2
作業系統架構 | 源作業系統 | 目標作業系統 |
x86 | Alibaba Cloud Linux 2 | Alibaba Cloud Linux 3 |
遷移限制
限制類別 | 限制說明 |
通用限制 |
|
CentOS 7遷移至Alibaba Cloud Linux 2 | Alibaba Cloud Linux 2使用4.19核心,CentOS 7使用3.10核心,兩個版本的核心無法相互相容。對於依賴於核心介面編程的業務,例如涉及核心OOT模組開發、硬體使能等,需要提前做好評估,明確是否適合隨即轉移,以免作業系統遷移後業務無法運行。 |
CentOS 7遷移至Alibaba Cloud Linux 3 | CentOS 7使用3.10核心,Alibaba Cloud Linux 3選用Linux kernel 5.10 LTS作為Alibaba Cloud Linux 3的核心,並選用GCC 10.2、binutils 2.35、glibc 2.32作為基礎工具鏈。兩個版本的核心無法相互相容,依賴於核心介面編程的業務,例如涉及核心OOT模組開發、硬體使能等,需提前做好評估,明確是否適合隨即轉移,以免作業系統遷移後業務無法正常運行。 |
CentOS 8遷移至Alibaba Cloud Linux 3 | Alibaba Cloud Linux 3選用Linux kernel 5.10 LTS作為Alibaba Cloud Linux 3的核心,並選用GCC 10.2、binutils 2.35、glibc 2.32作為基礎工具鏈。在軟體包生態上與CentOS 8相容。當您使用本文介紹的作業系統遷移工具將CentOS 8遷移為Alibaba Cloud Linux 3時,工具會對待遷移的作業系統進行基礎判斷。 |
同時,您還需要注意以下作業系統相關特性或軟體的遷移限制:
特性或軟體 | 支援情況 | 是否影響作業系統遷移流程 | 說明 |
i386架構的軟體包 | 不支援 | 是 | Alibaba Cloud Linux不提供i386架構的軟體包。如果您當前使用的CentOS 7/8系統內帶有i386架構的軟體包,則不支援使用遷移工具遷移作業系統。您需要先刪除這些軟體包,然後再進行遷移操作,以免遷移時系統發生異常。 |
epel-modular | 不支援 | 否 | CentOS 7/8中EPEL源所依賴的platform與Alibaba Cloud Linux 3不同。因此,您可以遷移作業系統,但需要注意遷移後無法安裝基於epel-modular的軟體包。 |
C/C++語言程式相容性 | 不保證 | 否 | Alibaba Cloud Linux 3選用GCC 10.2、binutils 2.35、glibc 2.32作為基礎工具鏈,且系統自身的軟體包已經做了相容性處理。作業系統遷移後,建議您基於新的基礎工具鏈重新對您的C/C++語言程式進行編譯驗證,避免出現相容性問題。 |
核心模組相容性 | 不支援 | 否 | Alibaba Cloud Linux 3選用Linux kernel 5.10 LTS作為核心,在軟體包生態上與CentOS 8相容,但您需要注意,Alibaba Cloud Linux 3無法完全相容CentOS 7的3.10核心和CentOS 8的4.18核心。因此,依賴於核心介面編程的業務(例如核心OOT模組開發、硬體使能等業務情境),您需要在遷移前自行做好遷移評估,避免遷移後業務無法正常運行。 |
MySQL資料庫 | 僅支援向同版本或更高版本的MySQL遷移 |
| Alibaba Cloud Linux 3支援MySQL資料庫,但您需要注意,由於MySQL不支援降低版本,當Alibaba Cloud Linux 3提供的MySQL版本低於待遷移的CentOS 7/8內的MySQL版本時,不支援使用遷移工具完成作業系統遷移。 |
作業系統熱遷移 | 不支援 | 否 | 使用作業系統工具遷移作業系統時涉及軟體包的重新安裝,會引起系統內服務重啟,進而造成業務中斷。因此,您需要在遷移前建立快照做好資料備份並隔離待遷移的作業系統環境,避免影響正常業務。 |
遷移注意事項
請您在作業系統遷移前務必瞭解以下事項。
遷移過程 | 注意事項 |
遷移前 | |
遷移中 |
|
遷移後 |
|
計費說明
遷移過程中系統會對ECS執行個體的全部雲端硬碟建立快照以備份資料,快照以隨用隨付方式收取一定費用。更多資訊,請參見產品計費。
遷移操作
遷移過程中系統會對ECS執行個體的全部雲端硬碟建立快照備份資料,建立的快照將以隨用隨付方式收取一定費用。更多資訊,請參見產品計費。
作業系統遷移。
快速遷移(推薦)
說明如果您的執行個體是在2017年12月01日之前購買,或通過自行上傳的自訂鏡像建立,或是第三方雲端服務器,若需使用此方式,則需為該ECS執行個體安裝雲助手Agent。2017年12月01日之後使用公用鏡像建立的ECS執行個體,已預設預裝了使用此方式所需的雲助手Agent,無需關注此條說明。
在作業系統遷移頁面,單擊開始遷移。
在彈出的作業系統遷移對話方塊中,通過執行個體ID、地區確定並選擇待遷移的ECS執行個體後,單擊前置檢測。

在彈出的作業系統遷移對話方塊中,系統自動進行作業系統遷移前置檢查,大約需要10s,請您耐心等待。
當前置檢測狀態由
變為
,表示前置檢查通過。當前置檢測狀態由
變為
,表示前置檢查不通過,您可以根據介面提示修複問題後重新遷移。
仔細閱讀作業系統遷移注意事項後,選中我已知曉以上風險,同意並授權阿里雲為該執行個體的全部雲端硬碟建立快照,並單擊下一步。

在彈出的作業系統遷移對話方塊中,按需選擇目標作業系統。
統一遷移至同一目標作業系統:如果執行批量遷移,您可以將不同執行個體統一遷移至同一個作業系統。
按執行個體選擇目標作業系統:如果執行批量遷移,您可以按需將不同執行個體遷移至不同的作業系統。
單擊檢測是否可遷移,查看遷移檢測結果。
檢測大約需要30s,請您耐心等待。
:表示作業系統可以遷移。
:表示不支援遷移。您可以根據介面提示,查看不支援遷移的原因。
單擊確定遷移。
您可以在作業系統遷移頁面,查看作業系統遷移的進度。
警告在作業系統遷移的過程中,請勿人工或通過營運指令碼對ECS執行個體執行停止、重啟、釋放等操作,否則會導致作業系統遷移失敗。
分段移轉
步驟一:匯入遷移源
遷移源指您準備遷移的IDC伺服器、虛擬機器或其他雲平台的雲主機。SMC支援多種匯入遷移源方式,您可以按需選擇對應的遷移源方式。
命令列一鍵匯入遷移源(推薦)
重要原始伺服器需要具備公網訪問能力。如果原始伺服器存在防火牆限制,請參見SMC服務網域名稱有哪些,擷取SMC網域名稱和連接埠,並添加至防火牆白名單。
如果您的原始伺服器無法訪問公網或想通過私網傳輸提升遷移效率,請參考私網傳輸遷移方案。
在作業系統遷移頁面,單擊匯入遷移源。
根據介面提示配置參數並複製啟用碼命令,關於參數的說明,具體如下表所示。
參數
說明
遷移源類型
選擇阿里雲ECS雲端服務器。
匯入方式
選中命令列匯入。
啟用數額度
啟用碼可啟用的遷移源數量。取值範圍為1~1000 ,預設為200。
有效期間
啟用碼的有效期間。取值範圍為1~90天,預設為90天。
啟用碼
產生啟用碼後,複製命令。操作步驟如下:
單擊生成啟動碼。
單擊Linux Shell頁簽。
單擊複製,複製啟用碼命令。
登入原始伺服器,使用管理員權限粘貼並運行複製的命令,執行匯入遷移源的操作。
登入Linux原始伺服器。
使用管理員權限粘貼並運行複製的命令,執行匯入遷移源的操作。

執行命令後,出現類似
Import Source Server [s-bp18x8751kgz2oyh****] Successfully!回顯資訊,表示匯入遷移源成功。
在SMC控制台的作業系統遷移頁面的遷移即時狀態列,查看遷移源的狀態。
通過SMC用戶端匯入遷移源
關於SMC用戶端的更多資訊,請參見SMC用戶端使用指南。
在作業系統遷移頁面,單擊匯入遷移源。
在匯入遷移源頁面,配置相關參數,參數說明如下表所示。
參數
說明
遷移源類型
阿里雲ECS雲端服務器
匯入方式
選中用戶端匯入。
匯入說明
在匯入說明後,請根據原始伺服器作業系統(Linux和Windows)和位元(32位和64位),下載對應的SMC用戶端。
匯入遷移源。
重要遷移過程中請勿關閉SMC用戶端。否則遷移源將與SMC控制台失聯,導致遷移失敗。
使用支援檔案傳輸的遠端連線工具(如WinSCP)將擷取的SMC用戶端上傳至Linux原始伺服器。
遠端連線Linux原始伺服器並解壓SMC用戶端壓縮包。
本樣本以
Linux 64位通用版為例,如果使用其他版本SMC用戶端,請將命令中的壓縮包名稱需要替換為實際下載的檔案名稱。tar -zxvf go2aliyun_client.tar.gz說明Linux 64位ARM版支援的執行個體規格類型系列為通用型執行個體規格類型系列g6r和計算型執行個體規格類型系列c6r。更多執行個體規格資訊,請參見企業級ARM運算規格類型系列。
(可選)您可按需過濾、排除不需要遷移的檔案或目錄。
重要如果開啟塊複製功能遷移,則不支援排除不遷移的檔案或目錄。
擷取啟用碼或者存取金鑰(AccessKey)。
(推薦)擷取啟用碼:在SMC控制台的匯入說明中,單擊產生啟用碼並複製啟用碼資訊。
擷取存取金鑰(AccessKey):阿里雲帳號的存取金鑰AccessKey包括AccessKey ID和AccessKey Secret,如果您未建立,請先建立。具體操作,請參見建立AccessKey。
在SMC用戶端檔案夾下,執行以下命令,運行SMC用戶端。
cd go2aliyun_client_linux_x86_64 sudo chmod +x go2aliyun_client sudo ./go2aliyun_client根據提示資訊,輸入啟用碼或者存取金鑰(AccessKey)。本樣本以輸入啟用碼為例:

輸入啟用碼或者存取金鑰後,可能會出現以下提示資訊:
若遷移源系統沒有安裝快照驅動,則SMC用戶端會提示,具體如下圖所示,您可根據需求選擇是否安裝快照驅動。
如果在建立遷移任務時啟用塊複製,則輸入
yes,自動安裝快照驅動。如果在建立遷移任務時不啟用塊複製,則輸入
no即可。
重要如果安裝快照驅動失敗,請勿在建立遷移任務時啟用塊複製,否則會導致遷移失敗。

多數主流遷移源系統已預設安裝rsync。若沒有安裝,則SMC用戶端會提示,請輸入
yes自動安裝rsync,如下圖所示。
若遷移源系統的SELinux處於開啟狀態,則SMC用戶端會提示您關閉。請輸入
yes自動關閉SELinux,如下圖所示。
在SMC控制台的作業系統遷移頁面的遷移即時狀態列,查看遷移源的狀態。
步驟二:遷移配置
在目標遷移源的操作列,單擊開始遷移。
在彈出的遷移配置對話方塊中,配置參數資訊。
作業系統遷移參數配置說明如下所示:
當前作業系統:預設顯示當前作業系統,不可修改。例如:CentOS 7。
目標作業系統:在下拉式清單中選擇目標作業系統。例如:Alibaba Cloud Linux 3。
遷移演練(可選項):
根據需要來決定是否開啟遷移演練,預設開啟。目前僅支援Linux作業系統遷移。更多資訊,請參見配置遷移演練。
說明遷移演練是在實際遷移前對遷移方案進行類比和驗證的過程。它可以協助使用者在實際遷移前充分瞭解遷移方案的可行性和風險,從而減少實際遷移中可能出現的問題和損失。
遷移演練可以協助您快速發現遷移中存在的潛在問題,並提供修複方案,提升遷移成功率。
執行方式(條件必選):
若遷移演練開啟時,可在執行方式選項中,更換所需的遷移演練執行方式。預設選項是演練並遷移。
兩種方式的區別如下:
僅演練:僅建立遷移演練任務,遷移演練完成後,如果需要作業系統遷移,需要手動啟動作業系統遷移任務。
演練並遷移:遷移演練完成後,如果不存在狀態為嚴重的演練項,系統自動啟動作業系統遷移任務。
單擊開始遷移,在彈出的作業系統遷移請確認對話方塊中,仔細閱讀注意事項後,單擊我確認我已知曉。
在作業系統遷移頁面,查看遷移即時狀態。
警告在作業系統遷移的過程中,請勿人工或通過營運指令碼對該Linux執行個體執行停止、重啟、釋放等操作,否則會導致作業系統遷移失敗。
驗證遷移結果
資源清理
遷移時,SMC會對ECS執行個體的雲端硬碟建立名稱為SMC_Backup_Snapshot_XXX的隨用隨付快照,用於備份資料。如果您不再需要此快照,請及時刪除快照,避免不必要的計費。具體操作,請參見刪除快照。

