RackWare を使用して、 IBM Cloud、 VMware、 VCF を VPC 仮想サーバーに移行する RMM

IBM Cloud VMware VCF の仮想マシンを、 RackWare RMM を使用して VPC 仮想サーバーに移行し、Direct Sync およびブリッジサーバーを介して IP アドレスを維持します。

このガイドでは、 RackWare 管理モジュール( RMM )を使用して、 IBM Cloud VCF-Automatedの仮想マシンを、 IBM Cloud の仮想プライベートクラウド(VPC)仮想サーバーインスタンスへ移行する方法について解説します。 チュートリアルがありますので、そちらをご覧ください。

IBM Cloud VCF-仮想マシンのOSライセンスの自動取得については、 お客様責任において行っていただく必要があり、 では提供しておりません。 IBM Cloud 対象の仮想サーバーインスタンスを作成する際は、「 Bring Your Own License (BYOL)」のプロビジョニングオプションに注意してください。

IBM Cloud VCF-Automated でホストされている仮想マシンの大部分は、 IBM Cloud Classic ネットワークへのネイティブアクセス権を持たない NSX オーバーレイセグメントに接続されています。 対象の仮想サーバーインスタンスが、ソースの仮想マシンと同じIPアドレスを持つようにするには、NSXオーバーレイセグメントと、対象の仮想サーバーインスタンスのVPCサブネットを分離する必要があります。 これを実現するには、 RMM の以下の機能を使用します:

  • ダイレクト同期(ホスト同期) - データは、 RMM サーバーに保存されることなく、ソース仮想マシンからターゲット仮想サーバーインスタンスへ直接転送されます。 RMM が操作を調整します。
  • パススルー - 対象の仮想サーバーインスタンスはソースの仮想マシンに直接アクセスできないため、 RMM はSecure Shell(SSH)を使用して対象の仮想サーバーインスタンスに接続し、そこからソースの仮想マシンへのリバースSSHトンネルを確立します。 データの流れ:送信元 → RMM → 送信先。この際、 RMM がデータ転送のためのネットワーク中継/プロキシとして機能します。

RackWare RMM ブリッジサーバーは、分離されたネットワーク間の移行を可能にする:

  1. ブリッジのネットワークアドレス変換(NAT):NATを介して RMM から送信元にアクセスできるようにする
  2. リバースSSHトンネル:対象の仮想サーバーインスタンスが、 RMM サーバーを経由して送信元の仮想マシンにアクセスできるようにします
  3. 鍵ベースの認証:対象の仮想サーバーインスタンスは、 RMM のSSH鍵を使用して、ソースの仮想マシンに対して認証を行います
  4. トンネル経由のデータ同期:対象の仮想サーバーインスタンスは、セキュアなSSHトンネルを介してソースの仮想マシンからデータを取得します
  5. ブートローダーのインストール: RMM を実行すると、適切な GRUB 設定が適用され、ターゲットが起動可能になります

このプロセスはエレガントで、セキュリティとネットワークの分離を維持しながら、あらゆる移行を可能にする。

このガイドでは、ダイレクト・シンクに代わる、ステージド・シンク(ステージ1+ステージ2)については説明しません:

  • ステージ1:データをソースから RMM のZFSストレージプールにコピーし、一時的に保存する。
  • ステージ2: RMM のストレージからターゲットにデータをコピーする。

ダイレクト・シンクを希望しない場合や、ソースとターゲットの操作を切り離したい場合に使用する。

IPアドレスの保持

仮想マシンからVPC仮想サーバーへの移行のほとんどにおいて、移行対象のワークロードではIPアドレスの維持が必要となります。 ほとんどの仮想マシンではこれが可能ですが、VPCサブネットには予約済みのIPアドレスが割り当てられています。 たとえば、以下は 192.168.10.0/24:

  • ibm-network-address: 192.168.10.0
  • ibm-default-gateway: 192.168.10.1
  • ibm-dns-address: 192.168.10.2
  • ibm-reserved-address: 192.168.10.3
  • ibm-broadcast-address: 192.168.10.255

したがって、サブネットごとに数台のVMを再IPする必要がある。

サポートされるシステム

サポートされている最新のオペレーティング・システムについては、リファレンスに記載されているドキュメントを確認してください:

  • RHEL 5.2 から 5.11, 6.x, 7.x. 8.x, 9.x
  • Centos 5.2 から 5.11、 6.x、 7.x、 8.x
  • Oracle Linux 5.6 through 5.11, 6.x, 7.x, 8.x、 9.x
  • SLES11(32ビット版を含む)
  • SLES12(btrfsなし)
  • SLES 15 (btrfsなし)
  • Ubuntu 12(32ビット版を含む)、14、16、18、20、22、24
  • Debian 8、9、10、11、12
  • AlmaLinux 8、9
  • ロッキー Linux 8, 9
  • Windows 2008、 R2、2012、2016、2019、2022

アーキテクチャー・コンポーネント

このガイド

  • 知識の伝達を助けるためにIPアドレスの例を使用していますが、あなたのIPアドレスは異なるでしょう。
  • Linux 移籍に焦点を当てているが、 Microsoft Windows も同様。
IBM Cloud VMware-Automated    Bridge Server              IBM Cloud VPC
┌──────────────┐             ┌───────────────┐          ┌───────────────┐
│              │             │ens192:        │          │               │
│  Source VM   │             │192.168.10.254 │          │  RMM Server   │
│ 192.168.10.11├────────────►│               │◄─────────┤  10.68.70.11  │
│              │             │   ens224:     │          │               │
└──────────────┘             │   10.134.54.62│          └───────────────┘
                             │               │                  │
                             └───────────────┘                  │
                                                                │
                                                        ┌───────▼───────┐
                                                        │  Target VSI   │
                                                        │ 192.168.10.11 │
                                                        └───────────────┘

上図は、コンポーネントの論理的な接続図である。 レイヤー2のブリッジングではなく、レイヤー3のNATを使用するため、 bridge server の名前は誤解を招く。

出典 VM:

  • 場所 IBM Cloud VCF 自動化された VMware インスタンス
  • 例: VM Ubuntu 22.04
  • リアルIP: 192.168.10.11 (NSX オーバーレイセグメント)
  • 経由でのアクセス: VM はSNAT経由でインターネットにアクセスでき、クライアントネットワークにはネイティブアクセスできるが、 IBM Cloud ネットワークにはアクセスできない

ブリッジサーバー:

  • 目的:分離されたネットワーク間のレイヤー3ネットワーク接続を提供する
  • 機能SNAT を使用して、孤立した NSX オーバーレイセグメントを IBM Cloud VPC ネットワークからアクセス可能にする
  • インターフェース
    • ens192: 192.168.10.254- インサイドネットワーク ( 192.168.10.0/24 )
    • ens224 10.134.54.62- 外部ネットワーク ( ) 10.134.54.0/26

RMM サーバー

  • 場所: IBM Cloud VPC
  • 目的:マイグレーション/同期処理のオーケストレーション
  • IPだ: 10.68.70.11
  • 実行: RackWare ソフトウェア、UIのホスト、データ転送の調整、パススルー・モードでのネットワーク通信のプロキシとして動作

ターゲット VSI

  • 場所: IBM Cloud VPC
  • 例:仮想サーバーインスタンス(VSI)
  • IPだ: 192.168.10.11
  • 目的:移行されたデータの保存先

IBM Cloud Private 静的サブネット:

  • 場所: IBM Cloud Classic
  • 例30ポータブルサブネット(4 IP)の展開
  • IP: 10.194.177.82/30. 使用可能IP: 10.194.177.82- 10.194.177.85
  • 目的: IBM Cloud クラシックネットワークが 10.134.54.62 (ブリッジサーバーの ens224 IP)にルーティングするNAT用IPアドレスを提供する。 IBM のネットワーク・インフラストラクチャーは、 10.194.177.82/30 宛のトラフィックはすべて、以下に送信されるべきであることを知っている。 10.134.54.62

ブリッジサーバー

ブリッジサーバーは iptables を使ってNATを提供する:

  1. RMM が 10.194.177.82 に接続すると、ブリッジは宛先を 192.168.10.11 (実際のソース VM のIPアドレス) に変換する。

  2. 送信元 VM が返信すると、NAT IPから送信されているように見える。 10.194.177.82

    RMM が 10.194.177.82 に到達しようとするとき:

    1. RMM パケット送信
      • SRC: 10.68.70.11
      • DST: 10.194.177.82
    2. VPC Routes to Transit Gateway これは、クラシック・ネットワークへのルートである:
      • 「 10.194.177.82 はサブネット 10.194.177.82/30 にある
      • 「このサブネットを 10.134.54.62 "
    3. ステップ3:ブリッジ・サーバーへのパケット配信
      • ens224 ( 10.134.54.62 ) に到着
      • サマータイム: 10.194.177.82 (変更なし)
    4. ブリッジのiptables DNAT
      • iptables -t nat -A PREROUTING -i ens224 -d 10.194.177.82 -j DNAT --to-destination 192.168.10.11
    5. 送信元へ転送されたパケット VM
      • SRC: 10.68.70.11
      • DST: 192.168.10.11 (DNAT経由)

SSHキーの要件

データ転送のためにトンネルを機能させるには、ターゲットがソースに対して認証を行う必要がある。 ターゲットVSIは、ソース VM のauthorized_keysファイル内の公開鍵と一致するSSH秘密鍵を必要とする。

主要な場所

  • RMM: /root/.ssh/id_rsa RMM 配備後の手動プロセスの一部として作成される
  • ターゲット Linux VSI: /root/.ssh/id_rsa RMM と同じキーであり、 RMM 自動化されたプロセスを経由して転送されなければならない
  • ソース Linux VM: /home/rackware/.ssh/authorized_keys ソース・セットアップのマニュアル・プロセスの一部として作成された

Windowsサーバーの場合は、 RackWare SSHDユーティリティを使用する。 RackWare SSHD for Windowsは、Windowsシステム専用のMSIインストーラーとしてパッケージ化された軽量のSSHサーバー実装で、 RackWare RMM 接続を可能にします。 MSI、 RWSSHDService_x64.msi は、 RMM のサーバーから直接ダウンロードできます: https://<RMM_IP>/windows/RWSSHDService_x64.msi

認証フロー

  1. RMM → ソース VM (ブリッジサーバー経由)
    • 用途: RMM のSSHキー
    • 認証者: rackware ユーザー
    • 目的:発見、ファイルシステムのマウント、クリーンアップ
  2. RMM → ターゲットVSI
    • 用途: RMM のSSHキー
    • 認証者: root ユーザー
    • 目的:トンネルの作成、ファイルシステムのマウント、データ転送
  3. ターゲットVSI → ソース VM (トンネル経由)
    • 使用する:コピーされた SSH 鍵 ( RMM と同じ)
    • 認証者: rackware ユーザー
    • 目的:データ転送

コア RackWare RMM オペレーション

以下は、 RackWare RMM、マイグレーションの中核となる操作である。

発見/検証

目的:情報源に関する情報を収集する VM プロセス

  • ユーザーは、送信元のIPアドレスまたはDNSホスト名を指定する VM。 私たちの使用例では、NAT IPアドレスを使用する。
  • RMM SSH経由で接続元サーバーに接続する。 VM
  • OSの標準的なクエリーを実行し、メタデータを収集する:
    • CPUコア、RAM、ディスク構成
    • パーティションとボリューム構造
    • OSのバージョンとインストールされているパッケージ
    • ネットワーク構成
    • アプリケーション情報
  • RMM の CMDB(構成管理データベース)に保存されているメタデータ
  • 必要であれば、 AutoProvisioning ターゲット VSI に後で使用する

鍵の要件 SSH 鍵は、 RMM とソースサーバー間で適切に設定されている必要があります

キャプチャー(ストア&フォワード・アプローチ)

このユースケースでは、ダイレクトアサイン(Flex Sync/Host Sync)アプローチを使用するため、Store-and-Forwardアプローチは使用しない。

目的:ソース VM イメージのスナップショット/クローンを作成する。 RMM プロセス:

  • LVMスナップショット( Linux )またはVSSスナップショット(Windows)をソース上に作成します。 VM
  • OSは一貫性を保つため、アプリケーションのIOをディスクにフラッシュする
  • OSがファイルシステムにブックマークを置く(破壊的ではない)
  • RMM 静的スナップショットから RMM ストレージにイメージビットをコピーする
  • 使用されたデータのみがコピーされる(ブロックレベルではなくファイルレベル)
  • RMM サーバーの保存場所に保存された画像
  • CMDBに保存されている画像に関する追加メタデータ

主な機能:

  • オリジン・サーバーへの無影響(本番稼動継続)
  • ファイル・ベースのレプリケーション(セクタ/ブロックではない)
  • 圧縮と暗号化をサポート
  • インクルード/エクスクルード・リストを指定し、データを選択することができる

割り当て

目的:キャプチャしたイメージをターゲットVSIにデプロイする。 プロセス

  1. AutoProvision ターゲットVSI(または事前にプロビジョニングされたサーバーを使用する)
    • RMM ディスカバーからのメタデータを使用して、ターゲットのサイズを適切に調整する
    • VPCにおけるVSIの規定
  2. SSHでターゲットに接続する
  3. ターゲットを調べる
    • ターゲット VSI がソース VM イメージを実行できることを確認する
    • 基礎となるハードウェアを理解する
  4. RackWare マイクロカーネルで起動
    • マイクロカーネルをターゲットVSIにデプロイする
    • ブートローダーのオプションに挿入する
    • マイクロカーネルからターゲットVSIをブートする
  5. ターゲットVSIディスクの準備
    • ディスクの再フォーマット
    • 論理ボリュームの構造を再作成する(Originと完全一致)
    • ベストフィットアルゴリズムを使用してパーティションを作成する
  6. 転送イメージ
    • RMM ストレージからターゲットVSIにイメージビットを転送する
    • 新しいハードウェアに必要なデバイスドライバを注入する
    • オプションでターゲットVSIのネットワーク設定を変更する
  7. 設定と再起動
    • 実際のOS用にブートローダーを設定する
    • 複製されたOSに再起動する
  8. 検証
    • ターゲットVSIが正しく起動することを確認する
    • 正しいネットワーキングを確認する
    • 正しく複製されたデータを確認する
    • オリジンと同じ認証情報を使って、複製されたサーバーにSSH接続する

ダイレクトアサイン(フレックスシンクまたはホストシンクとも呼ばれる)

これがこのユースケースで使っているアプローチだ。

目的中間ストレージを使用せずに、ソース VM からターゲットVSIに直接レプリケートする。 プロセス:

  1. キャプチャ+アサインを1つの操作に統合
  2. すべてのディスカバー機能を果たす
  3. ターゲットサーバーを用意する(または既存のサーバーを使用する)
  4. ターゲット・サーバーの準備
  5. ソース VM からターゲット VSI に直接レプリケートする
  6. ネットワーク接続は、 RMM (ソースとターゲットの直接接続は不要)を経由することができます

シンク(デルタ同期)

目的:ソースから変更されたデータのみでターゲットを更新する VM プロセス

  1. ソース VM (LVMまたはVSS)でスナップショットを取得します
  2. 差分を計算(変更されたファイルのみ)
  3. 変更されたデータのみをターゲットに転送
  4. どちらかを更新する:
    • キャプチャー画像 RMM 保存、OR
    • 稼働中のターゲットサーバー、または
    • 両方(画像+対象サーバー)

同期オプション

  • ステージIシンク
    • オリジン → RMM ストレージ(キャプチャ画像)
    • 保存画像のみを更新
  • ステージIIシンク
    • RMM ストレージ → ターゲットサーバー
    • 保存されたイメージから実行中のターゲットを更新
  • RMM パススルー
    • オリジン → RMM → ターゲット
    • データは RMM を流れるが、永続しない
    • RMM への保存は不要
  • ダイレクト・シンク
    • オリジン → ターゲット(直結)
  • セレクティブ・シンク
    • 特定のファイル/ディレクトリのみを同期
    • インクルード/除外リストの使用
  • ドライブ/ディレクトリのマッピング
    • 特定のオリジン・パスを異なるターゲット・パスにマッピングする

シンクエンジン:

  • RWSync(デフォルト):
    • エージェントレス
    • ネットワーク停止に強い
    • 大量の同時更新に対応
    • 最終チェックサムを含む
    • TNGより遅い
  • TNG(上級):
    • デルタファイルトラッカーのインストールが必要
    • より速く、より効率的に
    • 大規模サーバー、高更新レート、アグレッシブなRPOの場合
    • アンチウイルスのホワイトリスト登録が必要
    • ネットワーク停止の影響を受けやすい
    • リモートの NFS /CIFSマウントをサポートしていません

RackWare マイクロカーネル起動プロセス

アサイン操作の間、 RMM はターゲットVSIを RackWare マイクロカーネルにブートし、ブートディスクは再フォーマットされ、ファイルシステム、タイプ、サイズがソース VM と一致するようにします。 RMM は、ターゲットのディスクレイアウトと、ソースのディスクレイアウトに基づくパーティションから、ベストフィットを試みます。

マイクロカーネルの展開

RackWare、複製されたイメージを受け取るためにターゲットVSIを準備する:

  • RMM RackWare マイクロカーネルをターゲット VSI に配置する
  • このマイクロカーネルは、プラットフォームOSの「ブートローダーのオプションに挿入される」
  • マイクロカーネルはブートローダ( Linux のGRUB)から起動する

マイクロカーネルは LiveCD,、ブート可能な最小環境と考えることができる:

  • ターゲットハードウェアに必要なドライバを格納する
  • RMM がターゲットサーバーと通信できるようにする
  • ディスクの再フォーマットとパーティション作成が可能
  • オリジンからターゲットへの実際のデータ転送を容易にする
  • 新しいハードウェア環境にシステムを設定する

アサインの段階で RackWare:

  1. ターゲットVSIをマイクロカーネルにブートする(GRUBエントリー経由)
  2. マイクロカーネル中にディスクを再フォーマットする
  3. ソースと一致するパーティション構造を再作成する VM
  4. LVM構造を作成するために論理ボリュームを作成する
  5. ソース VM のデータをターゲット VSI に転送する
  6. ターゲット・ハードウェアに必要なドライバーを注入する
  7. 実際のOSをブートするためにGRUBを設定する
  8. 複製されたOSに再起動

RackWare はGRUBの設定を次のように変更する:

  • 割り当てプロセス中に一時的なマイクロカーネル・ブート・エントリーを追加する
  • 複製されたOSの正しいブート・パラメーターを設定する
  • 転送完了後、複製されたOSにデフォルトのブートオプションを設定する
  • 新しいハードウェアに必要なカーネル・パラメータを処理する

Windows システムの場合:

  • GRUBの代わりにWindows Boot Managerを使用
  • 同じマイクロカーネルのコンセプトが適用される
  • マイクロカーネルがWindowsのブート設定に挿入される
  • レプリケーション後、ブート構成はレプリケートされたWindows OSを指す

マイクロカーネル環境では、 RackWare :

  • 適切なストレージドライバを注入する
  • ネットワーク・ドライバーの注入
  • 新しいハードウェア用にデバイスドライバを設定する
  • 複製されたOSが異なるハードウェアで起動できることを確認する

デルタ・シンク(その後のシンク)のレプリケーション・プロセスは、最初のシンクと同じように機能する。 デルタ同期は、ターゲットサーバーを RackWare マイクロカーネルにリブートした後に実行される。 デルタ同期が完了すると、ターゲットVSIはホストOSにブートバックする、

このマイクロカーネル・アプローチは、 RackWare にとって重要な差別化要因である。なぜなら、重要な転送と設定の段階でターゲット環境を完全に制御することで、クロスプラットフォーム、クロスハイパーバイザー、物理から仮想への移行の複雑さに対処できるからである。

RackWare ダイレクト・シンク・プロセスによるパススルー

その手順は以下の通りです:

  1. RMM ソースを発見する VM
RMM → Bridge (10.194.177.82) → Source VM (192.168.10.11)
  • RMM SSH 経由で 10.194.177.82 (NAT IP) に接続する
  • ブリッジは次のように訳される。 192.168.10.11
  • RMM メタデータを収集する:OS、ファイルシステム、ディスクレイアウトなど。
  1. RMM ターゲットVSIを発見
RMM → Target VSI (192.168.10.11)
  • RMM にSSHで接続する。 192.168.10.11
  • ターゲットのハードウェアと能力を調べる
  1. RMM ターゲットVSIへの逆SSHトンネルの作成

RMM オートメーションは、 RMM サーバーを経由して、ターゲットVSIとソース VM の間に逆SSHトンネルを作成する:

Target VSI (192.168.10.11)
  │
  └─ localhost:23 ──[SSH Tunnel]──► RMM ──► Bridge ──► Source VM:22
  1. RMM ターゲットVSIへのSSH接続を開始する

  2. ターゲットにリスニング・ポート(23)を作成する

  3. ターゲットの localhost:23 :

    • SSHトンネルを通して RMM
    • RMM を 10.194.177.82:22 に転送する(ブリッジ経由のソース)
    • DNATを実際のソースにブリッジする

    視覚的な流れ:

    Target:       [App tries localhost:23]
                           ↓
                   [SSH tunnel to RMM]
                           ↓
    RMM: [Receives and forwards to 10.194.177.82:22]
                           ↓
     Bridge: [DNAT: 10.194.177.82 → 192.168.10.11]
                           ↓
    Source:   [Receives connection on port 22]
    
  4. ファイルシステムのマウント

RMM は、以下の例と同様のコマンドを使用して、ソースとターゲットの両方にファイルシステムをマウントする:

ソース VM (ブリッジ経由):

# RMM executes on source
mount --bind / /mnt/rackware/tmp.xxxxx

オン・ターゲットVSI(ダイレクト):

# RMM executes on target
mount /dev/vda2 /mnt/rackware/tmp.yyyyy
  1. データ転送

RMM は、ターゲットVSI上でデータ転送を実行し、ソース VM からデータを引き出す:

  1. GRUBのインストール

RMM GRUB をインストールし、UEFI ブート用にターゲット上で設定する:

  • GRUBブートローダーのファイルをコピーする
  • 正しいカーネルパラメータで grub.cfg を生成する
  • UEFIブートエントリーの作成
  • 新しいハードウェアドライバの設定
  1. ファイルシステムのアンマウント
# On both source and target
umount /mnt/rackware/tmp.xxxxx
  1. クローズトンネル

  2. RMM ターゲットへのSSHトンネルを閉じる

  3. ポート23がターゲットからのリッスンを停止

  4. ユーティリティの削除

# RMM removes temporary files from source and target
rm -rf /var/tmp/rackware/

参照