クラスター入門(2)- クラスターの機能とメリットを知る

    topology

    >第1回から読む

     クラスタリングには、どのような機能があるのでしょうか。また、どのような構成で、システムの可用性や性能を向上させるのでしょうか。さらに、システムを冗長化することにより、どんなメリットが得られるのでしょうか。クラスタリングの基本的な機能とメリット、さらに注意点について解説します。

    参考:HAクラスターの仕組みとポイント

    >>高可用性ソリューション「LifeKeeper」について

    クラスタリングの構成と役割

     故障や障害、自然災害などにより、システムが停止した場合、関連する業務や作業も停止してしまい、ビジネスに大きな影響を与えてしまいます。また、システムが停止には至らなかったとしても、ウェブサーバーなどにおいては、ウェブサイトに対するアクセスが急増し、処理のパフォーマンスが劣化した場合、業務の生産性を低下させてしまいます。

     こうしたリスクを低減できるのがHAクラスタリングと負荷分散クラスタリングです。HAクラスタリングは、耐障害性や可用性が求められる基幹業務システム、定期メンテナンスやセキュリティパッチの適用時、災害対策用のディザスタリカバリーシステムなどで効果を発揮し、負荷分散クラスタリングは、ウェブサーバーの負荷分散などで効果を発揮します。

     また、一般的なコンピューターで処理をすると膨大な時間がかかってしまう科学技術計算や大規模シミュレーション、CAE解析、並列処理などの分野で効果を発揮するのがHPCクラスタリングです。

    HAクラスタリングの機能

     HAクラスタリングは、利用する形態として大きく2つの構成に分かれます。1つが「アクティブ・アクティブ構成」であり、もう1つが「アクティブ・スタンバイ構成」です。

    アクティブ・アクティブ構成は、例えば、2ノードのクラスタリングの場合、すべてのノードが稼働系ノードとして構成される仕組みです。この構成においても、1つのノードが停止した場合には、別のノードに処理を引き継ぎますが、このとき注意することがあります。

     アクティブ・アクティブ構成では、すべてのノードで処理が実行されているために、各ノードの使用率が100%に近い場合、停止したノードの処理を、ほかのノードで引き継ぐことが困難になります。そこで、余裕を持ったキャパシティプランニングが必要になります。

    active-active-vs-active-stanby

     アクティブ・スタンバイ構成は、例えば、2ノードのHAクラスタリングの場合、1つのノードが稼働系(アクティブ)ノードとして、もう1つのノードが待機系(スタンバイ)ノードとして構成される仕組みです。稼働系ノードと待機系ノードは、「ハートビート」と呼ばれる信号をやり取りすることで、お互いが正常に動作しているかどうかを常に確認しています。

     もし、待機系ノードが稼働系ノードのハートビートを受信できなくなった場合、待機系ノードは稼働系ノードが停止したと判断し、稼働系ノードの処理を引き継ぐことで処理を継続することができます。この仕組みを「フェイルオーバー」と呼びます。逆に、停止した稼働系ノードが復旧し、待機系ノードで継続していた処理を稼働系ノードに移す仕組みを「フェイルバック」と呼びます。

     アクティブ・スタンバイ構成では、障害が発生した場合に、稼働系ノードから待機系ノードに切り替えるだけなので、復旧作業は比較的容易です。しかし、稼働系ノードが正常稼働しているときの待機系ノードのリソースが無駄になってしまうことを考慮しておく必要があります。

    負荷分散クラスタリングの機能

     ロードバランサーを使用して複数のノードに処理を分散することで、1つのシステムのように利用することができる仕組みが負荷分散クラスタリングです。ロードバランサーにより、処理を分散させることで、システムの性能を向上させることができるほか、障害の発生したノードを切り離すことで、ノードの障害がシステム全体に影響することを防ぐことができます。

     負荷分散クラスタリングは、ウェブサーバーの負荷分散などに効果を発揮します。ただし、ロードバランサー自体に障害が発生するとシステム全体が停止してしまいます。そこで、ロードバランサー自体のクラスタリング(冗長化)を検討しておくことが必要になります。

    HPCクラスタリングの機能

     HPCクラスタリングは、数千のノードで構成される巨大なクラスタリング環境であることから、クラスタリング環境全体を管理する仕組みと、各ノードを管理する仕組みが必要になります。

     クラスタリング環境全体の管理では、システムを停止することなく、新しいノードを追加したり切り離したりできるプロビジョニング、バージョン管理、障害分析、ユーザー管理などの機能が必要です。また、各ノードの管理では、ノードの状態やパフォーマンスなどの状況を確認できる機能が必要です。

     さらに、HPCクラスタリング環境の最適化のために、アプリケーションを高速化させるライブラリやツールなども必要です。こうしたライブラリやツールを活用することで、クラスタリング環境の性能を最大限に発揮することが可能となります。

     そのほか、効率的な並列計算を実現するために、ノードをどのように組み合わせるかという課題もあります。このとき、「ツリー型」「オール・ツー・オール型」「ハイパーキューブ」などの最適なトポロジーを選択します。選択したトポロジーによっては、ノードのつなぎ方が複雑になり、故障率が高くなることも十分に考慮しておく必要があります。

    topology

     今回は、クラスターの機能とメリットについて紹介させていただきました。次回は、「失敗しないHAクラスタリング製品の選び方」について紹介します。

    >第3回 失敗しないHAクラスター製品の選び方 を読む

    >>>お問い合わせはこちらから<<<