仮想環境のHAクラスタ製品 選定ポイント【第1回】
仮想化特有の課題がある、VMware環境の“従来型”HAクラスタ
仮想環境においても物理環境と同様のHAクラスタ構成を組めばよいと思われがちだが、実はそう簡単ではない。物理環境のHAクラスタ製品を仮想環境で使用した場合に起こる3つの課題について整理する。
本連載「仮想環境のHAクラスタ製品 選定ポイント」では、仮想環境の可用性を高めるためのHA(High Availability)クラスタ製品の選定ポイントについて記述する。
連載インデックス
第1回の今回は、従来の物理環境のHAクラスタ製品を仮想環境で使用した場合に生じる課題について整理する。仮想環境としてはVMware環境を想定して話を進めるが、今回の内容に関してはHyper-VやKVMなどその他のハイパーバイザーでもほぼ同等と考えて問題はないだろう。
2014年1月にTechTargetジャパンが「サーバ仮想化/デスクトップ仮想化の導入に関する読者調査」を行った。下記がその一部である「サーバ仮想化製品を導入するに当たって、どのような点を重視して製品を選びますか?」の結果だ。
上記によると、仮想環境で「導入/設定/運用管理のしやすさ」と「可用性/事業継続性」を重要視していることが分かる。
物理環境では、データベース(DB)サーバなどの重要なシステムは、単一サーバ内のNICやHBA(Host Bus Adapter)などハードウェアコンポーネントに加え、サーバをHAクラスタ製品によって冗長化し、サービスの可用性を高めていた。
仮想マシンにおいても物理環境と同様にHAクラスタを構成すればよいと思われがちであるが、実はそう簡単ではない。仮想マシン間で従来のHAクラスタ製品を使用することで、構成面、運用面、機能面の課題が出てくる。以下に、それぞれの課題について説明する。
仮想環境のHAクラスタの課題1(構成面)
HAクラスタの稼働系/待機系の仮想マシンが必要
仮想化によってサーバ統合することでサーバ台数を削減し、システムリソースを有効活用しているにもかかわらず、HAクラスタの稼働系/待機系用の仮想マシンをそれぞれ構築する必要がある(※1)。また、HAクラスタの待機系の仮想マシンはホットスタンバイでOSが起動した状態であるため、システムリソース(CPU、メモリ、ストレージなど)の消費に加え、OSライセンスが必要になる。
※1 第3回で説明する「vSphere HA」および「vSphere HA+アプリ監視」の方式を採用する場合は、待機系用の仮想マシンは不要となる。
Windows、Linuxの仮想マシンでHAクラスタ製品が異なる
WindowsとLinuxでは主要なHAクラスタ製品が異なる。そのため、それぞれのHAクラスタ製品の操作方法を習得する必要がある上、それぞれのGUIによる管理に手間が掛かる。
HAクラスタ製品のハートビート専用ネットワークが必要
HAクラスタ製品のハートビート専用ネットワークを用意する必要がある(※2)。ただし、VMwareの機能でネットワークを冗長化した場合、NICは二重障害になってはじめてハートビート全断を検知することになり、NICが二重化されていることの意味をなさない。そのため、HAクラスタ製品の機能で冗長化する必要がある。
※2 「vSphere HA」および「vSphere HA+アプリ監視」の方式を採用する場合は、VMwareの管理ネットワークがハートビートに使用されるため、個々のHAクラスタ製品のハートビートは不要になる。
サービス用ネットワークのNICはVMwareのハイパーバイザーの機能で冗長化し、ハートビート用のネットワークのNICはHAクラスタ製品の機能で冗長化することになり、設計が煩雑になる
仮想環境はシステムリソースが有効活用できるように設計されていることが多い。裏を返せば、仮想マシンの負荷が高いケースが多い。負荷が高い状況では、HAクラスタ製品のハートビート通信が遅延し、稼働系仮想マシンの障害を誤検知してしまう場合もある。
稼働系/待機系の仮想マシンから参照できる共有データ領域が必要
稼働系の仮想マシンから、待機系の仮想マシンへサービスを切り替えるには、データを引き継ぐための共有データ領域が必要になる。
通常のVMDK、RDM(Raw Device Mapping)領域は1台の仮想マシンからのみアクセスが可能で、複数の仮想マシンからのアクセスを許可するためには、それぞれの仮想マシンのSCSIコントローラーに「SCSIバス共有」を設定する必要がある。
SCSIバス共有をすることによって構成として複雑になる上に、仮想マシンのスナップショットが実行できなくなるという重大な弊害も出てくる。
HAクラスタ製品によってはRDMのクォーラムデバイス(※3)が必須のものもあり、それもまたSCSIバス共有の設定が必要になる。既存の仮想マシンのHAクラスタ化や、新規でHAクラスタ化された仮想マシンを追加する際に、ストレージの設計・設定が必要になるのは非常に手間が掛かる。
※3 HAクラスタのハートビートが全断した際に、両系が稼働状態にならないようにするための仕組み。
仮想環境のHAクラスタの課題2(運用面)
仮想マシンのスナップショットが取得できない
SCSIバス共有を設定することで、仮想マシンのスナップショットが不可となり、それに伴い、VADPバックアップも取得できなくなる。そのため、可能なバックアップ方法は、ストレージのコピー機能によるバックアップかネットワーク経由のバックアップになる。ストレージのコピー機能によって、バックアップを行う場合でも仮想マシンのスナップショットが取得できないため、仮想マシン内のデータの整合性が確保できない。結局、ネットワーク経由のバックアップになり、効率の悪いバックアップ運用をせざるを得なくなる(参考:【技術解説】仮想化特有の課題がある、VMware環境の“従来型”バックアップ)。
vMotion/DRS/vShpere HA/vSphere FTとの併用が保障されない
ほとんどのHAクラスタ製品は、物理環境用に開発されたもので、VMware環境上で動作していることを認識せず(意識せず)に動作する。そのため、「vSphere vMotion」などのVMwareの機能と併用した場合、想定外の動作が行われる可能性がある。中には、併用をサポートしているHAクラスタ製品がある。だが、それらの製品のほとんどで、vSphere vMotionなどを認識するためのロジックが組み込まれているのではなく、ただ「併用しても(ほぼ)問題ないでしょう」という意味で「サポート」と言ってるのである。よって、HAクラスタを構成している仮想マシンは、「vSphere DRS」や「vSphere HA」の対象外にすることを推奨する。
仮想環境のHAクラスタの課題3(機能面)
NIC、HBAを仮想マシン上のクラスタ製品で監視すると以下の課題が生じる。物理NIC、HBAはVMwareのハイパーバイザーの機能で冗長化され、仮想マシン上では単一のNIC、HBAに見える。それらの仮想NIC、HBAをHAクラスタ製品で監視することで、仮想化特有の問題が発生する。
NIC障害時の検知やフェイルオーバーが動作しない場合がある
NICに障害が起きたとき、その検知やフェイルオーバーが想定通りに動作しない場合がある。これは、ブレードサーバの筺体に搭載されているネットワークスイッチと、個々のブレードサーバとの関係を思い描くと分かりやすい。
筺体のネットワークスイッチの外部ポートに障害が発生した場合、個々のブレードサーバは外部と通信できなくなる。だが、ブレードサーバのNICはスイッチと接続できているので、リンクがアップしたままである。
これと同様にVMware ESXサーバのNICに障害が発生しても、仮想スイッチに接続されている仮想マシンの仮想NICは、リンクがアップしたままになる。
HAクラスタ製品によっては、NICの監視をリンクがアップしているか否かで判断している。その場合、外部との通信ができないにも関わらず、HAクラスタ製品はネットワークの障害を検知できない。また、ブロードキャストを実施し、その応答を監視している場合でも、同一ネットワーク上の別の仮想マシンが応答を返す可能性もある。しかし、デフォルトゲートウェイなどへのping監視を選択できる製品は障害を検知できる場合もある。
HBA障害時の検知やフェイルオーバーが動作しない場合がある
実はNICよりHBA(※4)の方が深刻である。
※4 VMwareのデータストアがNFSデータストアの場合は、HBAをそのデータストアに接続されているNICに読み変えていただきたい。
これは、SANブートしている物理サーバのHAクラスタ環境を考えてみると理解しやすいだろう。
共有データ領域への読み書きを監視しているHAクラスタ製品は、HBA障害を検知することができる。
障害検知後、まず行われることは、元の稼働系でのサービス停止である。しかし、サーバから見て障害が発生しているHBAの向こう側のストレージに、HAクラスタ製品がインストールされているOS領域がある。すなわちHBA障害時は、サーバのメモリ内のデータだけでOSが動作している非常に不安定な状態である。HAクラスタ製品はサービス停止のためのコマンドを実行しようとするのだが、結果は“コマンドが見つかりません”となる。メモリ上にそのコマンドが存在しないためだ。そのため、HAクラスタ製品としてサービス停止不可能となる。HAクラスタ製品によっては、その後OSの停止を試みるのだが、そのコマンドすら“コマンドが見つかりません”となってしまう。
HAクラスタ製品の役割は、障害を検知することだけではなく、障害を検知した後にサービスをフェイルオーバーさせることである。フェイルオーバーとは、元の稼働系でサービスを停止し、待機系でサービスを起動することである。大事なことは、「障害が発生した稼働系でサービスを停止した後」に、「待機系でサービスを起動する」ということである。停止できなければフェイルオーバーできない。停止しないまま起動すると両系稼働状態になり、共有データ破壊につながるため、通常のHAクラスタソフトはこれを許していない。
この状況を回避するために、OS領域と共有データ領域を、別のデータストアに配置することを推奨しているHAクラスタ製品もあるが、それは現実的ではない。
本連載の第1回では、物理環境用のHAクラスタ製品をVMware環境に使用した際に直面する課題について説明した。本課題を理解した上で、仮想環境でHAクラスタを設計・運用している方も、今回初めて課題を認識した方もいると思う。
今回は少しネガティブな内容だったが、次回以降では、課題が多い仮想環境のHAクラスタについてどのように方式および製品を選定していくべきかを整理していく。
第2~4回では、vSphere HAを含めた仮想環境の3つHAクラスタ方式に関して動作、特徴、製品選定のポイントについてまとめる。第5回ではHAクラスタ製品の機能比較を行う。最後までご覧いただけると幸いである。
Copyright © ITmedia, Inc. All Rights Reserved.
仮想環境のHAクラスタ製品 選定ポイント
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
5
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
6
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
221人調査で分かった「情シス最大のストレス」は?
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー