全部產品
Search
文件中心

Server Migration Center:作業系統遷移(Linux)

更新時間:Oct 12, 2024

由於作業系統停止維護(EOL)、開源計劃演化等原因,您在作業系統遷移及升級的同時需要保留ECS執行個體系統硬碟的資料時,可以通過SMC實現。本文主要介紹如何通過SMC進行作業系統遷移或者升級。

說明

通過SMC將CentOS 7/8遷移至RedHat 7/8目前僅對部分使用者開放,如果您想體驗此功能,可以提交工單進行申請。

背景資訊

作業系統因生命週期、第三方支援等原因將會停止支援人員,例如CentOS官方將停止維護CentOS 7/CentOS 8等Linux專案,這些進入到停止維護周期(EOL)的作業系統版本將面臨更大的安全性漏洞威脅。如果您的ECS執行個體作業系統滿足SMC作業系統遷移條件,可通過SMC平滑遷移或升級到新的作業系統版本,以得到更長的維護周期和支援人員。更多資訊,請參見鏡像維護周期和EOL應對方案

遷移及升級情境

遷移CentOS 7/8

作業系統架構

源作業系統

目標作業系統

X86

CentOS 7.x

  • AnolisOS 7

  • AnolisOS 8

  • Alibaba Cloud Linux 2

  • Alibaba Cloud Linux 3

    說明

    更多有關Alibaba Cloud Linux資訊,請參見什麼是Alibaba Cloud Linux

CentOS 7.9

RedHat 7

CentOS 8.x

  • AnolisOS 8

  • Alibaba Cloud Linux 3

CentOS 8.5

RedHat 8

ARM64

CentOS 7.x

  • AnolisOS 7

  • AnolisOS 8

  • Alibaba Cloud Linux 3

CentOS 8.x

  • AnolisOS 8

  • Alibaba Cloud Linux 3

遷移RedHat 7/8

作業系統架構

源作業系統

目標作業系統

x86

RedHat 7.9

Alibaba Cloud Linux 3

RedHat 8.x

升級Alibaba Cloud Linux 2

作業系統架構

源作業系統

目標作業系統

x86

Alibaba Cloud Linux 2

Alibaba Cloud Linux 3

遷移前須知

須知項

說明

全面測實驗證

在遷移前,強烈建議您預先在目標作業系統環境下完成所有商務應用程式的全面測實驗證,以確保應用程式與目標作業系統之間的相容性及效能表現,從而有效避免遷移後可能出現的業務運行不暢或功能失效等問題。

同時,遷移升級前和遷移過程中,系統會對源執行個體進行遷移條件檢測及遷移預評估。如果源系統不滿足遷移條件或遷移預評估失敗,遷移會出錯中斷,並不能保證一定能遷移升級成功,建議您提前熟悉遷移條件限制及出錯排查文檔並進行測試。

資料做好備份

遷移過程中系統會對ECS執行個體執行建立普通雲端硬碟快照、重新安裝軟體包、建立系統硬碟自訂鏡像、更換系統硬碟、停止、啟動等操作。建議您對重要資料做好備份併合理安排遷移時間,避免因上述操作對業務造成影響。

遷移未結束前請勿正式使用ECS雲端服務器

遷移演練或取消遷移過程可能會自動復原到遷移前的快照,遷移期間產生的資料將丟失,遷移任務未結束前請勿正式使用ECS雲端服務器。

確保沒有正在建立中的快照

如果有正在建立中的快照會導致遷移失敗,請您等待快照建立完成後,再開始遷移。

評估業務影響

遷移升級過程中,源執行個體系統會被安裝或更新系統核心及軟體包,並自動重啟多次,期間業務無法正常運行,建議評估影響暫停業務後再進行操作,同時在正常遷移過程中不要操作使用源執行個體系統。

計費說明

遷移過程中系統會對ECS執行個體的全部雲端硬碟建立快照以備份資料,快照以隨用隨付方式收取一定費用。更多資訊,請參見產品計費

遷移限制

限制類別

限制說明

通用限制

  • Anolis OS和Alibaba Cloud Linux系統不提供i686架構的軟體包,如您的系統上安裝了CentOS的i386(包括i686)架構的軟體包,則無法正常遷移。

  • 如果Elastic Compute Service通過自訂鏡像建立,則不支援作業系統遷移。

  • 作業系統遷移工具在遷移過程中涉及軟體包的下載與安裝,會產生一定的資源消耗。因此,遷移前您需要確保執行個體內保留了以下可用的資源容量:

    • 記憶體大小:600 MiB

    • 雲端硬碟容量:

      • /usr目錄需要250 MiB

      • /var目錄需要4 GiB

      • /boot目錄需要100 MiB

    說明

    如果您的執行個體對應的計算資源(vCPU與記憶體)、儲存資源(系統硬碟與資料盤)較小,建議您停止執行個體內的業務再進行作業系統遷移,避免因資源不足而導致遷移失敗。

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時,工具會對待遷移的作業系統進行基礎判斷。

前提條件

  • 已完成遷移前準備工作。具體操作,請參見遷移前準備

  • 待遷移ECS執行個體需為VPC網路執行個體。如果是傳統網路執行個體,需先遷移到VPC網路環境。具體操作,請參見ECS執行個體從傳統網路遷移到專用網路

  • 已對源系統和資料做快照進行備份,必要時可恢複。具體操作,請參見建立快照

    重要

    遷移會對作業系統核心、軟體包、配置等進行修改,修改無法復原。

  • 遷移過程依賴於yum或者dnf,需確保這兩個組件能夠正常運行。

  • 遷移後原系統硬碟會被釋放,如果原系統硬碟設定了自動快照隨雲端硬碟釋放,關聯的自動快照預設也會被釋放。如果您需要保留此快照,您可以手動取消自動快照隨雲端硬碟釋放。具體操作,請參見設定自動快照隨雲端硬碟釋放

  • 如果您需要遷移CentOS 7/8至RedHat 7/8,則需要確保源系統可訪問以下公網:

    • https://www.redhat.com

    • https://ftp.redhat.com

    • https://cdn-public.redhat.com

    • https://developer.aliyun.com

    • http://developer.aliyun.com

遷移操作

  1. (條件必選)如果您需要遷移CentOS 7/8至RedHat 7/8,則必須完成以下操作,否則請跳過此步驟。

    1. 如果源系統已安裝Security Center用戶端,則需要先卸載。

      說明

      遷移升級完成後可再安裝。具體操作,請參見手動安裝

      用戶端卸載後會有一段保護期。如果您需要再次為伺服器安裝用戶端,您必須在用戶端卸載超過24小時後,重新安裝用戶端。如果您不想等待,可在伺服器上重複執行3次以上安裝命令才能重新安裝成功(忽略其間的報錯),否則重新安裝的用戶端會被自動卸載。

      1. 阿里雲雲安全用戶端卸載介面,選擇執行個體進行卸載。具體操作,請參見卸載用戶端

      2. 使用遠端連線工具串連伺服器,執行以下命令。

        wget "http://update2.aegis.aliyun.com/download/uninstall.sh" && chmod +x uninstall.sh && ./uninstall.sh
        if ! lsmod | grep AliSecGuard; then echo 'Uninstall Success'; else echo "Uninstall Failed"; fi

        如果返回Uninstall Success,表示Security Center用戶端已成功卸載。

    2. 執行以下命令,將源系統升級至最新核心版本。

      CentOS 7

      #備份原yum軟體源並更新為阿里雲CentOS 7源
      mv /etc/yum.repos.d/ /etc/yum.repos.d.backup/
      mkdir -p /etc/yum.repos.d/
      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
      yum clean all
      yum makecache
      #更新系統並重啟
      yum -y update
      reboot

      CentOS 8

      #備份原yum軟體源並更新為阿里雲CentOS 8源
      mv /etc/yum.repos.d/ /etc/yum.repos.d.backup/
      mkdir -p /etc/yum.repos.d/
      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-8.repo
      wget -O /etc/yum.repos.d/epel-archive-8.repo http://mirrors.cloud.aliyuncs.com/repo/epel-archive-8.repo
      yum clean all
      yum makecache
      #更新系統並重啟
      yum -y update
      reboot
  2. 作業系統遷移。

    快速遷移(推薦)

    說明

    使用此方式需要滿足以下條件:

    • 原始伺服器(即源ECS執行個體)需要具備公網訪問能力

    • 原始伺服器需已安裝雲助手Agent(2017年12月01日之後使用公用鏡像建立的ECS執行個體,預設預裝了雲助手Agent)。

    • 如果您使用RAM使用者匯入遷移源,則需要為RAM使用者授權:

      • 需要授予RAM使用者唯讀訪問RAM許可權AliyunRAMReadOnlyAccess。具體操作,請參見為RAM使用者授權

      • 需要為RAM使用者授予雲助手系統管理權限AliyunECSAssistantFullAccess。具體操作,請參見存取控制RAM介紹

    1. 登入SMC控制台

    2. 在左側導覽列,選擇雲上遷移 > 作業系統遷移

    3. 在頁面左上方,單擊升級作業系統

    4. 在彈出的升級作業系統對話方塊中,配置參數。

      參數

      說明

      樣本

      選擇遷移源

      在下拉式清單分別選擇待遷作業系統所在ECS執行個體的地區和執行個體ID/名稱。

      • 地區:華東一(杭州)

      • 執行個體ID/名稱:i-2ze4looqfx****/test

      當前作業系統

      預設顯示當前作業系統,不可修改。

      CentOS 7

      目標作業系統

      在下拉式清單中選擇目標作業系統。

      Alibaba Cloud Linux 3

    5. 選中我已知曉以上風險,同意並授權阿里雲為該執行個體的全部雲端硬碟建立快照後,單擊建立

    6. 在彈出的作業系統遷移請確認對話方塊中,仔細閱讀注意事項後,單擊我確認我已知曉

    7. 建立遷移任務對話方塊中,單擊立即查看,等待遷移任務完成。

      警告

      在作業系統遷移的過程中,請勿人工或通過營運指令碼對Windows執行個體執行停止、重啟、釋放等操作,否則會導致作業系統遷移失敗。

    分段移轉

    步驟一:匯入遷移源

    遷移源概指您的待遷移IDC伺服器、虛擬機器、其他雲平台的雲主機或其他類型的伺服器。SMC支援多種匯入遷移源方式,您可以根據實際需要選擇對應的匯入遷移源方式。更多資訊,請參見如何選擇匯入遷移源方式?

    命令列一鍵匯入遷移源(推薦)

    重要

    原始伺服器需要具備公網訪問能力

    1. 登入SMC控制台

    2. 在左側導覽列,選擇雲上遷移 > 作業系統遷移

    3. 作業系統遷移頁面,單擊匯入遷移源

    4. 根據介面提示配置參數並複製啟用碼命令,關於參數的說明,具體如下表所示。

      參數

      說明

      遷移源類型

      選擇阿里雲ECS雲端服務器

      匯入方式

      選中命令列匯入

      啟用數額度

      請輸入啟用碼可啟用的遷移源數量。取值範圍為1~1000 ,預設為10。

      有效期間

      請輸入啟用碼的有效期間。取值範圍為1~90天,預設為30天。

      啟用碼

      產生啟用碼後,複製命令。操作步驟如下:

      1. 單擊產生啟用碼

      2. 單擊Linux Shell頁簽。

      3. 單擊複製,複製啟用碼命令。

    5. 登入原始伺服器,使用管理員權限粘貼並運行複製的命令,執行匯入遷移源的操作。

      1. 登入Linux原始伺服器。

      2. 使用管理員權限粘貼並運行複製的命令,執行匯入遷移源的操作。

        image.png

        執行命令後,出現類似Import Source Server [s-bp18x8751kgz2oyh****] Successfully!回顯資訊,表示匯入遷移源成功。

    6. 在SMC控制台的伺服器遷移頁面的遷移即時狀態列,查看遷移源的狀態。

      • 如果遷移源為遷移源線上狀態,表示匯入遷移源成功。

      • 如果遷移源為其他狀態,表示匯入遷移源失敗。請參見以下方案解決問題後,重新匯入遷移源。

        • 請根據控制台出錯提示或者通過查看SMC用戶端目錄下記錄檔解決問題。SMC用戶端預設安裝目錄如下:

          • Windows原始伺服器:預設安裝目錄為 C:\smc

          • Linux原始伺服器:預設安裝目錄為/smc

        • 常見問題及修複方案,請參見SMC FAQ故障排除

    通過SMC用戶端匯入遷移源

    關於SMC用戶端的更多資訊,請參見SMC用戶端使用指南

    1. 登入SMC控制台

    2. 在左側導覽列,選擇雲上遷移 > 作業系統遷移

    3. 作業系統遷移頁面,單擊匯入遷移源

    4. 匯入遷移源頁面,配置相關參數,參數說明如下表所示。

      參數

      說明

      遷移源類型

      選擇阿里雲ECS雲端服務器

      匯入方式

      選中用戶端匯入

      匯入說明

      匯入說明後,請根據原始伺服器作業系統的架構(Arm和x86)和位元(32位和64位),下載對應的SMC用戶端。

    5. 匯入遷移源。

      重要

      遷移的過程中請勿關閉SMC用戶端直至遷移完成。否則,遷移源將與SMC控制台失去聯絡,無法完成遷移。

      1. 使用支援檔案傳輸的第三方遠端連線工具將SMC用戶端壓縮包上傳至Linux原始伺服器。例如:WinSCP。

      2. 遠端連線Linux原始伺服器並解壓SMC用戶端壓縮包。

        本樣本中以解壓Linux 64位通用版為例,如果您使用其他版本的SMC用戶端,命令中的壓縮包名稱需要替換為實際下載的SMC用戶端名稱。

        tar xf go2aliyun_client_linux_x86_64.tar.gz
        說明

        Linux 64位ARM版支援的執行個體規格類型系列為通用型執行個體規格類型系列g6r和計算型執行個體規格類型系列c6r。更多執行個體規格資訊,請參見企業級ARM運算規格類型系列

      3. (可選)如果您不需要遷移部分檔案或目錄,可排除不遷移的檔案或目錄。具體操作,請參見如何過濾、排除不需要遷移的檔案或目錄?

        重要

        如果開啟塊複製功能遷移,則不支援排除不遷移的檔案或目錄。

      4. 擷取啟用碼或者存取金鑰(AccessKey)。

        • (推薦)擷取啟用碼:在SMC控制台的匯入說明中,單擊產生啟用碼並複製啟用碼資訊。

        • 擷取存取金鑰(AccessKey):阿里雲帳號的存取金鑰AccessKey包括AccessKey ID和AccessKey Secret,如果您未建立,請先建立。具體操作,請參見建立AccessKey

      5. 在SMC用戶端檔案夾下,執行以下命令,運行SMC用戶端。

        根據遷移源作業系統對root許可權和sudo許可權的支援情況,選擇運行方式。

        使用root許可權運行
        cd go2aliyun_client_linux_x86_64
        chmod +x go2aliyun_client
        ./go2aliyun_client
        使用sudo許可權運行
        cd go2aliyun_client_linux_x86_64
        sudo chmod +x go2aliyun_client
        sudo ./go2aliyun_client
      6. 根據提示資訊,輸入啟用碼或者存取金鑰(AccessKey)。本樣本以輸入啟用碼為例:adad

        輸入啟用碼或者存取金鑰後,可能會出現以下提示資訊:

        • 若遷移源系統沒有安裝快照驅動,則SMC用戶端會提示,具體如下圖所示,您可根據需求選擇是否安裝快照驅動。

          • 如果在建立遷移任務時啟用塊複製,則輸入yes,自動安裝快照驅動。

          • 如果在建立遷移任務時不啟用塊複製,則輸入no即可。

          重要

          如果安裝快照驅動失敗,請勿在建立遷移任務時啟用塊複製,否則會導致遷移失敗。

          123

        • 多數主流遷移源系統已預設安裝rsync。若沒有安裝,則SMC用戶端會提示,請輸入yes自動安裝rsync,如下圖所示。安裝rsync

        • 若遷移源系統的SELinux處於開啟狀態,則SMC用戶端會提示您關閉。請輸入yes自動關閉SELinux,如下圖所示。關閉SELinux

        當回顯出現類似Import Source Server [s-bp11npxndknsycqj****] Successfully!的資訊時,表示匯入遷移源成功。

        說明

        如果匯入遷移源失敗,您可以根據回顯資訊,解決問題後,根據遷移源作業系統對root許可權和sudo許可權的支援情況,依次運行以下命令,退出背景程式並重新匯入遷移源。常見問題及修複方案的更多資訊,請參見SMC FAQ故障排除

        使用sudo許可權
        sudo ./go2aliyun_client --abort
        sudo ./go2aliyun_client
        使用root許可權
        ./go2aliyun_client --abort
        ./go2aliyun_client
    6. 在SMC控制台的作業系統遷移頁面的遷移即時狀態列,查看遷移源的狀態。

      • 如果遷移源為遷移源線上狀態,表示匯入遷移源成功。

      • 如果遷移源為其他狀態,表示匯入遷移源失敗。請參見以下方案解決問題後,重新匯入遷移源。

        • 請根據控制台出錯提示或者通過查看SMC用戶端目錄下記錄檔解決問題。SMC用戶端預設安裝目錄為 /smc

        • 常見問題及修複方案,請參見SMC FAQ故障排除

    步驟二:建立遷移任務

    1. 在目標遷移源的操作列,單擊開始遷移

    2. 根據介面提示配置相關參數後,單擊立即建立

      作業系統遷移參數配置說明如下所示:

      • 當前作業系統:預設顯示當前作業系統,不可修改。例如:CentOS 7。

      • 目標作業系統:在下拉式清單中選擇目標作業系統。例如:Alibaba Cloud Linux 3。

      • 遷移演練(可選項):

        根據需要來決定是否開啟遷移演練,預設開啟。目前僅支援Linux作業系統遷移。更多資訊,請參見配置遷移演練

        說明

        遷移演練是在實際遷移前對遷移方案進行類比和驗證的過程。它可以協助使用者在實際遷移前充分瞭解遷移方案的可行性和風險,從而減少實際遷移中可能出現的問題和損失。

        遷移演練可以協助您快速發現遷移中存在的潛在問題,並提供修複方案,提升遷移成功率。

      • 執行方式(條件必選):

        遷移演練開啟時,可在執行方式選項中,更換所需的遷移演練執行方式。預設選項是演練並遷移

        兩種方式的區別如下:

        • 僅演練:僅建立遷移演練任務,遷移演練完成後,如果需要作業系統遷移,需要手動啟動作業系統遷移任務。

        • 演練並遷移:遷移演練完成後,如果不存在狀態為嚴重的演練項,系統自動啟動作業系統遷移任務。

    3. 在彈出的作業系統遷移請確認對話方塊中,仔細閱讀注意事項後,單擊我確認我已知曉

    4. 建立遷移任務對話方塊中,單擊立即查看,等待遷移任務完成。

      警告

      在作業系統遷移的過程中,請勿人工或通過營運指令碼對Linux執行個體執行停止、重啟、釋放等操作,否則會導致作業系統遷移失敗。

驗證遷移結果

  • 當遷移即時狀態為已完成時,表示作業系統遷移成功。

    image

    說明

    遷移任務完成後,ECS執行個體會自動重啟,在系統初始化階段進行更新軟體包等操作,請勿對ECS執行個體進行操作,等待系統啟動成功即可。系統初始化階段大約需要10分鐘,具體時間與系統軟體包數量有關。

    在目標遷移源的操作列下單擊查看目標執行個體,然後在ECS執行個體的執行個體詳情頁簽下的配置資訊地區,查看作業系統已經遷移為目標系統。

    image

    重要

    遷移升級後,源執行個體系統會被升級為新的系統核心及軟體包,原有應用資料不變,但應用軟體可能由於環境或依賴關係改變而無法正常運行,導致業務無法正常運行,請您做好測實驗證。

  • 遷移即時狀態出錯時,表示遷移任務出錯。

    此時,您需要排查問題後重試:

    1. 操作列,單擊排查錯誤,根據錯誤碼和錯誤資訊提示修複問題。更多資訊,請參見SMC FAQ故障排除

    2. 遷移任務頁面,單擊重試任務

      遷移任務會從上一次結束的進度處繼續遷移。

      重要

      如果中轉執行個體已被釋放,需要重新遷移。具體操作,請參見誤釋放了中轉執行個體怎麼辦

    如果需要復原源系統雲端硬碟資料,您可以在快照列表使用自動備份的快照進行資料恢複。操作步驟如下:

    1. 登入ECS管理主控台

    2. 在左側導覽列,選擇儲存與快照 > 快照

    3. 雲端硬碟快照頁簽下,在自動備份的快照操作列,單擊復原磁碟adada56

    4. 在彈出的復原雲端硬碟對話方塊中,單擊確定

資源清理

遷移時,SMC會對ECS執行個體的雲端硬碟建立2塊名稱為SMC_Backup_Snapshot_XXXSMC_Transition_Snapshot_XXX的隨用隨付快照,用於備份和中轉資料。您需要根據遷移是否成功選擇是否需要手動清理該快照:

  • 遷移成功:快照會自動釋放,您無需手動清理。

  • 遷移出錯:快照會隨遷移任務一直存在併產生費用。您可以選擇以下方式釋放快照,避免不必要的計費:

    • 如果您已確認不再使用該遷移任務,單擊遷移源ID,在遷移任務的操作列,單擊清理遷移,通過刪除遷移任務自動刪除快照。

    • 手動刪除快照。具體操作,請參見刪除快照