コンピュータ・クラスターとは、複数のコンピュータを結合し、クラスター(葡萄の房)のようにひとまとまりとしたシステムのこと。単に「クラスター」または「クラスタリング」とも呼ばれる。1台のコンピュータでは得られないような、強力な計算性能や可用性を得ることができる。コンピュータ・クラスターは、クラスタリングを実現するためのハードウェアやソフトウェアなどにより構成される。ただし、ネットワークを介してデータを入力して処理を開始するため、処理開始までの遅延が大きくなる欠点がある。

## 名称

伝統的にコンピュータ・クラスターは、葡萄の房に例えられることが多い。これはDECのクラスターの説明から始まり、多くのベンダにおいても多用されている。またクラスターに参加したコンピュータを「ノード」、ノード間の内部接続ネットワークを「インターコネクト」と呼ぶ場合も多い。葡萄の実(ノード)を、茎が内部接続しているイメージである。

ただし、実際の接続網の形態は様々であり、より良いコスト/パフォーマンス比の実現のために研究・開発が進められている。

## 概要

クラスター内の複数のコンピュータは、何らかのネットワークを介して相互に接続され、ひとつのコンピュータ・システムとして扱えるように制御されている。クラスターの構築は、ユーザーが独自開発する場合、ベンダーによる汎用的なパッケージを使用する場合などがある。クラスターの分類は各種あるが、以下では目的・共有形態・実現レベルの観点から分類し説明する。

### 目的

利用目的からのクラスターの分類には以下がある。

1. スケーラビリティ(拡張性。複数のコンピュータを統合化し、一台のコンピュータでは得られない高い処理速度を狙ったもの)
2. リダンダンシー(冗長性。複数のコンピュータを統合化し、一台のコンピュータでは得られない高い信頼性を狙ったもの。いくつかのコンピュータが障害や保守で停止しても、サービスは停止しない)

前者の例としてはHPC分野のクラスター型スーパーコンピュータがある。過去には専用のベクトル計算機が使われた分野だが、マイクロプロセッサの性能向上と並列処理技術の向上により主流となった。このほか、大規模なWebサーバなどで一般的な負荷分散(ロードバランス)クラスターもある。単純な負荷分散クラスターでは各コンピュータ同士の直接の連携は何も無いが、高度な負荷分散クラスタでは各コンピュータ間で運用管理の一元化も行っている。

後者の例としては、メインフレームのホット・スタンバイ構成から連綿と続く、高可用(性)クラスターがある。障害や保守(計画停止)の発生時には、業務処理を単純に引き継ぐ構成(アクティブ-スタンバイ)の他、本番機同士で相互バックアップしておき縮退運用する構成(アクティブ-アクティブ)などがある。また引継ぎ開始から引継ぎ完了までの間は、一時的に業務停止を伴うもの、伴わないものがある(引継ぎの戻しの場合も同様である)。クラスターの対象サーバは通常は同一拠点(データセンター等)だが、災害対策を目的とした遠隔地へのバックアップ(ディザスター・リカバリー)を考慮した、複数拠点にまたがるメトロ(都市間)クラスターやコンティネンタル(大陸間)クラスターなどの製品やシステムも増えてきている。

なお、実際には拡張性と高可用性を兼ねたパッケージやシステム構成が多い。通常はHPCのクラスターでも1台のコンピュータの故障で全体が停止する事は無く、相互バックアップや負荷分散は全体としての性能を高められるためである(ただし、いずれも障害時には性能劣化となるため、リスクと性能の余裕は予め見込んでおく必要がある)。

### 共有形態

リソースの共有形態からみたクラスターの分類には以下がある。

1. 密結合クラスター(クラスターを構成する各コンピュータから、対象のリソースを共有するもの)
2. 疎結合クラスター(クラスターを構成する各コンピュータは、ネットワーク以外に直接のリソース共有が無いもの)

1の例は、一部のコンピュータの障害には対応できるが、対象リソース(外付けディスク装置や、その中に格納されたデータベースなど)自体は単一障害点(SPOF)となるため、別の冗長化と併用する場合が多い。なおOracle Databaseは10gでグリッド技術を導入したが、基本は密結合クラスター(外部DISK共有モデル)である。

2の例は、ネットワークがボトルネックとなり易いため、特に高速なネットワーク(スイッチ等)を使う場合がある。なおグリッドやプロビジョニングは、この発展系と考える事もできる。

## 歴史

近代的なクラスターの最初は、1983年のDEC(現ヒューレット・パッカードの一部)によるVMSclusterとされる。これは最大16ノードのVAXを専用のハードウェアとソフトウェアで連動させるもので、障害発生時でも数分以内など短時間の業務復旧ができたと言われている。

1987年には、メインフレームでIMSのクラスタリング機能であるExtended Recovery Facility(XRF、拡張回復機能)が登場した。これはOSであるMVSと、DBMSであるIMSと、通信機能であるVTAMの連携機能により、データベースおよびトランザクション処理機能を、ユーザーから見てほぼ業務中断無く、スタンバイ機に自動引継ぎするものであった。

1990年代には商用UNIXでもクラスタリングを使用した高可用性の実現が普及した。その多くはマルチプラットフォームで低価格であったが、障害発生時の引継ぎには、一定の業務中断を伴うものが多かった。

現在では、OSおよびミドルウェアとの連携機能を含め、各種のクラスタリングが提供され、使い分けられている。

## クラスターパッケージ

クラスター構築用の既存のパッケージには以下がある。

### HPC

- SCore
- Beowulf
- Globus
- WindowsCCS
- イマジオムのHarmonyCalc(Windows)

### 高可用(性)クラスター

- IBMのPowerHA(旧称HACMP。AIX、Linux for POWER)
- HPのMC/ServiceGuard (HP-UX)
- オラクルのOracle Solaris Cluster (旧称Sun Cluster、Solaris)
- シマンテック (VERITAS) のVERITAS ClusterServer(AIX、HP-UX、Solaris、Linux、Windows)
- 富士通のPRIMECLUSTER(Solaris、Linux、Windows)
- NECのCLUSTERPRO(Linux、Windows)
- 東芝のClusterPerfect (AIX、Solaris、Linux、Windows)
- 日立製作所のHAモニタ (AIX、HP-UX、Linux)
- マイクロソフトのMicrosoft Clustering Service (MSCS。Windows)
- Linux Virtual Server
- Linux-HAプロジェクトによるHeartbeatおよびPacemaker
- レッドハットのRed Hat Cluster Suite
- VMwareのVMware vSphere HA(仮想マシン)
- EMC AutoStart
- SteelEye TechnologyのLifeKeeper (Linux、Windows)

### 高性能および高可用(性)クラスター

- IBMのIMS XRF(メインフレーム)
- 並列シスプレックス(メインフレーム)
- オラクルのReal Application Clusters(RACともいう。Windows,Linux,Unix)