使用遷雲工具前,您需要注意:
確保系統本地時間與實際時間一致,否則會報錯 IllegalTimestamp 異常。
待遷雲的原始伺服器必須能夠訪問公網,且防火牆入方向必須放行下列通訊連接埠以訪問相關公網服務:
通過 HTTP 80 通信埠訪問 ECS 和 VPC:
http://ecs-cn-hangzhou.aliyuncs.com
和http://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
許可權和專有網路 VPCAliyunVPCFullAccess
許可權。更多詳情,參閱 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. 使用遷雲工具
登入待遷雲的伺服器、虛擬機器或者雲主機。
將下載的遷雲工具壓縮包解壓到您指定的目錄。
在控制台 建立 Access Key,用於輸出到設定檔 user_config.json 裡。
根據您的實際情況,編輯設定檔 user_config.json 和 過濾無需遷雲的目錄。
以管理員或 root 使用者身份運行遷雲工具:
Windows 伺服器:右擊 go2aliyun_client.exe,選擇 以管理員身份運行。GUI 版本程式操作指南請參閱 遷雲工具 Windows GUI 版本介紹。
Linux 伺服器:
運行
chmod +x ./go2aliyun_client
。運行
./go2aliyun_client
。
等待運行結果:
當出現
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 的模板:
{
"access_id": "",
"secret_key": "",
"region_id": "",
"image_name": "",
"system_disk_size": 40,
"platform": "",
"architecture": "",
"bandwidth_limit":0,
"data_disks": []
}
模板參數說明
表一. 伺服器配置參數說明
參數名 | 類型 | 是否必填 | 說明 |
---|---|---|---|
access_id | String | 是 | 您的阿里雲帳號的 API 存取金鑰 AccessKeyID。更多詳情,參閱 建立 Access Key。 |
secret_key | String | 是 | 您的阿里雲帳號的 API 存取金鑰 AccessKeySecret。更多詳情,參閱 建立 Access Key。 |
region_id | String | 是 | 您的伺服器遷移入阿里雲的地域 ID,如 cn-hangzhou (華東1),取值參閱 地域與可用性區域。 |
image_name | String | 是 | 為您的伺服器鏡像設定一個鏡像名稱,該名稱不能與同一地域下現有鏡像名重複。
|
system_disk_size | int | 是 | 為系統盤指定大小,單位為 GiB。取值範圍:
|
platform | String | 否 | 原始伺服器的作業系統。取值範圍:
platform 的取值需要與以上列表保持一致,必須區分大小寫,並保持空格一致。 |
architecture | String | 否 | 系統架構。取值範圍:
|
bandwidth_limit | int | 否 | 資料轉送的頻寬上限限制,單位為 KB/s。 預設值:0,0 表示不限制頻寬速度。 |
data_disks | Array | 否 | 資料盤列表,最多支援 16 塊資料盤。具體參數參閱 資料盤配置參數說明。 該參數可以置為縮容資料盤的預期數值,單位為 GiB,該值不能小於資料盤實際使用空間大小。 |
表二. 資料盤配置參數說明
參數名 | 類型 | 是否需要手動設定 | 說明 |
---|---|---|---|
data_disk_index | int | 是 | 資料盤序號。取值範圍:[1, 16] 初始值:1 |
data_disk_size | int | 是 | 資料盤大小。單位為 GiB。取值範圍:
|
src_path | String | 是 | 資料盤來源目錄。取值範圍:
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
- 目標地域:阿里雲華東 1 地域(
那麼您可以根據如下資訊配置 user_config.json 檔案:
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_WIN08_01",
"system_disk_size": 50,
"platform": "Windows Server 2008",
"architecture": "x86_64",
"data_disks": [],
"bandwidth_limit": 0
}
場景二. 遷移一台帶資料盤的 Windows 伺服器
如果您的 Windows 伺服器在場景一的基礎上加入了 3 塊資料盤,來源目錄和資料盤大小分別為:
- D:100 GiB
- E:150 GiB
- F:200 GiB
那麼您可以根據如下資訊配置 user_config.json 檔案:
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_WIN08_01",
"system_disk_size": 50,
"platform": "Windows Server 2008",
"architecture": "x86_64",
"data_disks": [ {
"data_disk_index": 1,
"data_disk_size": 100,
"src_path": "D:"
}, {
"data_disk_index": 2,
"data_disk_size": 150,
"src_path": "E:"
}, {
"data_disk_index": 3,
"data_disk_size": 200,
"src_path": "F:"
}
],
"bandwidth_limit": 0
}
場景三. 遷移一台無資料盤的 Linux 伺服器
- 假設您的伺服器配置資訊為:
- 發行版本:CentOS 7.2
- 系統盤:30 GiB
- 系統架構:64 位元
- 您的遷雲目標為:
- 目標地域:阿里雲華東 1 地域(
cn-hangzhou
) - 鏡像名稱:CLIENT_IMAGE_CENTOS72_01
- 系統盤設定:50 GiB
- 目標地域:阿里雲華東 1 地域(
那麼您可以根據如下資訊配置 user_config.json 檔案:
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_CENTOS72_01",
"system_disk_size": 50,
"platform": "CentOS",
"architecture": "x86_64",
"data_disks": [],
"bandwidth_limit": 0
}
場景四. 遷移一台有資料盤的 Linux 伺服器
如果您的 Linux 伺服器在場景三的基礎上加入了 3 塊資料盤,來源目錄和資料盤大小分別為:
- /mnt/disk1:100 GiB
- /mnt/disk2:150 GiB
- /mnt/disk3:200 GiB
那麼您可以根據如下資訊配置 user_config.json 檔案:
{
"access_id": "YourAccessKeyID",
"secret_key": "YourAccessKeySecret",
"region_id": "cn-hangzhou",
"image_name": "CLIENT_IMAGE_CENTOS72_01",
"system_disk_size": 50,
"platform": "CentOS",
"architecture": "x86_64",
"data_disks": [ {
"data_disk_index": 1,
"data_disk_size": 100,
"src_path": "/mnt/disk1"
}, {
"data_disk_index": 2,
"data_disk_size": 150,
"src_path": "/mnt/disk2"
}, {
"data_disk_index": 3,
"data_disk_size": 200,
"src_path": "/mnt/disk3"
}
],
"bandwidth_limit": 0
}
過濾無需遷雲的目錄
遷雲工具能過濾檔案或者目錄,過濾的檔案不會被遷移到雲端。具體通過配置 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中添加過濾配置:/MyDirs/Docs/Words/
/MyDirs/Docs/Excels/Report1.xlsx
假設您需要過濾D盤檔案夾
D:\MyDirs\Docs\Words
和檔案D:\MyDirs\Docs\Excels\Report1.xlsx
,可在rsync_excludes_win_disk1.txt中添加過濾配置:/MyDirs/Docs/Words/
/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中添加過濾配置:/var/mydirs/docs/words/
/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中添加過濾配置:/mydirs/docs/words/
/mydirs/docs/excels/report1.sh
注意:Linux資料盤需要去掉資料盤src_path首碼路徑,例如去掉上述樣本中的/mnt/disk1。
下一步
遷雲完成後,您的原始伺服器中的作業系統、應用程式以及應用資料等以自訂鏡像的形式出現在相應地域的 ECS 控制台上。您可以 使用該自訂鏡像建立隨用隨付 ECS 執行個體 或者 使用自訂鏡像更換系統盤,測試自訂鏡像能否正常運行。
如果您對遷雲工具使用方法還有疑問,可以 添加遷雲工具客戶回函釘釘群 聯繫阿里雲支援人員。