將 VMware 虛擬機器遷移至 IBM Cloud 虛擬伺服器,並進行即時網路轉移

透過 virt-v2v 及 Transit Gateway 連線,利用網路串流磁碟資料,將 VMware 虛擬機器(VM)遷移至 IBM Cloud VPC 虛擬伺服器。

架構元件

即時網路傳輸遷移的架構元件有

即時網路傳輸轉移方法的架構元件
架構元件 說明
Transit Gateway 將 VMware 環境 (Classic、NSX 或 VCFaaS ) 連接到您的 VPC。 這提供了來源虛擬機器 ( VMware ) 與工作虛擬伺服器實例 (VPC) 通訊所需的第 3 層路由。
工作虛擬伺服器實例 類似於方法 2,但這裡它純粹是一個接收器 - 在網路連接埠上聽取傳入的磁碟資料。
現場 ISO

可開機 ISO,提供

  • 網路設定工具

  • 磁碟讀取公用程式 (dd)

  • 壓縮工具 (gzip, pigz)

  • 網路傳輸工具 (netcat, socat, ssh)

開機來源選項
  • Ubuntu 安裝 ISO:在幫助選單中有「輸入 shell」選項,包含大部分需要的工具

  • TinyCore Linux : 極小,但需要安裝套件以安裝 ssh/qemu

  • virt-p2v ISO:由 Red Hat 專為 P2V 遷移而建立,在接收器上與 virt-v2v 整合

  • G4L (Ghost for Linux ):以影像為重點的 Live Linux

即時網路傳輸遷移程序概觀

以下步驟列出使用即時網路傳輸進行遷移的流程。

  1. 規定 Transit Gateway

    1. 在 Transit Gateway 中建立 IBM Cloud
    2. 將它連接到您的 VMware 環境:
    • 經典:直接連線至 Classic 帳戶
    • NSX:到 NSX 邊緣的 GRE 通道
    • VCFaaS: VCFaaS 邊緣的 GRE 通道
    1. 在 VMware 網路與 VPC 子網路之間設定路由
    2. 在首次遷移前徹底測試連線性
  2. 在 VPC 中提供 Worker 虛擬伺服器實例

    1. Ubuntu 或資源充足的 RHEL
    2. 使用暫存虛擬伺服器實例技術建立目標磁碟區 (方法 2 步驟 2-4)
    3. 將目標卷附加到工作站
    4. 安裝 netcat: apt-get install netcatyum install nc
  3. 為轉移準備來源 VM

    1. 在 vCenter/VCFaaS
    2. 設定虛擬機的開機順序為先從 CD/ISO 開機
    3. 注意目前的 IP 設定,以便在現場環境中進行網路設定
  4. 從 ISO 開機原始碼虛擬機器

    1. 重新啟動虛擬機器,使其進入 Live 環境
    2. 虛擬機器的磁碟可以存取,但作業系統沒有執行 (等同於乾淨關機)
  5. 在即時環境中設定網路

    1. 確定網路介面名稱(可能有所不同:eth0、ens192 等)
    2. 設定 IP 和路由:
    ip addr add 10.50.200.3/26 dev ens192
    ip route add 0.0.0.0/0 via 10.50.200.1
    ping 192.168.100.5  # Test connectivity to worker virtual server instance
    
  6. 發起轉運

    1. 在 Worker 虛擬伺服器實例上 (先啟動監聽器):
    # Listen for incoming data, decompress, write to volume
    nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdb bs=16M status=progress
    
    1. 在原始虛擬機器上(在 Live ISO 中):
    # Read disk, compress, send to worker
    dd if=/dev/sda bs=16M | gzip | nc -N -v 192.168.100.5 8080
    
    • 監控雙方的進度
    • 傳輸時間取決於磁碟大小和網路頻寬
    • 壓縮通常會為作業系統磁碟提供 2-4x 改善
  7. 重複其他磁碟

    • 對於多磁碟虛擬機,請對每個磁碟重複此步驟:

      # Worker (disk 2)
      nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdc bs=16M status=progress
      # Source (disk 2)
      dd if=/dev/sdb bs=16M | gzip | nc -N -v 192.168.100.5 8080
      
  8. 轉移後的處理

    1. 驗證轉移:fdisk -l /dev/vdb on worker
    2. 可選擇使用 virt-v2v 進行轉換:virt-v2v-in-place -i disk /dev/vdb
    3. 刷新緩衝區:blockdev --flushbufs /dev/vdb
  9. 從磁碟區建立虛擬伺服器實例

    1. 從 Worker 刪除磁碟區
    2. 使用現有開機磁碟區建立最終虛擬伺服器實體 (與方法 2 步驟 8 相同)
  10. 關閉來源虛擬機

    1. 驗證虛擬伺服器實體開機成功後,關閉來源虛擬機器
    2. 可選擇在 VMware 中建立快照作為回溯點

設計優勢

下表說明即時網路傳輸遷移的設計優勢。

即時網路傳輸轉移方法的設計優勢
設計優勢 說明
無匯出開銷 消除整個匯出步驟 - 不需要花時間匯出 VMDK、不需要匯出儲存空間、不需要將匯出資料傳輸至 VPC。
高效的網路利用率 具備壓縮功能的直接串流可善用可用的頻寬。
平行遷移能力 提供多個工作人員虛擬伺服器實體,並同時遷移多個虛擬機器,僅受網路頻寬和工作人員資源的限制。
極致的靈活性 可輕鬆與 virt-v2v 轉換整合,同時支援 VCFaaS 與 vCenter,,不論磁碟數量多少,都能在任何虛擬機器上運作。
磁碟清理狀態 從 ISO 開機可以確保原始作業系統沒有執行,提供乾淨、一致的磁碟狀態 (類似冷快照)。

設計限制與局限性

下表說明即時網路傳輸遷移的約束和限制。

即時網路轉移遷移方法的限制與約束
限制或約束 說明
Transit Gateway 要求 需要前期投資以建立和測試 Transit Gateway 連線。
即時 ISO 映像檔的製作
  • 您需要準備和測試您所選擇的 Live ISO,並可能使用所需的工具自訂它。
對網路頻寬的依賴性 傳輸速度受限於環境間的網路頻寬。 監控並制定相應計劃。
手動網路設定 對於每個來源虛擬機器,您需要在 Live ISO 環境中設定網路 (可以使用腳本)。
不適用於溫和遷徙 這是一種冷遷移方式 - 原始虛擬機器在傳輸期間離線。

virt-p2v 整合

virt-p2v 整合更自動化,但需要使用 RHEL/ Ubuntu 混合元件建立 libguestfs。

Red Hat virt-p2v ISO 專為此使用情況而設計。 它提供:

  • 選擇要傳輸的磁碟的圖形介面
  • 內建網路連線至 virt-v2v 接收器
  • 自動驅動程式注入與作業系統準備

virt-p2v 整合過程

  1. 從 virt-p2v ISO 開機源虛擬機
  2. 設定網路並連線至以伺服器模式執行 virt-v2v 的 Worker 虛擬伺服器實例
  3. virt-p2v 傳輸磁碟並自動轉換 virt-v2v
  4. 結果磁碟區已準備好附加到虛擬伺服器實例

即時網路傳輸遷移適用於大規模遷移 (10 台以上虛擬機器)、導出開銷過高的場景,以及您擁有設定 Transit Gateway 和即時 ISO 環境的專業知識。 初始設定成本較高,但每個虛擬機器的遷移效率較佳。