仮想サーバーの移行計画を策定する IBM Cloud VPC
仮想マシン( VM )の依存関係をマッピングし、ベロシティを見積もり、アプリケーションスタックの切り替え期間をスケジュールすることで、 IBM Cloud VPC への移行フェーズを計画します。
依存計画
移行の波を開始する前に、以下のアプリケーション依存関係をマッピングする必要があります:
ティアベース:
- ウェブ・ティア → アプリ・ティア
- アプリ層 → データベース層
- データベース層 → 共有ストレージとサービス
クロスアプリケーション:
- 認証
- モニター
- Backup
- ログ集計
- DNSとNTP
発見のためのツール:
- VMware vRealize Network Insight ( ) vRNI
- アプリケーション依存マッピングツール
- ネットワーク・フロー分析
- アプリケーション所有者によるマニュアル文書
各仮想サーバーについて、以下の情報を移行計画に記録します:
- インバウンドの依存関係
- アウトバウンドの依存関係
- 共有リソース
テスト移動波のデザイン
最初の移民の波は、テスト(パイロット)波である。 テストウェーブを成功させるためには、以下の情報を守る必要があります:
仮想サーバーの適切な表示
- シングルディスクの Linux 仮想サーバー
- マルチディスクの Linux 仮想サーバー
- シングルディスクWindows仮想サーバー
- マルチディスクWindows仮想サーバー
- 依存関係を持つアプリケーション(3層アプリ)
最小リスク」のオプションを使用する:
- 本番環境以外での移行を実施する。 あるいは、大きなメンテナンスウィンドウがある本番環境を使う。
- アプリケーションのロールバック手順を知る。
完全な移行を行う:
- 選択した方法の完全なエンド・ツー・エンド・テスト
- 移籍時期と推定時期
- テストでは見つからなかった問題の発見
移籍の成功基準:
- すべての仮想サーバーが正常に起動
- アプリケーションが正しく機能する
- ネットワーク接続の確認
- ベースライン以上のパフォーマンス
- データの損失や破損がない
- 移行に関する文書は完全かつ正確である
ウェーブ・ストラクチャー・ガイドライン
サブネットベースのグループ化:
VMware、VPC間でサブネットを拡張することはできません。 つまり、次のようなアクションが必要なのだ:
- 仮想サーバーをサブネットでグループ化する
- サブネット全体を一度に移行したり、一部の仮想サーバーのIPを変更する必要があることを把握できます
- サブネットとVPCサブネットのマッピングを早めに計画する
多階層アプリケーションのためのアプリケーションスタックのグループ化:
- 可能であれば、スタック全体を一度に移行する。
- 移行規模が大きすぎる場合は、まずデータベースから移行し、次にアプリから移行する、というようにする。
- IBM Cloud Transit Gateway を使用して、移行済みティアと未移行のティア間の接続性を維持します。
依存性を考慮したシーケンシングのためのアプリケーションスタックのグループ化:
- インフラサービスを最初に移行する(DNS、モニタリング、バックアップ)。
- 必要なアプリケーションの前に共有サービスを移行する。
- 各波の影響を考慮し、失敗した場合の影響も考慮する。
並列マイグレーション機能:
方法3 ライブ・ネットワーク転送(スケールに推奨)が優れて いる:
- 複数のワーカー仮想サーバーインスタンスをプロビジョニングする
- 複数の仮想サーバーを同時に移行
- ネットワーク帯域幅とワーカーの仮想サーバーインスタンスリソースによる制限
- 典型的な例:ワーカー仮想サーバーインスタンスあたり4~8件の同時マイグレーション
テスト波の構成例
次の例は、50 台の仮想サーバーの移行を示しています。
ウェーブ0(テスト)仮想サーバー5台
- 1x シングルディスク Linux (メソッド1テスト)
- 1x マルチディスク Linux (方法2テスト)
- 1x シングルディスクWindows(sysprepを使った方法1)
- 1x マルチディスク・ウィンドウズ( virt-v2v を使った方法2)
- 1x 3層テストアプリ(メソッド2と3、フルスタック)
第1波(インフラ)仮想サーバー8台
- DNS サーバー
- モニター・サーバー
- ジャンプホストまたは要塞サーバー
- VPCファイルストレージに移行した共有ファイルサーバー
ウェーブ2(アプリケーションA):12台の仮想サーバー
- データベース層(仮想サーバー3台)
- アプリ層(仮想サーバー6台)
- ウェブ層(仮想サーバー3台)
- サブネット
10.50.10.0/24→ VPCサブネット10.240.10.0/24
第3波(アプリケーションB):10台の仮想サーバー
- データベースとアプリの複合ティア(4仮想サーバー)
- ウェブ層(仮想サーバー6台)
- サブネット
10.50.20.0/24→ VPCサブネット10.240.20.0/24
第4波(アプリケーションC):15台の仮想サーバー
- 大規模な多階層アプリケーション
- サブネット
10.50.30.0/24→ VPCサブネット10.240.30.0/24
カットオーバー期間の設計
それぞれの波には、明確なカットオーバー・ウィンドウが必要だ。
カットオーバー前のスケジュール(7日から移行日まで):
- ウェーブプランとランブックの最終決定
- Transit Gateway 接続の確認
- ワーカー仮想サーバーインスタンスとターゲットボリュームのプロビジョニング
- カットオーバーウィンドウを関係者に伝える
- 移行するサービスのDNS TTLを減らす
- メンテナンスのお知らせ
カットオーバーの実行 ( T-0 )
以下の情報は、カットオーバーフェーズについて説明したものである。
フェーズ1:一時中断と移行(0~4時間)
- 接続を切断する - ロードバランサーから接続を切断し、セッションが閉じるのを待つ。
- アプリケーションの停止
- 仮想サーバーをシャットダウンするか、ライブISOから起動する
- ディスク転送開始
- 移籍の進捗状況を監視する
第2段階:変換と提供(4~6時間)
- 必要に応じて virt-v2v を実行し、ドライバーを注入する
- ディスク転送の検証(fdisk、チェックサム)
- バッファをフラッシュし、ボリュームをワーカーから切り離す
- 移行したボリュームから仮想サーバーインスタンスを作成する
- 仮想サーバーインスタンスを起動する
フェーズ3:検証とカットオーバー(6~8時間)
- 仮想サーバーインスタンスを起動し、必要に応じてVNCコンソールからアクセスする
- ネットワーク構成を確認し、必要に応じて調整する
- 申し込み開始
- 機能テスト(アプリケーションの動作、データへのアクセス)
- ロードバランサーへの追加とDNSの更新
- アプリケーション・パフォーマンスのモニター
第4段階:安定させる(8~12時間目)
- 問題の監視
- 外部接続の確認
- アプリケーションのログを確認してエラーがないか確認してください
- パフォーマンスをベースラインと比較する
マイグレーション・ロールバックの決定ポイント
- フェーズ 1 の後: 簡単なロールバック ( VMware 仮想サーバーを再起動)
- フェーズ 2 以降:難易度「中」(仮想サーバーインスタンスの破棄、 VMware 仮想サーバーの再起動、DNS のリストア)
- フェーズ3以降:困難(VPCに新しいデータがある可能性があり、 VMware へのデータ同期が必要)
設計の推奨ゴー、ノーのチェックポイントを明確に定義する。 例:
- フェーズ 2 の後、仮想サーバーインスタンスの 20% 以上が起動に失敗したら、ロールバックを実施する。
- フェーズ 3 の後、アプリケーションの機能テストが失敗したら、ロールバックを実施する。
- フェーズ4の後、パフォーマンスがベースラインより30%以上低い場合は、調査するが、ロールバックは実施しない。
移動速度の推定
仮想サーバーごとの移行時間を見積もり、現実的なウェーブサイズとウィンドウを計画します。 以下のスケジュールは達成可能だが、実際の移行の前に PoC。
時間の構成要素:
方法1-2を使用した輸出時間の見積もり:
- 100GBの仮想サーバー20~30分
- 500GBの仮想サーバー2~3時間
- VMware ストレージ性能に依存
移動時間の目安
- ネットワーク100 GB = 20-25分
- ネットワーク500 GB = 90-120分
- 圧縮を使用する方法3:圧縮により2~3倍速くなることが多い
による変換時間の見積もり virt-v2v:
- Linux:5~10分
- ウィンドウズ10~20分
- ワーカー仮想サーバーインスタンスのパフォーマンスに依存
プロビジョニング時間の見積もり:
- 仮想サーバーインスタンスの作成5分
- ブートとネットワーク設定5~10分
時間の見積もり例:
小規模 Linux 仮想サーバー(1 ディスク、100 GB、方法 3):
- 輸出なし:0分
- 圧縮を伴う移送:25分
- 変身:5分
- プロビジョニング:10分
- 合計:40分
ディスク4本、合計1TBを使用した方法2による大規模なWindows仮想サーバーの時間見積もり:
- 輸出:3時間
- 移動:2時間
- 変身 ( virt-v2v ):20分
- プロビジョニング:10分
- 合計: 5.5 時間
方法3,4の両方の時間見積もりによる並列移動効率:
- 4x 並行して移行される100GBの仮想サーバー
- 各30分
- 波の総時間:35分(スタートアップとシャットダウンの時間を含む
4x 100GBの仮想サーバーを連続的に移行する場合と比較すると:
波の合計時間は120分
パラレリズムは、このシナリオで3倍から4倍の改善をもたらす。