多くの企業が、Windows Server標準のフェールオーバクラスタリング機能(WSFC)を使って重要なシステムの可用性を担保しています。しかし、このインフラをそのままクラウドに持っていくことはできません。WSFCでは稼働系と待機系をまたいだ共有ストレージが必須となりますが、一般的なクラウドサービスのIaaS (Infrastructure as a Service)では共有ストレージを利用することができないからです。
クラウド上では共有ストレージが利用できない
オンプレミスで運用しているミッションクリティカルなシステムの可用性を担保するために、多くの企業がWindows Server標準のフェールオーバクラスタリング機能(WSFC)を利用しています。
このシステムをクラウドに移行する場合、当然のことながらWSFCを含めたインフラをそっくりそのまま移したいと考えます。これによりオンプレミスの運用プロセスを変更することなく、クラウドでも同じスキルやノウハウを継承することができます。
しかし、実際にそれをやろうとすると大きな壁に直面してしまいます。なぜでしょうか。その理由を解き明かすために、簡単にWSFCをおさらいしておきましょう。
WSFCは、「アクティブ-パッシブ型」と呼ばれるHAクラスタ構成を実現するソフトウェアです。システムを構成するサーバー群を稼働系(本番系)と待機系に分け、通常は稼働系のサーバーがユーザーにサービスを提供しています。そしてこの稼働系サーバーに何らかのトラブルが発生した場合、待機系サーバーが立ち上がって処理を切り替えることでサービスを継続します。これを「フェールオーバー」と呼びます。
このクラスタ構成は非常にシンプルであり、どんなシステムにも比較的容易に適用できるのがメリットです。
稼働系サーバーと待機系サーバーをどのような仕組みでつないでいるのかというと、その役目を担っているのがSAN(Storage Area Network)ストレージやiSCSI-SANストレージと呼ばれるネットワーク型の共有ストレージです。
要するに稼働系サーバーから待機系サーバーに処理を“切り替える”とは、通常では稼働系サーバーからデータを読み書きしている共有ストレージを、待機系サーバーから読み書きできるようにリンクを切り替えるという動きを取ります。これにより、稼働系サーバーの上で動いていたOSやアプリケーション、データを物理的に待機系サーバーに転送する必要はなく、短時間でサービスを再開することが可能となります。
WSFCにおいて共有ストレージがいかに重要な構成要素であるのか、おわかりいただけたでしょうか。WSFCをクラウドに移行しようとするとき直面する壁とは、この重要な共有ストレージが使えないことなのです。
例えばAmazon Web Services(AWS)の「Amazon S3」やMicrosoft Azureの「Azure Storage」など、「クラウドにも便利なストレージサービスが用意されているのだから、それを利用すればよいのではないか?」と考えるかもしれません。しかし、これらのクラウドストレージは複数のノード(サーバー)に紐づけることはできません。すなわち共有ストレージとして利用することはできないのです。他のクラウドサービスのIaaSも同様で、共有ストレージはほとんどサポートされていません。
共有ストレージを置かずにWSFCをベースにHAクラスタ構成を組むことも不可能ではありませんが、待機側ノードでデータを復旧するプログラムを独自に作成するなど、非常に高度なスキルが要求されます。当然のことながら運用も複雑になり、インシデントが起こった際の検証も容易ではありません。
データレプリケーションソフトウェアでシンプルに課題を解決
では、クラウド上でHAクラスタ構成をとるためにはWSFCを捨て去り、別のHAクラスタの仕組みを導入しなければならないのでしょうか――。
あきらめてしまうのは早計です。この課題をよりシンプルに解決する手段としてお勧めしたいのが、HAクラスタに特化した専用のデータレプリケーションソフトウェアを導入し、共有ストレージに見立てるという方法です。本番系ノードと待機系ノードのローカルディスク間でデータの複製(ミラーリング)をリアルタイムに行い、障害が発生した直前までのデータを保護するのです。この方法であれば共有ストレージを用いる必要がないため、オンプレミスで慣れ親しんだWSFCをあきらめることなく、それをベースとしたHAクラスタ構成をクラウド上に構築することが可能となります。
実際にシステムからこのタイプのデータレプリケーションソフトウェアがどう見えるのかというと、WSFCの管理画面(フェールオーバークラスターマネージャー)には、共有ストレージのドライブとして表示されます。WSFCの使用経験のある運用管理者であれば、新たな知識をほとんど習得することなく即座に対応できるでしょう。
Microsoft Azure上での更なる可用性の向上についてはこちら
オンプレミスにも勝る高可用性をクラウドで担保
上記のようなWSFCとの連携を実現するデータレプリケーションソフトウェアの一例として、サイオスの「DataKeeper」が挙げられますが、すでに多くの企業に導入され、大きな成果を上げています。例えばミッションクリティカルな基幹システムをAWSに移行したあるユーザー様は、次のような感想を話しています。
「WSFCからは、DataKeeperがあたかも共有ストレージであるかのように見えることに驚きました。ミラーリングのスピードも良好です。万が一、HAクラスタの動作に異常が起こった際にも、その原因がフェールオーバー側にあるのか、データレプリケーション側にあるのか簡単に切り分け、対処できる点に非常に満足しています。このシンプルな仕組みのおかげで、既存システムの運用形態をまったく変更することなく、AWSへ移行することが可能となりました」
慣れ親しんだWSFCの運用ノウハウやスキルを損なうことなく、オンプレミスと同等もしくはそれ以上の高可用性をクラウドでも担保できるのです。
次回は、クラウド上での障害発生/復旧の際のリスクについて考えます。