そもそもクラスタリングとは何か

    クラスタリングは、いつ、どんな目的で利用されはじめたのでしょうか。

    また、どんな種類があるのでしょうか。HA(ハイアベイラビリティ)クラスタリングだけでなく、HPC(ハイ・パフォーマンス・コンピューティング)クラスタリングやロードバランサーなども含めて、「クラスタリングとは何か」を紹介します。

    クラスタリングとは

    クラスタリングとは、複数台の安価なコンピューターを標準的なネットワーク技術で連結することで、まるで1台の高性能な大型コンピューターのように利用するための技術です。多額の投資により大型で高速な専用コンピューターを購入するのではなく、複数の標準化されたコンピューティング技術を活用することで、少ない投資で高速かつ信頼性の高いコンピューティング環境を実現できます。

    クラスタリングを構成するコンピューターやサーバーは、「ノード」と呼ばれます。ノードを連結するネットワーク技術は、「リンク」とか「インターコネクト」と呼ばれます。例えば、1つのCPUを搭載した3台のコンピューターをインターコネクトで連結した3ノードのクラスタリング環境は、3つのCPUを搭載した1台のコンピューターのようなイメージで利用することができます。

    同様の仕組みとして、例えば1台のコンピューターで行っていた業務の処理量が3倍になったときに、新たに3倍の性能のコンピューターを導入する「スケールアップ」型という拡張方法があります。クラスタリングは、既存の資産を生かしながら必要に応じて性能を向上させることができる「スケールアウト型の拡張方法です。スケールアップ型では、将来的に予測される処理のピークを見極めた投資が必要になりますが、スケールアウト型では、その都度、状況に応じた投資が可能です。

    clustering

    クラスタリング技術は、ディジタル・イクイップメント・コーポレーション(DEC:現在のHewlett Packard Enterprise)が考案した技術です(*1)。DECでは、1983年5月に発表したVAXclusterで、複数のVAXコンピューターを緩やかに連結し、単一のシステムとして動作することを可能にしました。その後、DECのクラスタリング技術は、ほかのクラスタリング技術を比較するときの基準となっています。

    ちなみに、クラスタリングを利用する目的は「拡張性(スケーラビリティ)」と「可用性(リダンダンシー)」です。拡張性とは、ノードを増やすことで処理を高速化させ、性能を向上させることができる性質のことです。可用性とは、1つのノードが停止しても、ほかのノードに処理を引き継ぐことで、システムを停止させない性質のことです。

    クラスタリングの種類

    これらの目的に応じて、「HPCクラスタリング」「HAクラスタリング」「負荷分散クラスタリング」の3つの種類があります。以下にそれぞれの概要を紹介いたします。

    HPCクラスタリング

    クラスタリング環境において、ノード数を数千台にまで拡張して、より高い性能を実現するのがHPCクラスタリング技術です。HPCクラスタリングは、科学技術計算や大規模並列処理、シミュレーションなどに利用されます。スーパーコンピューターの性能を定期的に評価し、上位500位までをランキングとしてウェブサイト上で公開する「TOP500プロジェクト(https://www.top500.org/)」の上位にランキングされるスーパーコンピューターの多くも、このHPCクラスタリング技術を利用しています。

    HAクラスタリング

    HAクラスタリングは、単一障害点(SPOF:Single Point of Failure)をなくし、あるノードが故障や障害により停止した場合、ほかのノードに処理を引き継ぐことでシステムの継続性を保証する仕組みです。これにより、高可用性を実現できます。single-point-of-failure

    ここでいう高可用性とは、どれくらいの可用性なのでしょうか。よく「ファイブナイン」という言葉を耳にします。ファイブナインとは、「99.999%」(9が5つ)の稼働率のことです。ファイブナインを時間に換算すると、1年間で約5分のダウンタイムになります。一般的には、99%~99.99%までの稼働率をHA、それ以上の稼働率を「フォールトトレランス」と呼んでいます。 

    負荷分散クラスタリング

    負荷分散クラスタリングは、複数のノードに処理を分散することによる高い処理性能と、あるノードに故障や障害が発生しても、ほかのノードに処理を引き継ぐことができる高い可用性を両立する技術です。負荷分散クラスタリングにおいて、処理を複数のノードに分散するための仕組みが「ロードバランサー」です。

    ロードバランサーによる負荷分散には、ラウンドロビン方式や重み付けラウンドロビン方式、ダイナミック負荷分散方式などがあります。ラウンドロビン方式は、処理を順番にノードに振り分ける方法で、重み付けラウンドロビン方式は、ノードごとに優先順位を設定して処理を順番に振り分ける方式です。また、ダイナミック負荷分散は、ロードバランサーが、もっとも負荷の少ないノードを自動的に判断して処理を振り分ける方式です。

    以上、クラスタリングとは何かと代表的な種類について紹介させていただきました。

    クラスタリングにご興味をもたれましたら、次の機能、構成、メリットについても読んでみてください。

     


    注)
    (*1)出典:HPE「VAX & VMSものがたり」

    https://h50146.www5.hpe.com/products/software/oe/openvms/history/vaxvms20/chap12.html