Veeam backup & replicationのReplicationによる別基盤への仮想マシン移行
初めに
インフラ技術部のSです。
今回は、「Veeam backup & replicationのReplicationによる別基盤への仮想マシン移行」について紹介いたします。
Veeamのレプリケーション&フェイルオーバーの機能を使用し、ESXi仮想基盤から、 別ESXi仮想基盤へ仮想マシンを移行をしました。
この機能を応用することで、別仮想基盤やオンプレミスからクラウド基盤へ仮想マシンを移行することができます。
前提条件
VeeamのReplication機能を使用し、仮想マシンの移行を行う際は、下記の項目を推奨します。
・Veeamに移行元と移行先間でvCenterサーバを登録すること。
・プロキシサーバは必須ではないが、移行元と移行先の両基盤に構築するのが推奨する。
・移行元と移行先間でReplicationする際は、1Gbps以上の速度を推奨する。
仮想マシンレプリケーションについて
Veeamレプリケーションジョブについて
Veeamレプリケーションジョブは、物理サーバや仮想マシンのレプリカを作成し、ストレージや別の仮想基盤に保存しておくことで災害復旧(DR)や移行ツールとしても使用できます。
主な設定内容は、以下になります。
①レプリケーションジョブ名の設定
ジョブの名前や、後述する、Network RemappingとReplica re-IP設定を有効にできます。
②ソース仮想マシンの選択
レプリケーション対象となる仮想マシンを選択します。複数の仮想マシンを一つのジョブに含めることも可能です。
③ターゲットの設定
ターゲットホストとターゲットデータストアを指定します。
④レプリカの保存場所の設定
レプリカの保存場所や世代数を指定できます。
⑤Advanced設定
・Enable VMware Tools quiescence:VMware Toolsの静止点作成機能です。アプリケーションベルでの静止点作成には向いていません。
・Scripts:レプリケーションジョブ実行前後にスクリプトを実行する機能です。
⑥プロキシサーバの選択
プロキシサーバを選択します。データ転送の効率が向上します。
⑦アプリケーション認識処理
・Enable application-aware image processing:アプリケーションベルでの静止点作成機能です。
⑧スケジュールの設定
レプリケーションジョブの実行スケジュールを設定します。毎日特定の時間にレプリケーションを実行するようにするなどと設定できます。
Network RemappingとReplica re-IPの効果的な利用法
・Network Remapping
仮想マシンを異なるネットワーク環境に移行する際、元のネットワーク設定を新しい環境に適応させる必要があります。例えば、移行元仮想基盤では特定の仮想ネットワーク(ポートグループ)を使用しているが、移行先仮想基盤では別の仮想ネットワークを使用している場合です。
このような状況では、仮想マシンが移行先仮想基盤で正しく通信するために適切なポートグループを設定する必要があります。
Network Remappingを有効にしておくことでフェイルオーバーが始まると、レプリカ仮想マシンは自動的に移行先基盤内の正しいネットワークに接続されます。これにより、レプリカ仮想マシンのネットワーク設定を手動で変更する手間が省けます。
・Replica re-IP
Replica re-IPは、移行先仮想基盤で異なるIPアドレスを使用する場合に、使用します。レプリカ仮想マシンのIPアドレスを自動的に再構成する機能です。
これはMicrosoft Windows OSを搭載した仮想マシンにのみ適用できます。
レプリケーションジョブの内容を踏まえ、複数の仮想マシンをを一つのジョブに指定することも可能なので、レプリケーションジョブを作成する際には、レプリケーション前にスクリプトを実行する必要があるサーバや静止点を儲けたいサーバなどで、レプリケーションジョブを分けて作成しておくと便利です。
また、異なるネットワークセグメントや、元の仮想マシンで使用しているIPアドレスがレプリケーション後に使用できないなどの場面があれば、Network RemappingとReplica re-IPを有効活用できます。
フェイルオーバーについて
フェイルオーバーは、Veeamレプリケーション実施後にレプリカ仮想マシンを起動する際に用いる操作です。 本番環境や稼働系の仮想マシンで障害が発生した場合や、移行作業を実施する際に使用します。フェイルオーバーの主な種類は以下になります。
・Planned Failover
ソース仮想マシンから差分反映を行い、レプリカ仮想マシンの状態を最新にし、データの整合性を担保します。また、移行元仮想マシンの停止やレプリカ仮想マシンの起動を自動的に行います。仮想マシンの移行ツールとしても使用できます。
指定した仮想マシンに対して自動的に以下の操作を実行します。
①差分レプリケーションの実行
②移行元仮想マシンのシャットダウン
③再レプリケーションを行い移行元仮想マシンとデータ完全同期
④移行先のレプリカの自動起動
・Failover Plan
(※Enterprise Edition以降で使用可能)
レプリカ仮想マシンをどの順番で起動するかを設定しておくことで、指定した順序で自動的に起動できます。
運用サイトが全損した場合などに使用し、復旧の手間を削減できます。
仮想マシンに起動実行のディレイタイムを設けることが可能で、優先的に起動させたいADサーバやDBサーバの起動後、アプリケーションサーバやファイルサーバなどのサーバを起動するなど を自動的に行えます。
・Failover Now
選択したリストアポイントからレプリカ仮想マシンを起動します。
本番環境や仮想マシンレベルでの障害が発生した場合、DR環境へ切り替えを行えます。
フェイルオーバー後の操作について
・Permanent Failover
元の仮想マシンのリストアポイントを削除し、移行先ホスト上のレプリカ仮想マシンに切り替えて、継続的に使用します。
移行の際に、移行後問題なく仮想マシンが稼働することを確認し、永続フェイルオーバーの実行をします。
永続フェイルオーバーの実行をすると、フェイルバックを実施できなくなります。
・Undo Failover
フェイルオーバーした仮想マシンから元の仮想マシンに迅速に切り戻すことができます。
フェイルオーバーの動作確認やハードウェアのメンテナンスを行う際に、仮想マシンを一時的にフェイルオーバー先に移動させ、メンテナンスが完了した後にUndo Failoverを実行して元の環境に戻すなどと使用できます。
この際、レプリカ仮想マシンで更新されたデータは、削除されます。
・Failback to Production
フェイルバックは、フェイルオーバーしたレプリカ仮想マシンを、元の仮想マシンに切り戻すことです。
この際、レプリカ仮想マシンで更新されたデータは、元の仮想マシンに差分データで送られます。
移行方法
上記の機能を踏まえ、移行する際には下記の手順に従って仮想マシンを移行することができます。
①レプリケーションジョブの作成[参照:Veeamレプリケーションジョブについて]
②Planned Failoverの実行[参照:Planned Failover]
③Permanent Failoverの実行[参照Permanent Failover]
最後に
適切なレプリケーションジョブを作成し、Planned FailoverとPermanent Failoverの実行を組み合わせることにより、整合性のある仮想マシンを別ホストに移行することを実現できます。
加えて、Network RemappingやReplica re-IPをジョブに設定しておくことで、移行後すぐに運用を開始でき、手動での仮想マシン再設定やIPアドレス変更の手間が省けるため、非常に便利です。 Veeamはバックアップ製品で有名ですが、レプリケーション機能も使いやすいと感じました。
また、移行作業中のアクシデントや移行完了後、移行先の仮想基盤での仮想マシンの挙動がおかしいといった場合にも、Undo Failoverを使用し、切り戻しできる点も移行ツールとしてよいのかと思います。
しかし、Planned Failoverでは、整合性のある仮想マシンは移行できますが、日時指定をしてフェイルオーバーさせることはできないため、 移行台数が多い環境では、オペレーターによる手動作業が必要な点は注意が必要だと感じました。