IBM Cloud VPC:使用即時網路傳輸遷移 VMware 虛擬機器

透過 virt-v2v,利用 Transit Gateway 連線串流傳輸磁碟資料,將 VMware 虛擬機器遷移至 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

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

即時網路傳輸會在 IBM Cloud Transit Gateway 之間建立一條直接的 TCP 網路串流,將來源 VM 的磁碟區塊複製到 VPC 區塊儲存目標中。

開始之前,請確保您已建立 IBM Cloud Transit Gateway 之間的路由,並在 VMware 中設定了可運作的 Linux ISO,以及建立了 VPC 目標儲存卷。

  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 netcat 或 yum 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 整合

Red Hat virt-p2v 這是一個專用的即時轉換環境,可與目標 轉換伺服器協同運作,以自動化執行磁碟串流與驅動程式注入。virt-v2v

在執行 virt-p2v 遷移之前,請確認您的 VPC 工作節點上已以監聽模式運行 virt-v2v,且來源 VM 已掛載 virt-p2v ISO 檔案。

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 環境的專業知識。 初始設定成本較高,但每個虛擬機器的遷移效率較佳。