複製來源機器的檔案系統

如要將應用程式元件改為新式版本,就必須建立來源機器的檔案系統副本。

本頁面說明複製來源機器的檔案系統所需的步驟,以及縮減複製檔案系統大小的部分規格。

建立 Linux 來源機器檔案系統的本機副本

Migrate to Containers CLI 支援使用直接 SSH 連線或 gcloud 存取來源機器。

直接 SSH

如要使用直接 SSH 存取權進行複製,請執行下列指令:

./m2c copy ssh [USERNAME@]HOSTNAME \
  -i PATH_TO_PRIVATE_KEY \
  -o OUTPUT_FILESYSTEM_DIR

更改下列內容:

  • USERNAME:您的使用者名稱
  • HOSTNAME:主機名稱
  • PATH_TO_PRIVATE_KEY:私密金鑰路徑
  • OUTPUT_FILESYSTEM_DIR:本機上輸出目錄的路徑,您可以在該目錄中複製來源機器的檔案系統

gcloud

如果來源機器有公開 IP,請執行下列指令:

./m2c copy gcloud \
  -p PROJECT_ID \
  -z ZONE \
  -n VM_NAME \
  -o OUTPUT_FILESYSTEM_DIR

更改下列內容:

  • PROJECT_ID:專案 ID
  • ZONE:VM 的可用區
  • VM_NAME:來源 VM 的名稱
  • OUTPUT_FILESYSTEM_DIR:您要複製來源機器檔案系統的本機機器目錄輸出路徑

如果來源機器沒有公開 IP,請執行下列任一操作:

  • 如果您是從位於相同內部網路中的電腦執行 Migrate to Containers CLI,請使用 --internal-ip 旗標。
  • 如果您在其他網路上執行,請使用 --tunnel-through-iap 標記。

如要進一步瞭解這些標記,請參閱 gcloud 說明文件

複製完成後,來源機器的檔案系統副本就會出現在指定的輸出目錄中。

縮減複製的檔案系統大小

視來源機器而定,複製的檔案系統可能會非常大。複製的檔案越大,每項作業完成所需的時間就越長,如果沒有足夠的空間,複製作業就會失敗。

Migrate to Containers CLI 會套用篩選器來縮減副本的大小,但您可以根據應用程式元件的相關資訊修改篩選器,進一步縮減副本的大小。

當您再次使用經過修改的篩選器執行 copy 指令時,輸出目錄的內容會根據您在篩選器檔案中套用的變更內容進行更新。

如要修改預設篩選器,請按照下列步驟操作:

  1. 取得預設篩選器清單:

    ./m2c copy default-filters > filters.txt
    
  2. 編輯 filters.txt 檔案,移除不相關的目錄。檔案會使用 rsync 篩選器規則格式,如 rsync 說明文件頁面所述。

  3. 使用 --filters 標記,透過 copy 指令指定篩選器檔案。

    直接 SSH

    ./m2c copy ssh [USERNAME@]HOSTNAME \
      -i PATH_TO_PRIVATE_KEY \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

    gcloud

    ./m2c copy gcloud \
      -p PROJECT_ID \
      -z ZONE \
      -n VM_NAME \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

建立 Windows 來源機器檔案系統的本機副本

針對 Windows 來源機器,您需要以 VHD 或 VHDX 格式複製磁碟映像檔,以便進行遷移程序。不過,Migrate to Containers CLI 不支援將磁碟映像檔從來源平台匯出至本機電腦。

  • 如要匯出 Compute Engine 虛擬機器 (VM) 執行個體磁碟,請先從磁碟建立映像檔,然後將映像檔匯出至本機電腦。

  • 如要從 Compute Engine 匯出映像檔,請執行下列步驟:

    1. 使用 gcloud compute images export 指令將映像檔匯出至 Cloud Storage:

      gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
      

      更改下列內容:

      • DESTINATION_URI:匯出圖片檔案的 Cloud Storage URI 目的地。
      • IMAGE_NAME:要匯出的磁碟映像檔名稱。
    2. 在本機電腦上下載映像檔:

      gcloud storage cp DESTINATION_URI LOCAL_PATH
      

      更改下列內容:

      • DESTINATION_URI:匯出圖片檔案的 Cloud Storage URI 目的地
      • LOCAL_PATH:要下載圖片的本機資料夾路徑

    詳情請參閱「將自訂映像檔匯出至 Cloud Storage」。

  • 如要進一步瞭解如何匯出 Amazon EC2 映像檔,請參閱「使用 VM Import/Export 將執行個體匯出為 VM」。

  • 如要進一步瞭解如何匯出 Azure Cloud Compute 映像檔,請參閱「從 Azure 下載 Windows VHD」。

  • 如要匯出 VMware VM 磁碟映像檔,請先完成將映像檔匯出至 VMDK 檔案的步驟。接著,使用 qemu-img 等第三方工具,將 VMDK 檔案轉換為 VHD 檔案。

後續步驟