全部產品
Search
文件中心

Server Migration Center:伺服器遷移至容器鏡像

更新時間:Aug 24, 2024

由於容器具有成本低、高效部署、可移植性強、環境一致性等優勢,您可以通過SMC將Linux原始伺服器遷移為容器鏡像,然後使用容器鏡像部署容器應用,從而實現低成本容器化應用遷移。

說明
  • 阿里雲Container RegistryACR(Alibaba Cloud Container Registry)是面向容器鏡像、Helm Chart等符合OCI標準的雲原生製品安全託管及高效分發平台。ACR企業版支援全球同步加速、大規模和大鏡像分發加速、多代碼源構建加速等全鏈路加速能力,與Container ServiceACK無縫整合,協助企業降低交付複雜度,打造雲原生應用一站式解決方案。更多資訊,請參見什麼是Container RegistryACR

  • 阿里雲Container ServiceKubernetes版ACK(Container Service for Kubernetes)是全球首批通過Kubernetes一致性認證的服務平台,提供高效能的容器應用管理服務,支援企業級Kubernetes容器化應用的生命週期管理,讓您輕鬆高效地在雲端運行Kubernetes容器化應用。更多資訊,請參見產品簡介

使用限制

僅x86架構Linux作業系統的伺服器支援遷移為容器鏡像。

遷移影響

在遷移之前,請先瞭解以下事項,具體如下表所示。

影響項

說明

遷移資料目錄

遷移時,SMC能夠擷取遷移源的磁碟分割結構,在建立遷移任務時自動產生目標磁碟分割。在儘可能保持遷移源磁碟分割結構的同時,提高遷移的傳輸速率。

  • 當未啟用塊複製時,預設會遷移系統根目錄下的所有目錄(包括掛載在根目錄下的其他分區目錄),產生一個系統硬碟分區。如果您需要將其他分區目錄遷移為一個獨立的資料盤,例如:/disk1,必須在建立遷移任務時選中並配置資料盤。如果不需要遷移某些分區目錄,具體操作,請參見如何過濾、排除不需要遷移的檔案或目錄?

  • 當啟用塊複製時,預設只會遷移系統硬碟根分區目錄,例如://boot等分區。如果您需要遷移其他分區,必須在建立遷移任務時選中並配置資料盤。

中轉執行個體

請勿幹涉中轉執行個體 。

每次遷移時,SMC會在您的阿里雲目標帳號下建立一台名為No_Delete_SMC_Transition_Instance的臨時中轉執行個體(預設執行個體規格範圍請參見中轉執行個體規格有哪些),用於輔助遷移。為避免遷移失敗,遷移過程中請勿停止、啟動、重啟或者釋放中轉執行個體。遷移完成後,該中轉執行個體會自動釋放。

說明

如果選擇遷移到目標執行個體,目標執行個體即為中轉執行個體。

IP地址

遷移後IP地址會發生變化,如果業務涉及IP地址的配置,遷移後請自行修改。

系統底層硬體裝置

遷移後,系統底層硬體裝置會發生變化,可能會導致某些與硬體綁定的應用許可證(License)失效,請做好檢查。

前提條件

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

  • 已開通Container Registry並建立鏡像倉庫。具體操作,請參見構建倉庫與鏡像

  • 已建立SMC中轉執行個體所需的RAM角色。具體操作,請參見建立可信實體為阿里雲服務的RAM角色

    關鍵參數說明如下。

    • 可信實體類型選擇阿里雲服務

    • 角色類型選擇普通服務角色

    • 受信服務選擇雲端服務器

  • 已建立滿足容器鏡像遷移的自訂策略並為RAM角色授權該策略。具體操作,請參見建立自訂權限原則為RAM角色授權

    自訂策略如下所示。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetAuthorizationToken",
                    "cr:PushRepository",
                    "cr:PullRepository",
                    "cr:CreateRepository"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

遷移操作

步驟一:匯入遷移源

遷移源概指您的待遷移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故障排除

通過控制台自動匯入遷移源

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

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

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

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

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

  1. 登入SMC控制台

  2. 在左側導覽列,選擇遷移上雲 > 伺服器遷移

  3. 伺服器遷移頁面,單擊匯入遷移源

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

    參數

    說明

    遷移源類型

    選擇物理機/虛擬機器/雲端服務器

    匯入方式

    選中控制台匯入

    遷移源名稱

    輸入遷移源名稱。長度為2~128個英文或中文字元。必須以大小寫字母或中文開頭,不能以http://https://開頭。可以包含數字、半形冒號(:)、底線(_)或者中劃線(-)。

    作業系統類型

    選擇Linux

    IP地址

    請輸入可通過公網訪問的IPv4地址,例如:120.55.XX.XX。

    連接埠

    請輸入遷移源端SSH服務連接埠號碼。取值範圍:1~65535,預設為22。

    使用者名稱

    請輸入作業系統的使用者名稱,預設為root

    密碼

    請輸入作業系統的使用者名稱對應的密碼。

  5. 配置參數後,單擊匯入

    匯入遷移源大約需要3~10分鐘,請您耐心等待。

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

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

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

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

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

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

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

通過SMC用戶端匯入遷移源

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

  1. 登入SMC控制台

  2. 在左側導覽列,選擇遷移上雲 > 伺服器遷移

  3. 伺服器遷移頁面,單擊匯入遷移源

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

    參數

    說明

    遷移源類型

    選擇物理機/虛擬機器/雲端服務器

    匯入方式

    選中用戶端匯入

    匯入說明

    匯入說明後,請根據原始伺服器作業系統的架構(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用戶端。

      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!的資訊時,表示匯入遷移源成功。

      說明

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

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

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

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

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

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

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

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

步驟二:建立遷移任務

  1. 在目標遷移源的操作列,單擊建立遷移任務

  2. 建立遷移任務對話方塊中,配置相關參數後,單擊建立

    1. 配置基本參數,參數說明具體如下表所示。

      參數

      說明

      樣本

      任務名稱

      遷移任務的名稱。

      容器遷移

      任務描述

      輸入遷移任務的描述。

      test

      目標類型(必填)

      選擇容器鏡像

      容器鏡像

      目標地區(必填)

      目標地區指您的伺服器要遷入阿里雲的地區。關於地區的更多資訊,請參見地區和可用性區域

      杭州

      容器鏡像命名空間(必填)

      選擇存放遷移產生的容器鏡像倉庫的命名空間。如未建立命名空間,具體操作,請參見管理命名空間與配額

      容器鏡像倉庫名稱(必填)

      選擇存放遷移產生的容器鏡像的倉庫名稱。如未建立鏡像倉庫,具體操作,請參見構建倉庫與鏡像

      容器鏡像版本

      輸入存放遷移產生的容器鏡像的版本資訊。

      v1

      容器鏡像RAM角色(必填)

      選擇綁定中轉執行個體的執行個體角色。如未建立RAM角色,請參見建立可信實體為阿里雲服務的RAM角色

      執行方式

      選擇遷移任務執行方式:

      • 立即執行:建立遷移任務後立即啟動。預設選擇立即執行

      • 預約執行:建立遷移任務後,在設定的時間自動啟動遷移任務。

        說明

        預約執行時間最早可設定為目前時間後10分鐘。

      • 只建立:僅建立遷移任務,後續需要在操作列單擊開始任務,手動啟動遷移任務。

      保持預設

  3. 配置磁碟參數,參數說明具體如下表所示。

    參數

    說明

    樣本

    目標磁碟(GiB)

    設定目標雲端服務器的磁碟結構。根據業務需求配置相關參數:

    系統硬碟

    • 系統硬碟:目標阿里雲雲端服務器系統硬碟的大小,單位為GiB。系統硬碟大小取值範圍為20~2048。目標系統硬碟取值需要大於遷移源系統硬碟實際佔用大小。例如,源系統硬碟大小為400 GiB,實際佔用100 GiB,則目標系統硬碟取值需大於100 GiB。

      說明

      預設值為遷移源系統硬碟大小,如無縮小系統硬碟容量的需要,建議不要小於預設值。

    • 分區<N>:SMC能夠根據遷移源的磁碟分割結果自動產生目標磁碟分割,單位為GiB。N的取值範圍:0~14。變數<N>表示第幾個分區。如果遷移源的系統硬碟是單分區結構,則只會產生分區0

    資料盤

    • 資料盤<N>:表示遷移後阿里雲雲端服務器資料盤的大小,單位為GiB。 資料盤大小取值範圍:20~32768。

      • 您可以設定資料盤前複選框的選中情況,自行選擇是否遷移目標資料盤。

      • 變數<N>表示第幾個資料盤。

      • 資料盤取值需要大於遷移來源資料盤的實際佔用大小。例如,來源資料盤大小為500 GiB,實際佔用100 GiB,則目標資料盤取值需大於100 GiB。

    • 分區<N>:SMC能夠根據遷移源的磁碟分割結果自動產生目標磁碟分割,單位為GiB。 取值範圍:0~14。變數<N>表示第幾個分區。如果遷移源的資料盤是單分區結構,則只會產生分區0

    說明

    若您的遷移源沒有資料盤,或資料盤未掛載,則不會出現資料盤配置項。更多資訊,請參見為什麼建立遷移任務頁面沒有出現資料盤配置項?

    塊複製

    SMC會根據遷移源磁碟分割狀態進行判斷是否支援開啟塊複製。

    • 如果遷移源不支援分區開啟塊複製,則該開關無法開啟。使用預設的檔案層級遷移,分區大小可修改。

    • 如果遷移源支援分區開啟塊複製,則預設開啟塊複製,實現分區層級的磁碟遷移。使用塊複製能有效提升遷移傳輸速度的穩定性,同時能夠保證跟來源資料分割結構一致,但分區大小無法修改。

    說明

    遷移源為Windows作業系統時,塊複製功能預設為開啟狀態,無法關閉該功能。

    保持預設

  4. (條件必選)如果您需要設定網路模式、壓縮率等參數,單擊進階配置,配置進階參數,參數說明具體如下表所示。

    參數

    說明

    樣本

    網路模式

    選擇傳輸遷移資料到中轉執行個體使用的網路,預設使用公網傳輸。中轉執行個體會被建立在所選Virtual Private Cloud、交換器(vSwitch)下,因此中轉執行個體會被分配公網IP。

    公網傳輸(預設)

    遷移資料通過公網傳輸到中轉執行個體。使用該模式,原始伺服器需能訪問公網。根據實際需要,選擇是否指定Virtual Private Cloud和交換器(vSwitch)。

    • 指定VPC和vSwitch:遷移任務在您指定的VPC和vSwitch下建立中轉執行個體。

    • 不指定VPC和vSwitch:遷移任務會在系統自動建立的VPC和vSwitch下建立中轉執行個體。

    私網傳輸

    遷移資料通過VPC內網傳輸到中轉執行個體。使用該模式,需要將原始伺服器與阿里雲VPC打通,並且必須指定VPC和vSwitch。

    說明

    如果您能直接從自建機房(Integrated Data Center,IDC)、虛擬機器環境或者雲主機訪問某一阿里雲地區下的Virtual Private Cloud,建議您使用該方式進行遷移。使用內網傳輸能獲得比通過公網更快速更穩定的資料轉送效果,提高遷移工作效率。您可以通過VPN網關、Express Connect物理專線、Smart Access Gateway將原始伺服器和雲上VPC打通。更多資訊,請參見串連本地IDC

    保持預設

    傳輸限速

    傳輸限速是限制實際網路傳輸速度,單位為Mbps。若設定壓縮率大於0,實際網路傳輸速度(即壓縮後資料的傳輸速度)小於遷移即時狀態中顯示的速度。

    保持預設

    壓縮率

    遷移過程中,資料壓縮傳輸的層級。請根據您的實際需要,設定壓縮率。

    • 在頻寬有限的環境下,使用高壓縮率,可以提升資料的傳輸速度。

    • 在頻寬很高的情況下,建議您不壓縮傳輸資料,可減少對遷移源CPU資源的耗費。

    取值範圍為0~10,預設值為7,0表示不壓縮傳輸資料。

    保持預設

    Checksum驗證

    預設關閉,開啟後,可增強資料一致性校正,但是可能會降低傳輸速度。

    保持預設

    遷移任務標籤

    為遷移任務綁定標籤索引值,便於查詢與管理遷移任務。更多資訊,請參見使用標籤管理遷移源和遷移任務通過標籤實現精微調權限管理

    說明

    同一個遷移任務最多可綁定20個標籤。

    保持預設

    中轉執行個體規格

    可根據實際需求選擇中轉執行個體規格。當目標類型選擇雲端服務器鏡像時,才會出現此參數。

    • 選擇中轉執行個體規格:系統會選擇該執行個體規格建立中轉執行個體。若該執行個體規格庫存不足,則遷移任務建立失敗。

    • 不選擇中轉執行個體規格:系統預設會按照順序選擇執行個體規格來建立中轉執行個體。

    重要

    為避免遷移出錯,請在遷移過程中請勿停止、啟動、重啟或者釋放中轉執行個體。

    保持預設

  5. 在彈出的對話方塊中,仔細閱讀遷移提示後,單擊我確認我已知悉

  6. 遷移任務頁面,查看遷移即時狀態。

    由於傳輸資料耗時受源端資料大小,網路頻寬等因素影響,請耐心等待遷移任務完成。

    說明

    遷移任務狀態為同步中時,速度剩餘同步時間說明如下:

    • 速度:指每秒傳輸的遷移資料量(即壓縮前資料的傳輸速度)。若在建立遷移任務時設定壓縮率大於0,該顯示速度將大於實際網路傳輸速度(即壓縮後資料的傳輸速度)。

    • 剩餘同步時間:根據當前速度計算的剩餘同步時間,剩餘同步時間=(總資料量-已傳輸資料量)/速度。

    image

    在遷移任務狀態為同步中時,您也可以根據實際需求,對遷移任務執行以下操作:

    • 編輯遷移任務:在操作列單擊編輯任務,修改傳輸限速、壓縮率、Checksum驗證參數。

    • 暫停遷移任務:在操作列單擊暫停任務,暫停遷移任務。

驗證遷移結果

  • 遷移即時狀態已完成時,表示遷移成功。

    image

    遷移成功後會產生阿里雲容器鏡像,您可以通過容器鏡像部署容器應用。具體操作如下:

    1. 建立ACK叢集。具體操作,請參見建立叢集

    2. 在遷移源的操作列,單擊部署應用,系統跳轉到建立應用頁面。

    3. 建立應用。具體操作,請參見建立無狀態工作負載Deployment

    4. 遷移伺服器後,您需要對資料校正和驗證,確保資料的完整性和正確性。具體操作,請參見遷移Linux伺服器後怎麼檢查系統?

      說明

      如果原始伺服器已經綁定網域名稱,遷移後公網IP地址會發生變化,請將網域名稱解析到新的伺服器公網IP地址。具體操作,請參見快速添加網站解析

  • 遷移即時狀態出錯時,表示遷移任務出錯。此時,您需要排查問題後重試:

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

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

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

      重要

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

清理資源

遷移時,SMC會在您的阿里雲目標帳號下建立一台名稱為No_Delete_SMC_Transition_Instance的臨時隨用隨付中轉執行個體,用於輔助遷移。您需要根據遷移是否成功選擇是否需要手動清理:

  • 遷移成功:中轉執行個體會自動釋放,您無需手動清理。

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

    • 如果您已確認不再使用該遷移任務,在操作列選擇image > 刪除,通過刪除遷移任務自動清理中轉執行個體。

    • 手動釋放中轉執行個體。具體操作,請參見釋放執行個體