ランサムウェアなどのサイバー攻撃対策として、ディザスタリカバリのソリューションを導入する企業が増えています。
仮想基盤の災害対策やランサムウェア対策として、仮想サーバを別のリージョンにレプリケーションして、万が一の事態が発生した時に別のリージョンで稼働させて事業継続させるソリューションがあります。
VMware vSphereでは以下の仮想アプライアンスで上記のディザスタリカバリを実現します。
- vSphere Replication
- 仮想基盤間を跨いだレプリケーション機能を提供します。
- VMware Live Site Recovery
- リカバリ対象とする仮想マシンの指定や、保護サイトからリカバリサイトへのリカバリ指示を行います
- 旧製品名はVMware Site Recovery Manager(SRM)です
本記事では、「vSphere Replication」について、特にvSphere Replication 9.0以降からサポートされる「拡張レプリケーション」と呼ばれる新たなレプリケーション手法について取り上げます。
「レガシーレプリケーション」と呼ばれる従来のレプリケーションと比較して拡張レプリケーションで何が変わったのか、導入する際の注意点を交えてご紹介します。
vSphere Replicationのレプリケーション種別
レガシーレプリケーション
レプリケーションの送信元vSphere基盤(保護サイト)と宛先vSphere基盤(リカバリサイト)にそれぞれvSphere Replicationアプライアンス(以下、vRと表記)を展開します。
レプリケーションデータは保護サイトで保護する仮想マシンが存在するvSphere ESXi(以下、ESXiと表記)からリカバリサイトのvRへ送られます。
リカバリサイトのvRからターゲットとなるデータストアが存在するESXiにNetwork File Copy(NFC)プロトコルで転送されます。
このレプリケーションはレガシーレプリケーションと呼ばれます。
送信するESXiはReplication VMkernelポートのIPアドレスから送信されます。
NFCプロトコルのデータはリカバリサイトESXiのReplication NFC VMkernelポートのIPアドレスで受信します。
拡張レプリケーション
vSphere Replication 9.0 ではレガシーレプリケーションに加えて拡張レプリケーションが利用可能になりました。
※ 将来のバージョンでレガシーレプリケーションは廃止されて拡張レプリケーションのみ利用可能になるとの事です。*1
拡張レプリケーションの送信元はレガシーレプリケーションと同様で、保護サイトで保護する仮想マシンが存在するESXiになります。
宛先はリカバリサイトのvRではなくESXiになります。ESXiからターゲットデータストアに直接送信されます。
レガシーレプリケーションでは、レプリケーショントラフィックは1台のvRへ集中して送信されるため、ボトルネックの原因となる場合がありました。
拡張レプリケーションでは、宛先のESXiに対して分散して送信されるため、ボトルネックの可能性は少なくなりパフォーマンス向上が見込まれます。
このパフォーマンスの改善により、VMware Live Site Recoveryと併用する場合はRPO*2を1分に設定することができます。
従来のレプリケーションと拡張レプリケーションの比較
レガシーレプリケーションと拡張レプリケーションの主な特徴を比較してみました。
レガシーレプリケーション | 拡張レプリケーション | |
---|---|---|
送信元 | 保護サイトのESXi | 保護サイトのESXi |
宛先 | リカバリサイトのvR | リカバリサイトのESXi |
メリット | 従来からある手法で実績が多い | 最適なデータパス提供により、スループットが相対的に高い |
デメリット | ボトルネックになりうるコンポーネントがあるため、スループットが相対的に低い | 新しい手法で実績が少ない |
対応バージョン | 8.x、9.0(将来のバージョンで廃止予定) | 9.0以降 |
RPO | 最短5分 | 最短1分 |
暗号化 | 有効/無効を選択可能 | 有効(無効にできない) |
レガシーレプリケーションから拡張レプリケーションに切替
レガシーレプリケーションは将来のバージョンで廃止予定のため、これまでレガシーレプリケーションで利用してきたユーザがサポート期間の更新などを理由にvRのアップグレードを行った場合、拡張レプリケーションへの設定変更が必要になります。
レガシーレプリケーションでレプリケーションしている仮想マシンは、拡張レプリケーションへ切替可能です。切替を実施する場合は、レプリケーションの再構成を行って、拡張レプリケーションを選択して変更します。
※ 具体的な切替手順は下記のドキュメントをご確認ください
https://techdocs.broadcom.com/us/en/vmware-cis/live-recovery/vsphere-replication/9-0/vr-help-plug-in-9-0/replicating-virtual-machines/reconfiguring-replications/how-do-i-reconfigure-existing-replications-to-use-vsphere-replication-with-enhanced-replication-capabilities.htmltechdocs.broadcom.com
拡張レプリケーションでは、保護サイトのESXiからリカバリサイトのESXiに対してTCP31031、32032ポートで通信を行います。通信経路上にファイアウォールがある場合は許可設定が必要です。
切替が正常に行われないケース
拡張レプリケーションへの切替が正常に行われないケースがあります。下記KBに対応策が公開されています。
本記事では、検証ベースで実際に発生した事象とその対応策をご紹介します。
ケースその1
vSphere Lifecycle Manager(以下、vLCMと表記)にて、「イメージ」でvSphereのライフサイクル管理を有効にしている環境で起きるケースです。
vLCMではESXiバージョンやファームウェア環境を管理する「イメージ」を定義します。このイメージのコンプライアンスに準拠しているか定期的に確認が行われますが、何らかの原因で「非準拠」になっている場合があります。
コンプライアンスが非準拠になっている場合、「hbr-agent」と呼ばれるレプリケーショントラフィックの暗号化に必要なVIB*3がESXiにインストールされず、レプリケーション再構成時に拡張レプリケーションを有効にできません。
対応策
コンプライアンスで非準拠となっている原因がvLCMイメージの「イメージのコンプライアンス」画面に表示されていますので、その原因を取り除いた後に「すべて修正」を実施して「遵守」状態にします。
または「hbr-agent」VIBを全ての送信元ESXi、宛先ESXiに手動でインストールします。インストール方法は以下KBに記載がございます。
ケースその2
送信元ESXiのReplication VMkernel と接続しているVDS(分散仮想スイッチ)のMTUを確認します。
例えば、VMkenrelのMTUが9000、VDSのMTUが1500の場合、パケットはVDSを通過しないため通信できません。
VDSはルータではなくスイッチとして動作するため、パケットをフラグメントする機能はありません。
また、Path MTU Discoveryのような送信元に最適なMTUを通知する機能もないため、自身のMTU値を超えるパケットが届いた場合は送信できません。
対応策
送信元Replication VMkernel - 送信元VDS - 物理スイッチ - 宛先VDS - 宛先VMkernel のMTU値を同じ値に統一します。
おわりに
vSphere Replicationは、物理ストレージ機器を利用せずにRPO1分を実現できる優れたテクノロジーです。
構築の際に問題が発生した場合は、本記事を参考にしていただければ幸いです。
*1:https://techdocs.broadcom.com/jp/ja/vmware-cis/live-recovery/vsphere-replication/9-0/release-notes/vmware-vsphere-replication-90-release-notes.html
*2:「Recovery Point Objective」の略。過去のどの時点まで遡って仮想マシンを復旧させるのか目標とする時間
*3:「vSphere Installation Bundle」の略。起動や機能拡張のために必要なモジュール