由于容器具有成本低、高效部署、可移植性強、環境一致性等優勢,您可以通過SMC將Linux源服務器遷移為容器鏡像,然后使用容器鏡像部署容器應用,從而實現低成本容器化應用遷移。
阿里云容器鏡像服務ACR(Alibaba Cloud Container Registry)是面向容器鏡像、Helm Chart等符合OCI標準的云原生制品安全托管及高效分發平臺。ACR企業版支持全球同步加速、大規模和大鏡像分發加速、多代碼源構建加速等全鏈路加速能力,與容器服務ACK無縫集成,幫助企業降低交付復雜度,打造云原生應用一站式解決方案。更多信息,請參見什么是容器鏡像服務ACR。
阿里云容器服務Kubernetes版ACK(Container Service for Kubernetes)是全球首批通過Kubernetes一致性認證的服務平臺,提供高性能的容器應用管理服務,支持企業級Kubernetes容器化應用的生命周期管理,讓您輕松高效地在云端運行Kubernetes容器化應用。更多信息,請參見產品簡介。
使用限制
僅x86架構Linux操作系統的服務器支持遷移為容器鏡像。
遷移影響
在遷移之前,請先了解以下事項,具體如下表所示。
影響項 | 說明 |
遷移數據目錄 | 遷移時,SMC能夠根據源服務器的磁盤分區結構,自動生成盡可能與源服務器磁盤分區結構一致的目標磁盤分區結構。您可以按需調整目標磁盤分區結構,包括分區大小與位置順序、傳輸方式、是否開啟LVM等配置。 默認遷移服務器的所有磁盤:
更多信息,請參見按需調整磁盤分區結構。 |
中轉實例 | 請勿干涉中轉實例 。 每次遷移時,SMC會在您的阿里云目標賬號下創建一臺名為 說明 如果選擇遷移到目標實例,目標實例即為中轉實例。 |
IP地址 | 遷移后IP地址會發生變化,如果業務涉及IP地址的配置,遷移后請自行修改。 |
系統底層硬件設備 | 遷移后,系統底層硬件設備會發生變化,可能會導致某些與硬件綁定的應用許可證(License)失效,請做好檢查。 |
前提條件
已完成服務器遷移前的準備工作。具體操作,請參見遷移前準備。
已開通容器鏡像服務并創建鏡像倉庫。具體操作,請參見構建倉庫與鏡像。
已創建SMC中轉實例所需的RAM角色。具體操作,請參見創建可信實體為阿里云服務的RAM角色。
關鍵參數說明如下。
可信實體類型選擇阿里云服務。
角色類型選擇普通服務角色。
受信服務選擇云服務器。
已創建滿足容器鏡像遷移的自定義策略并為RAM角色授權該策略。具體操作,請參見創建自定義權限策略和為RAM角色授權。
{ "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:PushRepository", "cr:PullRepository", "cr:CreateRepository" ], "Resource": "*" } ], "Version": "1" }
遷移操作
步驟一:導入遷移源
遷移源概指您的待遷移IDC服務器、虛擬機、其他云平臺的云主機或其他類型的服務器。SMC支持多種導入遷移源方式,您可以根據實際需要選擇對應的導入遷移源方式。更多信息,請參見如何選擇導入遷移源方式?。
命令行一鍵導入遷移源(推薦)
源服務器需要具備公網訪問能力。
登錄SMC控制臺。
在左側導航欄,選擇
。在服務器遷移頁面,單擊導入遷移源。
根據界面提示配置參數并復制激活碼命令,關于參數的說明,具體如下表所示。
參數
說明
遷移源類型
選擇阿里云ECS云服務器。
導入方式
選中命令行導入。
激活數額度
請輸入激活碼可激活的遷移源數量。取值范圍為1~1000 ,默認為10。
有效期
請輸入激活碼的有效期。取值范圍為1~90天,默認為30天。
激活碼
生成激活碼后,復制命令。操作步驟如下:
單擊生成激活碼。
單擊Linux Shell頁簽。
單擊復制,復制激活碼命令。
登錄源服務器,使用管理員權限粘貼并運行復制的命令,執行導入遷移源的操作。
登錄Linux源服務器。
使用管理員權限粘貼并運行復制的命令,執行導入遷移源的操作。
執行命令后,出現類似
Import Source Server [s-bp18x8751kgz2oyh****] Successfully!
回顯信息,表示導入遷移源成功。
在SMC控制臺的服務器遷移頁面的遷移實時狀態列,查看遷移源的狀態。
通過控制臺自動導入遷移源
源服務器(即源ECS實例)需要具備公網訪問能力。
源服務器需已安裝云助手Agent(2017年12月01日之后使用公共鏡像創建的ECS實例,默認預裝了云助手Agent)。
如果您使用RAM用戶導入遷移源,則需要為RAM用戶授權:
登錄SMC控制臺。
在左側導航欄,選擇
。在服務器遷移頁面,單擊導入遷移源。
根據界面提示配置參數并復制激活碼命令,關于參數的說明,具體如下表所示。
參數
說明
遷移源類型
選擇物理機/虛擬機/云服務器。
導入方式
選中控制臺導入。
遷移源名稱
輸入遷移源名稱。長度為2~128個英文或中文字符。必須以大小寫字母或中文開頭,不能以
http://
或https://
開頭。可以包含數字、半角冒號(:)、下劃線(_)或者中劃線(-)。操作系統類型
選擇Linux。
IP地址
請輸入可通過公網訪問的IPv4地址,例如:120.55.XX.XX。
端口
請輸入遷移源端SSH服務端口號。取值范圍:1~65535,默認為22。
用戶名
請輸入操作系統的用戶名,默認為
root
。密碼
請輸入操作系統的用戶名對應的密碼。
配置參數后,單擊導入。
導入遷移源大約需要3~10分鐘,請您耐心等待。
在SMC控制臺的服務器遷移頁面的遷移實時狀態列,查看遷移源的狀態。
通過SMC客戶端導入遷移源
關于SMC客戶端的更多信息,請參見SMC客戶端使用指南。
登錄SMC控制臺。
在左側導航欄,選擇
。在服務器遷移頁面,單擊導入遷移源。
在導入遷移源頁面,配置相關參數,參數說明如下表所示。
參數
說明
遷移源類型
選擇物理機/虛擬機/云服務器。
導入方式
選中客戶端導入。
導入說明
在導入說明后,請根據源服務器操作系統的架構(Arm和x86)和位數(32位和64位),下載對應的SMC客戶端。
導入遷移源。
重要遷移的過程中請勿關閉SMC客戶端直至遷移完成。否則,遷移源將與SMC控制臺失去聯系,無法完成遷移。
使用支持文件傳輸的第三方遠程連接工具將SMC客戶端壓縮包上傳至Linux源服務器。例如:WinSCP。
遠程連接Linux源服務器并解壓SMC客戶端壓縮包。
本示例中以解壓
Linux 64位通用版
為例,如果您使用其他版本的SMC客戶端,命令中的壓縮包名稱需要替換為實際下載的SMC客戶端名稱。tar xf go2aliyun_client_linux_x86_64.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控制臺的服務器遷移頁面的遷移實時狀態列,查看遷移源的狀態。
步驟二:創建遷移任務
在目標遷移源的操作列,單擊開始遷移。
根據界面提示配置相關參數后,單擊立即創建。
配置基本參數,參數說明具體如下表所示。
參數
說明
示例
任務名稱
遷移任務的名稱。
容器遷移
任務描述
輸入遷移任務的描述。
test
目標類型(必填)
選擇容器鏡像。
容器鏡像
目標地域(必填)
目標地域指您的服務器要遷入阿里云的地域。關于地域的更多信息,請參見地域和可用區。
杭州
容器鏡像命名空間(必填)
選擇存放遷移生成的容器鏡像倉庫的命名空間。如未創建命名空間,具體操作,請參見管理命名空間與配額。
容器鏡像倉庫名稱(必填)
選擇存放遷移生成的容器鏡像的倉庫名稱。如未創建鏡像倉庫,具體操作,請參見構建倉庫與鏡像。
容器鏡像版本
輸入存放遷移生成的容器鏡像的版本信息。
v1
容器鏡像RAM角色(必填)
選擇綁定中轉實例的實例角色。如未創建RAM角色,請參見創建可信實體為阿里云服務的RAM角色。
執行方式
選擇遷移任務執行方式:
立即執行:創建遷移任務后立即啟動。默認選擇立即執行。
預約執行:創建遷移任務后,在設置的時間自動啟動遷移任務。
說明預約執行時間最早可設置為當前時間后10分鐘。
只創建:僅創建遷移任務,后續需要在操作列單擊開始任務,手動啟動遷移任務。
保持默認
按需調整磁盤分區結構,參數說明具體如下表所示。
參數
說明
示例
調整磁盤分區結構
根據需求選擇是否開啟調整磁盤分區結構。僅SMC客戶端版本為2.8.0及以上支持此功能,關于SMC客戶端的更多信息,請參見SMC客戶端使用指南。
未開啟:目標磁盤分區結構默認與遷移源一致。
開啟:可以調整目標磁盤分區結構,包括分區大小與位置順序、傳輸方式、是否開啟LVM等配置。
配置磁盤
系統盤:目標阿里云云服務器系統盤的大小,單位為GiB。系統盤大小取值范圍為20~2048。
目標系統盤取值需要大于遷移源系統盤實際占用大小。例如,源系統盤大小為400 GiB,實際占用100 GiB,則目標系統盤取值需大于100 GiB。
說明默認值為遷移源系統盤大小,如無縮小系統盤容量的需要,建議不要小于默認值。
數據盤<N>:表示遷移后阿里云云服務器數據盤的大小,單位為GiB。 數據盤大小取值范圍:1~32768。
變量
<N>
表示第幾個數據盤,如果遷移到目標實例,N為數據盤ID。數據盤取值需要大于遷移源數據盤的實際占用大小。例如,源數據盤大小為500 GiB,實際占用100 GiB,則目標數據盤取值需大于100 GiB。
如果數據盤下不存在掛載點或者掛載點都設置為不遷移,則不會遷移該數據盤。
LVM:邏輯卷管理LVM(Logical Volume Manager)是一種在Linux系統中對磁盤分區進行管理的一種機制。LVM比普通的磁盤分區更加靈活,可以動態地調整磁盤空間。
您可以根據需求選擇是否開啟LVM,開啟LVM后,目的端將自動為該磁盤以LVM結構進行重建。
對于每個開啟LVM的目標磁盤,系統會創建1個物理卷(PV)及其對應的卷組(VG),在該卷組上創建和掛載點對應數量的邏輯卷(LVM)。卷組名默認為vgX(X為磁盤的序號),邏輯卷名默認為lvX(X為邏輯卷的序號),示例如下:
重要不支持開啟LVM:
遷移源為Windows系統時,不支持開啟LVM。
系統盤無啟動分區,不支持開啟LVM。
開啟LVM后,以下場景該功能不生效:
遷移源不支持lvm2、未安裝lvm2軟件包。
遷移源為內核版本在3.x及以下的Debian系統,且掛載了XFS文件系統的磁盤。
配置掛載點
是否遷移:您可以根據業務需求選擇是否遷移該掛載點。
是否開啟塊復制:使用塊復制能有效提升遷移傳輸速度的穩定性,同時能夠保證與源分區結構一致,但分區大小無法修改。SMC會根據遷移源磁盤分區狀態判斷是否支持開啟塊復制。
如果遷移源不支持分區開啟塊復制,則該開關無法打開,使用默認的文件復制,分區大小可以修改。
如果遷移源支持分區開啟塊復制,則默認開啟塊復制,實現分區級別的磁盤遷移。
說明遷移源為Windows操作系統時,塊復制功能默認為開啟狀態,無法關閉該功能。
若所在磁盤開啟LVM且分區大小不為4 MiB的整數倍,塊復制不生效,數據傳輸方式采用文件復制。
設置分區大小:未開啟塊復制時,您可以根據需求設置分區大小,但分區大小之和不能大于所屬磁盤大小。
說明如果目標實例的各磁盤大小與遷移源磁盤不能匹配,則無法創建任務。此時,系統會自動調整掛載點位置,以滿足磁盤大小要求。若調整掛載點后仍無法滿足要求,請根據界面提示信息處理問題。
您也可以手動拖拽掛載點位置,以滿足磁盤大小要求。但是分區類型為啟動分區或系統分區,不支持拖拽。具體操作如下:
將鼠標懸浮在掛載點前的圖標上。
使用鼠標將掛載點拖拽至其他磁盤。
保持默認
(條件必選)如果您需要設置網絡模式、壓縮率等參數,單擊高級配置,配置高級參數,參數說明具體如下表所示。
參數
說明
示例
網絡模式
選擇傳輸遷移數據到中轉實例使用的網絡,默認使用公網傳輸。中轉實例會被創建在所選專有網絡(VPC)、交換機(vSwitch)下,因此中轉實例會被分配公網IP。
公網傳輸(默認)
遷移數據通過公網傳輸到中轉實例。使用該模式,源服務器需能訪問公網。根據實際需要,選擇是否指定專有網絡(VPC)和交換機(vSwitch)。
指定VPC和vSwitch:遷移任務在您指定的VPC和vSwitch下創建中轉實例。
不指定VPC和vSwitch:遷移任務會在系統自動新建的VPC和vSwitch下創建中轉實例。
私網傳輸
遷移數據通過VPC內網傳輸到中轉實例。使用該模式,需要將源服務器與阿里云VPC打通,并且必須指定VPC和vSwitch。
說明如果您能直接從自建機房(Integrated Data Center,IDC)、虛擬機環境或者云主機訪問某一阿里云地域下的專有網絡VPC,建議您使用該方式進行遷移。使用內網傳輸能獲得比通過公網更快速更穩定的數據傳輸效果,提高遷移工作效率。您可以通過VPN網關、高速通道物理專線、智能接入網關將源服務器和云上VPC打通。更多信息,請參見連接本地IDC。
保持默認
傳輸限速
傳輸限速是限制實際網絡傳輸速度,單位為Mbps。若設置壓縮率大于0,實際網絡傳輸速度(即壓縮后數據的傳輸速度)小于遷移實時狀態中顯示的速度。
保持默認
壓縮率
遷移過程中,數據壓縮傳輸的級別。請根據您的實際需要,設置壓縮率。
在帶寬有限的環境下,使用高壓縮率,可以提升數據的傳輸速度。
在帶寬很高的情況下,建議您不壓縮傳輸數據,可減少對遷移源CPU資源的耗費。
取值范圍為0~10,默認值為7,0表示不壓縮傳輸數據。
保持默認
Checksum驗證
默認關閉,開啟后,可增強數據一致性校驗,但是可能會降低傳輸速度。
保持默認
遷移任務標簽
為遷移任務綁定標簽鍵值,便于查詢與管理遷移任務。更多信息,請參見使用標簽管理遷移源和遷移任務和通過標簽實現精細化權限管理。
說明同一個遷移任務最多可綁定20個標簽。
保持默認
中轉實例規格
可根據實際需求選擇中轉實例規格。當目標類型選擇云服務器鏡像時,才會出現此參數。
選擇中轉實例規格:系統會選擇該實例規格創建中轉實例。若該實例規格庫存不足,則遷移任務創建失敗。
不選擇中轉實例規格:系統默認會按照順序選擇實例規格來創建中轉實例。
重要為避免遷移出錯,請在遷移過程中請勿停止、啟動、重啟或者釋放中轉實例。
保持默認
在彈出的對話框中,仔細閱讀遷移提示后,單擊我確認我已知悉。
在遷移任務頁面,查看遷移實時狀態。
由于傳輸數據耗時受源端數據大小,網絡帶寬等因素影響,請耐心等待遷移任務完成。
說明遷移任務狀態為同步中時,速度和剩余同步時間說明如下:
速度:指每秒傳輸的遷移數據量(即壓縮前數據的傳輸速度)。若在創建遷移任務時設置壓縮率大于0,該顯示速度將大于實際網絡傳輸速度(即壓縮后數據的傳輸速度)。
剩余同步時間:根據當前速度計算的剩余同步時間,剩余同步時間=(總數據量-已傳輸數據量)/速度。
在遷移任務狀態為同步中時,您也可以根據實際需求,對遷移任務執行以下操作:
編輯遷移任務:在操作列單擊編輯任務,修改傳輸限速、壓縮率、Checksum驗證參數。
暫停遷移任務:在操作列單擊暫停任務,暫停遷移任務。
(可選)如需查看遷移的詳情信息,參照以下步驟。
在目標遷移源的遷移源ID/名稱列,單擊欲查看的遷移源ID/名稱值。如下圖所示:
在遷移任務頁簽即可查看任務詳情。如下圖所示:
驗證遷移結果
當遷移實時狀態為已完成時,表示遷移成功。
遷移成功后會生成阿里云容器鏡像,您可以通過容器鏡像部署容器應用。具體操作如下:
創建ACK集群。具體操作,請參見創建集群。
在遷移源的操作列,單擊部署應用,系統跳轉到創建應用頁面。
創建應用。具體操作,請參見創建無狀態工作負載Deployment。
遷移服務器后,您需要對數據校驗和驗證,確保數據的完整性和正確性。具體操作,請參見遷移Linux服務器后怎么檢查系統?。
說明如果源服務器已經綁定域名,遷移后公網IP地址會發生變化,請將域名解析到新的服務器公網IP地址。具體操作,請參見快速添加網站解析。
當遷移實時狀態為出錯時,表示遷移任務出錯。此時,您需要排查問題后重試:
在遷移任務頁面,單擊重試任務。
遷移任務會從上一次結束時的進度處繼續遷移。
重要如果中轉實例已被釋放,需要重新遷移。具體操作,請參見誤釋放了中轉實例怎么辦。
清理資源
遷移時,SMC會在您的阿里云目標賬號下創建一臺名稱為No_Delete_SMC_Transition_Instance
的臨時按量付費中轉實例,用于輔助遷移。您需要根據遷移是否成功選擇是否需要手動清理:
遷移成功:中轉實例會自動釋放,您無需手動清理。
遷移出錯:中轉實例會隨遷移任務一直存在并產生費用。您可以選擇以下方式釋放中轉實例,避免不必要的扣費:
如果您已確認不再使用該遷移任務,在操作列選擇
,通過刪除遷移任務自動清理中轉實例。手動釋放中轉實例。具體操作,請參見釋放實例。