クラスター入門(1)- そもそもクラスタリングとは何だろう?

clustering
Pocket

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

クラスタリングとは?

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

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

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

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

目的に応じた3つのクラスタリング

 クラスタリングを利用する目的は、大きく2つに分けられます。1つ目は「スケーラビリティ(拡張性)」、2つ目は「リダンダンシー(可用性)」です。スケーラビリティは、ノードを増やすことで処理を高速化させ、性能を向上させます。また、リダンダンシーは、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、それ以上の稼働率を「フォールトトレランス」と呼んでいます。 

負荷分散クラスタリング

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

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

 今回は、クラスタリングとは何かについて紹介させていただきました。次回は、「クラスターの機能とメリットを知る」について紹介します。

>第2回 クラスターの機能とメリットを知る を読む


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

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

SNSでもご購読できます。