業務を止めない、インフラづくり
まずは冗長化から始めよう!
仮想化によりハードウエアの利用効率を大幅に向上させることが可能になりますが、あらゆるリソースをシステム間で共有することになりますので、障害発生時の影響範囲は従来より広がる可能性があります。そのためシステム冗長化の設計・構築・運用は、仮想化を推進するにあたり非常に重要なポイントとなります。
【仮想化システムの冗長化のポイント】
1. 仮想サーバーのフェイルオーバー | |
---|---|
フォルト・トーレラント | 例)FTサーバー, VMware FT |
アクティブ・アクティブ クラスタリング | 例)MSCS, CLUSTERPRO |
アクティブ・スタンバイ クラスタリング | 例) VMware HA, XenServer HA |
2. 仮想スイッチ/ブリッジや仮想ディスクの分離 | |
障害時の影響範囲を狭めるために、用途別に分離した設計が重要 | |
3. NIC/HBAポートの冗長化 | |
ネットワーク接続用のNICは NIC チーミング/ボンディングにより冗長化 | |
ストレージ接続用のHBAはマルチパスにより冗長化 | |
4. スイッチ、ストレージコントローラの冗長化 | |
従来の非仮想化システム構築時と同様のノウハウで冗長化が可能 |
図6:障害に強い仮想サーバー環境をつくる(クリックで拡大) |
しかし、上記の例では10本のケーブルが1台のサーバーに接続されることになり、さらにサービス用セグメントを複数に分ける要件がある場合には4~6本のケーブルが追加されることになります。これらのアダプタカード・ケーブルの削減と、I/Oまわりの構築・運用を支援するのが「I/O仮想化」という技術になり、I/O待機幅の拡張に加えてリンクの冗長化を仮想的にシンプルに行うことができます。
また仮想化では、障害時のフェイルオーバーに加えて、過多のネットワークトラフィックが発生した時のシステムへの影響も考慮しなければなりません。例えば1台の仮想サーバーがDoS攻撃等を受けた際に、同一サーバー上で稼働する仮想サーバーへの影響をいかに抑えるか。iSCSIストレージを使用時に、多数の仮想サーバーからのストレージアクセスが急増し高負荷状態になった際に、ネットワークの輻輳によるIOタイムアウトをいかに抑えるか等、様々なケースを想定した検討が必要です。 これらのシステム設計を支える技術の1つとしてQoSがあり、「I/O仮想化」では各インタフェースごと、もしくはACL(TCP/IP, MAC,VLAN)ごとに帯域制御を行うことができます。
図7:障害に強い仮想サーバー環境をつくる(クリックで拡大) |
このQoSを活用することにより、各仮想サーバーごとに「最低保証帯域」を設定することができので、ある仮想サーバーがDoS攻撃を受けて大量のトラフィックが流れ込んできた場合でも、その他の仮想サーバーは保証された帯域を使用して外部との通信を続けることが可能になります。また、通信路が空いている場合には、余剰の帯域を使用して「ピークレート」までのトラフィックを処理することもできるので、急なアクセス増にも柔軟に対応できます。
第2回では、オンラインのデモサイトを利用して、「I/O仮想化」で構築されたデータセンターの運用を体験していただきます。