VMware vSphere Fault Tolerance (FT) の設定:ミッションクリティカルなシステムでゼロダウンタイムを実現する

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

HAだけでは不十分な理由:午前2時のトラブル劇

午前2時、私の電話が鳴り止みませんでした。顧客のERPシステムがダウンしたとの通知です。ログを確認すると、クラスター内の1台のホストでRAMエラーが発生し、突然再起動していました。vSphere High Availability (HA) は設計通りに動作し、別の正常なホスト上で仮想マシン (VM) の再起動が自動的に開始されました。

しかし、問題はその180秒の待ち時間にありました。Windowsの起動、SQL Serverのサービス開始、そしてアプリケーションの再接続にかかる3分間はあまりに長すぎたのです。その3分間に数百のトランザクションが滞り、CEOから直々に「状況確認」の電話がかかってくる事態となりました。ミッションクリティカルなシステムにおいて、HAにはまだ「隙」があります。そこで必要になるのが、真のゼロダウンタイム・ソリューションであるFault Tolerance (FT)です。

仮想マシンの保護レベルの違いを理解する

これらのソリューションは混同されがちです。システムに誤った「薬」を選ばないよう、それぞれの特徴を整理しましょう。

1. 従来のバックアップ

これは最も基本的なバックアップ方法です。VMが故障した場合、バックアップからリストアします。ダウンタイム(RTO)は通常、時間単位で計算されます。データ損失(RPO)はバックアップのスケジュール(通常は1日1回)に依存します。この方法は、緊急性の低いサーバーに適しています。

2. vSphere High Availability (HA)

HAは物理ホストレベルで保護します。ホストがダウンすると、別のホストでVMが再起動されます。OSの起動プロセスが必要なため、システムは約2〜5分間中断します。コストパフォーマンスに優れているため、現在のシステムの90%で標準的に採用されています。

3. vSphere Fault Tolerance (FT)

FTは、別のホスト上でメインのVM(Primary VM)と並行して動作する複製(Secondary VM)を作成します。これら2つのVMは「ロックステップ(Lockstep)」メカニズムで動作し、Primaryが行うことはすべてSecondaryも全く同じように実行します。Primaryがダウンすると、Secondaryが即座に引き継ぎます。エンドユーザーは中断に全く気づきません。

FTの採用:メリットばかりではない注意点

非常に優れた機能ですが、FTはすべての問題に対する「銀の弾丸」ではありません。考慮すべき3つの大きな障壁があります。

  • リソースを2倍消費する:FTを有効にしたVMは、クラスター内で2倍のCPUとRAMを占有します。実質的に、1つの業務のために2台の仮想マシンを動かしていることになります。
  • 帯域幅への負荷:同期データ(FT Logging)が非常に膨大になります。負荷の高いディスク書き込みが発生すると、ネットワークトラフィックが数Gbpsに達することもあります。ネットワークが遅いと、VMのパフォーマンスが劇的に低下します。
  • vCPUの制限:vSphere 8.0では現在、FTを使用する1つのVMに対して最大8 vCPUまでサポートされています。大規模なデータベースサーバーとしては、やや控えめな数字です。

アドバイス:FTは、ドメインコントローラー、決済ゲートウェイ、コアデータベースなど、一瞬の停止も許されない「死活的に重要な」サービスに限定して適用することをお勧めします。

FT導入のための要件

「互換性なし」のエラーを回避し、スムーズにFTを構成するために、以下のリストを確認してください。

  1. CPU:同一シリーズでHardware Virtualization(ハードウェア仮想化支援)をサポートしている必要があります。命令セットのエラーを避けるため、全く同じCPUを搭載したホストを使用するのがベストです。
  2. ネットワーク:FT Logging専用のネットワーク回線が必須です。10Gbpsカードの使用を推奨します。1Gbpsカードの場合、ボトルネックを避けるために実行するFT VMは最大1〜2台に留めるべきです。
  3. ストレージ:共有ストレージ(SAN/NAS)が必須です。両方のホストが同じ仮想マシンファイルを参照できる必要があります。
  4. ライセンス:FTの機能を最大限(多数のvCPUなど)に活用するには、vSphere Enterprise Plusが必要です。

具体的な設定手順

ステップ1:FT Loggingの設定

これはFTの生命線です。これがないと、機能を有効にすることはできません。

  1. vCenterにログインし、ホストを選択 -> 設定 (Configure) -> ネットワーク (Networking) -> VMkernelアダプターを選択します。
  2. ネットワークの追加 (Add Networking) -> VMkernelネットワークアダプターを選択します。
  3. ポートプロパティセクションで、Fault Tolerance Loggingのチェックボックスにチェックを入れます。
# 経験則:可能であれば、FT LoggingとvMotionは分離してください。
# 1Gbpsポートでこれらを共用すると、大量のデータ同期時にフリーズが発生しやすくなります。

ステップ2:有効化前の仮想マシンのクリーンアップ

VMを右クリック -> 互換性 (Compatibility) -> 互換性チェックの実行。以下の場合、FTは動作しません:

  • VMにスナップショットが残っている(開始前にすべて削除してください)。
  • 個人のPCからVMのCD-ROMにISOファイルをマウントしている。
  • CPU/RAMのホットプラグ機能が有効(Enabled)になっている。

ステップ3:Fault Toleranceの有効化

最後の手順は非常にシンプルです:

  1. VMを右クリック -> Fault Tolerance -> Fault Tolerance のオン
  2. Secondary VMのファイルを保存するデータストアを選択します。
  3. 予備のホストを選択します。
  4. 「完了」をクリックし、同期のプログレスバーを監視します。

完了すると、仮想マシンのアイコンが濃い青色に変わります。この時、サマリー (Summary) タブには「保護済み (Protected)」というステータスが表示されます。

「心臓に悪い」テスト:サーバーの電源コードを抜く

FTの価値を検証するために、実際のテストを行ってみましょう PCでコマンドプロンプト(CMD)を開き、仮想マシンのIPアドレスに対して継続的にpingを打ちます:

ping 192.168.1.100 -t

ここで、Primary VMが稼働しているホストを突然シャットダウンするか、ネットワークケーブルを抜いてみてください。正しく設定されていれば、pingは1パケットも落ちません。1秒ほどレイテンシ(遅延)がわずかに増加するかもしれませんが、サービスは継続されます。これこそが「再起動」と「継続稼働」の決定的な違いです。

実戦での経験則

多くのプロジェクトを経験して得られた、いくつかの重要な注意点があります:

  • メモリ予約 (Memory Reservation):FTはメモリを完全に予約(Full Reservation)することを要求します。VMに32GBのRAMがある場合、ホストはその32GBを完全に占有し、メモリのオーバーコミット(共用)は許可されません。クラスター全体の合計RAM容量を慎重に計算してください。
  • ネットワーク遅延:ホスト間のレイテンシが高い(1ms超)場合、VM内のアプリケーションパフォーマンスが顕著に低下します。FT Loggingには高速なコアスイッチを優先的に使用してください。
  • メンテナンス:ホストのパッチ更新が必要な場合は、設定の手間を省くために、FTを完全にオフにするのではなく「FTの中断 (Suspend FT)」機能を使用してください。

これらの共有内容が、vSphere FTの導入に自信を持つ助けになれば幸いです。設定プロセスでエラーが発生した場合は、遠慮なくコメントを残してください。サポートさせていただきます!

Share: