Linuxクラスター

Linuxクラスター（リナックスクラスター）は、Linuxを利用しているコンピュータ・クラスターである。一般に疎結合クラスターで、対称型マルチプロセッシング (SMP) が、CPUとメモリをより密に繋いでいるのに比べると、クラスターの結合は疎である。クラスターの各要素は、完全に独立したコンピュータとして動作しており、高速なLANなどを利用してお互いに接続されている。
要素となるマシンはLinuxないしGNU/Linuxを搭載したコンピュータである。
Linuxを動作させるために必要なハードウェアは、ごく一般的なパーソナルコンピュータでよいため、手軽にスーパーコンピュータを作り始められることが特徴である。また、Linuxはスケーラビリティに優れ、高速のコンピュータ上でも動いている。このため、低速な環境でシステムを構築してから、徐々に高速なコンピュータ環境に向かって進化させることが出来る。
また、各コンピュータを繋ぐのには標準的なLANを使っているため、接続のハードウェアや技術、ソフトウェアは、従来の物を使うことが出来る。ハードウェアの製作やメンテナンスに特別な部品や技術を使う必要はない。
Linuxは、オペレーティングシステム (OS) のソースコードを始め全ての必要なソフトウェアをソースコードも含めて無料で手にいれることができる。そのため、利用者や研究者が必要に応じてあらゆる部分に手を加えることが出来るのが大きな特徴である。また、使用に当たってコンピュータ毎に支払うOSのライセンス料もない。したがって投資に必要なのはハードウェアなどの物理的な資源と人件費だけということになる。参照：フリーソフトウェア、コピーレフトなソフトウェア。
クラスターの目的.
Linuxクラスターを作る目的としては、
などの場合があり、目的に応じて使われる技法も異なる。
高速な計算処理を目的とする場合.
ごく普通のパーソナルコンピュータを多数(場合によっては数百から数千)、高速のネットワークで繋いで、いわゆるスーパーコンピュータとしての性能を出せることから、場合によっては通常のスーパーコンピュータの性能を10分の1以下の予算で作ることができる。また、研究者が自分達でも作れることから結構流行した。
マイクロプロセッサの進歩により高速のコンピュータが作られ、高速のイーサネットによりごく一般的なネットワークの手法でコンピュータ間を接続できることが、Linuxクラスターをもたらした。また、高速のイーサネットを更に複数並行して接続し更に高速なLANを構築する技法も完成されている。現状では転送速度がギガビット/秒のイーサネットが使われることが多い。
非常に高速な処理をする専用のクラスターを構成する場合は、以下の例で示す Beowulf の技法を使って実現されることが多い。
要素になるコンピュータを個人用のデスクトップや他の目的のサーバにも使い、その余剰の計算能力をお互いにわかちあうような場合には、以下の例で示す MOSIX を使う場合がある。
大量の要求への対応を目的とする場合.
ウェブサーバなど、インターネット全体から大量の要求が同時に発生し、秒のオーダーで結果を返す必要がある。
このための技法には多くの例がある。以下の例で述べる MOSIX もその目的で使うことが出来る。
ちなみに、世界最大のコンピュータ・クラスターを保有すると言われているインターネットの検索エンジンのグーグルは、Linuxクラスターでできている。Googleのコンピュータ・クラスターを参照。
安定性や信頼性を目的とする場合.
この場合は、複数のコンピュータが同じ処理をして、結果を比較しあって異常な結果が出ることを防いだり、通常は別の処理をしているコンピュータの集合から一台が異常になっても、自動的に他の残りのコンピュータが処理を補うような場合である。
Linuxクラスターの作り方.
普通のパーソナルコンピュータで作ることができ、必要なソフトウェアはソースコードも含めて全て無料で手に入り、作るのに必要な情報はほとんどウェブ上で即座に無料で手にいれることが出来るフリーソフトウェアまたはコピーレフトのソフトウェアである。
実際にハードウェアを使って作る場合と、クラスター用ソフトウェアの構築や開発のために仮想コンピュータ上に構築する場合がある。
仮想コンピュータ上の構築.
単にソフトウェアの構築の実験や開発をするだけなら、Linux用の仮想コンピュータを利用できる。仮想コンピュータは一台の実際に存在するコンピュータを使って、その中に複数のコンピュータを作り出すことが出来る。利用する側から見ると(感じると)全く複数のコンピュータが存在するように見える。実際のコンピュータの資源が許す限り何台でも仮想コンピュータを作ることが出来る。
また、特にi386系のLinuxに限るならば、Linux上で複数の仮想のLinux環境を作り出すためのソフトウェアがカーネルの一部を含め、ユーザーモードLinux (UML - User Mode Linux)として提供されている。UMLの一部は既に一般のLinuxに含まれて配付されているため、UMLのソフトウェアを手にいれたら手間を必要とせずに即座に複数の仮想環境を用意することが出来る。UMLもやはり無料でソースコードを手にいれることができる。
また、VMwareなど商用の仮想機械ソフトウェアも用意されている。
以下の例の中に構成するのに必要なソフトウェアや手順が紹介されているので、UML上でクラスターの構築の実験が出来る。(作ったらレポートはウィキペディア日本語版に報告されるのが標準的な方法だと主張される場合もある)。