全部產品
Search
文件中心

Elastic Compute Service:使用遷雲工具遷移伺服器至阿里雲

更新時間:Aug 23, 2018

使用遷雲工具前,您需要注意:

  • 確保系統本地時間與實際時間一致,否則會報錯 IllegalTimestamp 異常。

  • 待遷雲的原始伺服器必須能夠訪問公網,且防火牆入方向必須放行下列通訊連接埠以訪問相關公網服務:

    • 通過 HTTP 80 通信埠訪問 ECS 和 VPC:http://ecs-cn-hangzhou.aliyuncs.comhttp://vpc.aliyuncs.com

    • 通過 HTTPS 443 通信埠訪問 STS:https://sts.aliyuncs.com

    • 通過 8080 和 8703 代理通信埠訪問中轉執行個體的公網 IP 位址

  • 遷雲工具暫不支援遷移增量資料。對於原始伺服器上需要保持資料完整的業務,您可以選擇一個業務空閑時段,暫時停止這些業務,再遷移資料。

  • 為避免遷雲失敗,請勿停止、重啟或者釋放中轉執行個體。遷雲完成後,該中轉執行個體會自動釋放。

  • 每成功遷雲一次,設定檔 client_data 會自動記錄遷雲成功後在 ECS 控制台建立的 ECS 執行個體的相關資料。再次遷雲時,您需要使用初始下載的用戶端設定檔。

    說明:為避免遷雲失敗,若您沒有 VPC 內網遷雲需求,請勿自行修改設定檔 client_data。

  • 遷雲工具需要使用 AccessKeyID 以及 AccessKeySecret,AccessKey 是您的重要憑證,請妥善保管,防止泄露。

  • 如果您使用的是 RAM 子帳號,請確保您已被授權Elastic Compute Service AliyunECSFullAccess 許可權和專有網路 VPC AliyunVPCFullAccess 許可權。更多詳情,參閱 RAM 文檔 授權策略管理

Linux 伺服器注意事項

當您的原始伺服器為 Linux 系統時,會有以下其他需求:

  • 原始伺服器必須已經安裝了 Rsync 庫:

    • CentOS:運行 yum install rsync –y

    • Ubuntu:運行 apt-get install rsync –y

    • Debian:運行 apt-get install rsync –y

    • 其他發行版:參考發行版官網安裝相關的文檔。

  • 確保原始伺服器已關閉 SELinux。您可以運行 setenforce 0 臨時關閉 SELinux。同時,建議您在 /etc/selinux/config 中,設定 SELINUX=disabled,禁用 SELinux。

  • 確保原始伺服器已 安裝 Virtio(KVM)驅動

  • (可選)對於 CentOS 5、Red Hat 5 和 Debian 7 等系統,需要 更新 GRUB 程式至 1.99 及以上版本

步驟 1. 下載遷雲工具

下載 遷雲工具壓縮包。解壓後包含的檔案清單如下:

  • Windows 伺服器

    檔案(夾)名 描述
    Excludes 檔案夾 過濾篩選檔案夾,設定不遷雲的路徑,預設包含 rsync_excludes_win.txt
    client_data 遷雲過程中的資料檔案,包含ECS 中轉執行個體資訊、遷移進度等。
    user_config.json 原始伺服器資訊設定檔
    go2aliyun_gui.exe 遷雲工具 Windows GUI 版本主程式,詳情請參閱 遷雲工具 Windows GUI 版本介紹
    go2aliyun_client.exe 遷雲工具命令列版本主程式
  • Linux 伺服器

    檔案(夾)名 描述
    Check 偵查工具檔案夾,預設包含輔助程式 client_check
    client_data 遷雲過程中的資料檔案
    user_config.json 原始伺服器資訊設定檔
    Excludes檔案夾 過濾篩選檔案夾,設定不遷雲的路徑,預設包含rsync_excludes_linux.txt
    go2aliyun_client 遷雲工具主程式

步驟 2. 使用遷雲工具

  1. 登入待遷雲的伺服器、虛擬機器或者雲主機。

  2. 將下載的遷雲工具壓縮包解壓到您指定的目錄。

  3. 在控制台 建立 Access Key用於輸出到設定檔 user_config.json 裡。

  4. 根據您的實際情況,編輯設定檔 user_config.json過濾無需遷雲的目錄

  5. 以管理員或 root 使用者身份運行遷雲工具

    • Windows 伺服器:右擊 go2aliyun_client.exe,選擇 以管理員身份運行。GUI 版本程式操作指南請參閱 遷雲工具 Windows GUI 版本介紹

    • Linux 伺服器:

      1. 運行 chmod +x ./go2aliyun_client

      2. 運行 ./go2aliyun_client

  6. 等待運行結果:

    • 當出現 Goto Aliyun Finished! 提示時,前往 ECS 控制台 鏡像詳情頁查看結果。

    • 當出現 Goto Aliyun Not Finished! 提示時,檢查同一目錄下 Logs 檔案夾下的記錄檔 排查故障。修複問題後,重新 運行遷雲工具 恢複遷雲工作,遷雲工具會從上一次執行的進度中繼續遷雲。

      您需要注意的是,遷雲中斷後再次執行工具時或者工具會提示遷雲已完成時都是從 client_data 檔案拉取資訊。遷雲工作完成後再次運行想重新遷雲工具時,您需要使用初始的 client_data 檔案或者清空現有的 client_data 檔案資料。

      說明:初始化 client_data 檔案後,任務進度資訊丟失並且遷雲工作會從頭開始。在諸如中轉執行個體被意外釋放釋放或者 VPC、VSwitch 和安全性群組資訊錯誤等原因導致的遷雲中斷事件中,您可以在排查故障後使用初始化的 client_data 檔案。

編輯 user_config.json

user_config.json 是一個以 JSON 語言編寫的設定檔,主要包含原始伺服器的一些必要配置資訊,其中包括您的 AccessKey 資訊、生成的目標自訂鏡像的配置資訊等。您需要手動設定部分參數,修改後,仔細檢查 JSON 語言格式的規範性,關於 JSON 的文法標準請參閱 RFC 7159

如果您使用的 Windows GUI 版本主程式,您可以在 GUI 介面完成 user_config 配置。相關參數,更多詳情,請參閱 遷雲工具 Windows GUI 版本介紹

user_config.json 模板

以下是設定檔 user_config.json 的模板:

  1. {
  2. "access_id": "",
  3. "secret_key": "",
  4. "region_id": "",
  5. "image_name": "",
  6. "system_disk_size": 40,
  7. "platform": "",
  8. "architecture": "",
  9. "bandwidth_limit":0,
  10. "data_disks": []
  11. }

模板參數說明

表一. 伺服器配置參數說明

參數名 類型 是否必填 說明
access_id String 您的阿里雲帳號的 API 存取金鑰 AccessKeyID。更多詳情,參閱 建立 Access Key
secret_key String 您的阿里雲帳號的 API 存取金鑰 AccessKeySecret。更多詳情,參閱 建立 Access Key
region_id String 您的伺服器遷移入阿里雲的地域 ID,如 cn-hangzhou(華東1),取值參閱 地域與可用性區域
image_name String 為您的伺服器鏡像設定一個鏡像名稱,該名稱不能與同一地域下現有鏡像名重複。
  • 長度為 [2, 128] 個英文或中文字元,必須以大小字母或中文開頭,可包含數字、點號(.)、底線(_)、半形冒號(:)或短橫線(-)。
  • 不能以 http:// 和 https:// 開頭。
system_disk_size int 為系統盤指定大小,單位為 GiB。取值範圍:
  • [40, 500]
  • 該參數取值需要大於原始伺服器系統盤實際佔用大小,例如,源系統盤大小為 500 GiB,實際佔用 100 GiB,那該參數取值只要大於 100 GiB 即可。
platform String 原始伺服器的作業系統。取值範圍:
  • CentOS
  • Ubuntu
  • SUSE
  • OpenSUSE
  • Debian
  • RedHat
  • Others Linux
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2016
參數 platform 的取值需要與以上列表保持一致,必須區分大小寫,並保持空格一致。
architecture String 系統架構。取值範圍:
  • i386:32 位系統架構
  • x86_64:64 位元系統架構
bandwidth_limit int 資料轉送的頻寬上限限制,單位為 KB/s。
預設值:0,0 表示不限制頻寬速度。
data_disks Array 資料盤列表,最多支援 16 塊資料盤。具體參數參閱 資料盤配置參數說明
該參數可以置為縮容資料盤的預期數值,單位為 GiB,該值不能小於資料盤實際使用空間大小。

表二. 資料盤配置參數說明

參數名 類型 是否需要手動設定 說明
data_disk_index int 資料盤序號。取值範圍:[1, 16]
初始值:1
data_disk_size int 資料盤大小。單位為 GiB。取值範圍:
  • [20, 32768]
  • 該參數取值需要大於原始伺服器資料盤實際佔用大小,例如,來源資料盤大小為 500 GiB,實際佔用 100 GiB,那該參數取值只要大於 100 GiB 即可。
src_path String 資料盤來源目錄。取值範圍:
  • Windows 指定盤符,例如,D、E 或者 F。
  • Linux 指定目錄,例如,/mnt/disk1、/mnt/disk2 或者 /mnt/disk3。
    注意:不能配置為根目錄或者系統目錄,例如,/bin、/boot、/dev、/etc、/lib、/lib64、/sbin、/usr 和 /var。
遷移帶資料盤的 Linux 伺服器後,啟動執行個體時預設不掛載資料盤。您可以在啟動 ECS 執行個體後運行 ls /dev/vd* 命令查看資料盤裝置,根據實際需要手動掛載,並編輯 /etc/fstab 配置開機自動掛載。更多詳情,參閱 Linux 格式化和掛載資料盤.

user_config.json 配置樣本

此處以四種場景為例,為您示範如何根據場景編輯 user_config.json 檔案:

場景一. 遷移一台無資料盤的 Windows 伺服器

  • 假設您的伺服器配置資訊為:
    • 作業系統:Windows Server 2008
    • 系統盤:30 GiB
    • 系統架構:64 位元
  • 您的遷雲目標為:
    • 目標地域:阿里雲華東 1 地域(cn-hangzhou
    • 鏡像名稱:CLIENT_IMAGE_WIN08_01
    • 系統盤設定:50 GiB

那麼您可以根據如下資訊配置 user_config.json 檔案:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_WIN08_01",
  6. "system_disk_size": 50,
  7. "platform": "Windows Server 2008",
  8. "architecture": "x86_64",
  9. "data_disks": [],
  10. "bandwidth_limit": 0
  11. }

場景二. 遷移一台帶資料盤的 Windows 伺服器

如果您的 Windows 伺服器在場景一的基礎上加入了 3 塊資料盤,來源目錄和資料盤大小分別為:

  • D:100 GiB
  • E:150 GiB
  • F:200 GiB

那麼您可以根據如下資訊配置 user_config.json 檔案:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_WIN08_01",
  6. "system_disk_size": 50,
  7. "platform": "Windows Server 2008",
  8. "architecture": "x86_64",
  9. "data_disks": [ {
  10. "data_disk_index": 1,
  11. "data_disk_size": 100,
  12. "src_path": "D:"
  13. }, {
  14. "data_disk_index": 2,
  15. "data_disk_size": 150,
  16. "src_path": "E:"
  17. }, {
  18. "data_disk_index": 3,
  19. "data_disk_size": 200,
  20. "src_path": "F:"
  21. }
  22. ],
  23. "bandwidth_limit": 0
  24. }

場景三. 遷移一台無資料盤的 Linux 伺服器

  • 假設您的伺服器配置資訊為:
    • 發行版本:CentOS 7.2
    • 系統盤:30 GiB
    • 系統架構:64 位元
  • 您的遷雲目標為:
    • 目標地域:阿里雲華東 1 地域(cn-hangzhou
    • 鏡像名稱:CLIENT_IMAGE_CENTOS72_01
    • 系統盤設定:50 GiB

那麼您可以根據如下資訊配置 user_config.json 檔案:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_CENTOS72_01",
  6. "system_disk_size": 50,
  7. "platform": "CentOS",
  8. "architecture": "x86_64",
  9. "data_disks": [],
  10. "bandwidth_limit": 0
  11. }

場景四. 遷移一台有資料盤的 Linux 伺服器

如果您的 Linux 伺服器在場景三的基礎上加入了 3 塊資料盤,來源目錄和資料盤大小分別為:

  • /mnt/disk1:100 GiB
  • /mnt/disk2:150 GiB
  • /mnt/disk3:200 GiB

那麼您可以根據如下資訊配置 user_config.json 檔案:

  1. {
  2. "access_id": "YourAccessKeyID",
  3. "secret_key": "YourAccessKeySecret",
  4. "region_id": "cn-hangzhou",
  5. "image_name": "CLIENT_IMAGE_CENTOS72_01",
  6. "system_disk_size": 50,
  7. "platform": "CentOS",
  8. "architecture": "x86_64",
  9. "data_disks": [ {
  10. "data_disk_index": 1,
  11. "data_disk_size": 100,
  12. "src_path": "/mnt/disk1"
  13. }, {
  14. "data_disk_index": 2,
  15. "data_disk_size": 150,
  16. "src_path": "/mnt/disk2"
  17. }, {
  18. "data_disk_index": 3,
  19. "data_disk_size": 200,
  20. "src_path": "/mnt/disk3"
  21. }
  22. ],
  23. "bandwidth_limit": 0
  24. }

過濾無需遷雲的目錄

遷雲工具能過濾檔案或者目錄,過濾的檔案不會被遷移到雲端。具體通過配置 rsync 實現過濾,過濾配置放在Excludes目錄下。

說明:建議您排除無需遷雲的資料盤或者目錄,以減少遷雲傳輸時間以及雲端磁碟使用空間。

過濾Windows系統的檔案

預設過濾的檔案(夾)包括pagefile.sys、$RECYCLE.BIN和System Volume Information。

  • 系統盤:配置Excludes目錄下的rsync_excludes_win.txt。

  • 資料盤:在Excludes目錄下新建並配置

    • rsync_excludes_win_disk1.txt
    • rsync_excludes_win_disk2.txt
    • rsync_excludes_win_disk3.txt
      ……

Windows系統樣本

  • 假設您需要過濾C盤檔案夾 C:\MyDirs\Docs\Words 和檔案 C:\MyDirs\Docs\Excels\Report1.xlsx,可在rsync_excludes_win.txt中添加過濾配置:

    1. /MyDirs/Docs/Words/
    2. /MyDirs/Docs/Excels/Report1.xlsx
  • 假設您需要過濾D盤檔案夾 D:\MyDirs\Docs\Words 和檔案 D:\MyDirs\Docs\Excels\Report1.xlsx,可在rsync_excludes_win_disk1.txt中添加過濾配置:

    1. /MyDirs/Docs/Words/
    2. /MyDirs/Docs/Excels/Report1.xlsx

過濾Linux系統的檔案

預設過濾的檔案或目錄包括/dev/*、/sys/*、/proc/*、/media/*、lost+found/*、/mnt/*和/var/lib/lxcfs/*。

注意:/var/lib/lxcfs/*目錄僅針對部分系統版本,例如,無權訪問Ubuntu的LinuxContainer Service緩存目錄時,需要排除Ubuntu的/var/lib/lxcfs/*才能順利遷雲。

  • 系統盤:配置Excludes目錄下的rsync_excludes_linux.txt。

  • 資料盤:在Excludes目錄下新建並配置

    • rsync_excludes_linux_disk1.txt
    • rsync_excludes_linux_disk2.txt
    • rsync_excludes_linux_disk3.txt
      ……

Linux系統樣本

  • 假設您需要過濾系統盤(根目錄/)檔案夾/var/mydirs/docs/words和檔案/var/mydirs/docs/excels/report1.sh,可在rsync_excludes_linux.txt中添加過濾配置:

    1. /var/mydirs/docs/words/
    2. /var/mydirs/docs/excels/report1.sh
  • 假設您需要過濾資料盤目錄/mnt/disk1中的檔案夾/mnt/disk1/mydirs/docs/words 和檔案 /mnt/disk1/mydirs/docs/excels/report1.sh,可在rsync_excludes_linux_disk1.txt中添加過濾配置:

    1. /mydirs/docs/words/
    2. /mydirs/docs/excels/report1.sh

    注意:Linux資料盤需要去掉資料盤src_path首碼路徑,例如去掉上述樣本中的/mnt/disk1。

下一步

遷雲完成後,您的原始伺服器中的作業系統、應用程式以及應用資料等以自訂鏡像的形式出現在相應地域的 ECS 控制台上。您可以 使用該自訂鏡像建立隨用隨付 ECS 執行個體 或者 使用自訂鏡像更換系統盤,測試自訂鏡像能否正常運行。

如果您對遷雲工具使用方法還有疑問,可以 添加遷雲工具客戶回函釘釘群 聯繫阿里雲支援人員。

支援人員群二維碼