ウェブサイト検索

Linux におけるクラスタリングの概要と利点/欠点 - パート 1


こんにちは。今回は、Linux クラスタリングに関する私の知識を「フェイルオーバー シナリオのための Linux クラスタリング」というタイトルの一連のガイドとして皆さんと共有することにしました。

以下は、Linux のクラスタリングに関する 4 つの記事シリーズです。

まず、クラスタリングとは何なのか、業界でどのように使用されているのか、どのような利点と欠点があるのかなどを知る必要があります。

クラスタリングとは

クラスタリングとは、2 つ以上のサーバー間で接続を確立し、1 台のように動作させることです。クラスタリングは、サーバーをフェイルオーバー システム、ロード バランス システム、または並列処理ユニットとしてクラスタリングできるシステム エンジニアの間で非常に人気のある技術です。

この一連のガイドでは、フェイルオーバー シナリオのためにRedHat/CentOS上に 2 つのノードを持つ Linux クラスターを作成する方法を説明したいと思います。

クラスタリングとは何かについての基本的な概念は理解できたので、フェールオーバー クラスタリングに関してクラスタリングが何を意味するかを見てみましょう。フェールオーバー クラスターは、アプリケーションとサービスの高可用性を維持するために連携して動作する一連のサーバーです。

たとえば、ある時点でサーバーに障害が発生した場合、別のノード (サーバー) が負荷を引き継ぎ、エンド ユーザーにはダウンタイムが発生しません。この種のシナリオでは、適切な構成を行うために少なくとも 2 または 3 のサーバーが必要です。

3 台のサーバーを使用することをお勧めします。 1 台のサーバーは Red Hat クラスター対応サーバーとして使用され、他のサーバーはノード (バックエンド サーバー) として使用されます。よりよく理解するために、下の図を見てみましょう。

Cluster Server: 172.16.1.250
Hostname: clserver.test.net

node01: 172.16.1.222
Hostname: nd01server.test.net

node02: 172.16.1.223
Hostname: nd02server.test.net   

上記のシナリオでは、クラスター管理は別のサーバーによって行われ、図に示すように 2 つのノードを処理します。クラスター管理サーバーは、両方のノードにハートビート信号を常に送信し、障害が発生しているノードがないかどうかを確認します。誰かが障害を起こした場合、他のノードが負荷を引き継ぎます。

クラスタリングサーバーの利点

  1. サーバーのクラスタリングは完全にスケーラブルなソリューションです。後でクラスターにリソースを追加できます。
  2. クラスター内のサーバーにメンテナンスが必要な場合は、他のサーバーに負荷を引き渡しながらサーバーを停止することでメンテナンスを行うことができます。
  3. 高可用性オプションの中でも、クラスタリングは信頼性が高く、構成が簡単であるため、特別な位置を占めています。さらに、サーバーでサービスの提供に問題が発生した場合、クラスター内の他のサーバーが負荷を引き受けることができます。

クラスタリングサーバーの欠点

  1. コストが高い。クラスターには優れたハードウェアと設計が必要なため、非クラスター化サーバー管理設計と比較するとコストが高くなります。この特定の設計の主な欠点は、コスト効率が低いことです。
  2. クラスタリングを確立するにはより多くのサーバーとハードウェアが必要になるため、監視とメンテナンスが困難になります。したがって、インフラストラクチャを増加します。

次に、このセットアップを正常に構成するにはどのような種類のパッケージ/インストールが必要かを見てみましょう。次のパッケージ/RPM は、rpmfind.net からダウンロードできます。

  1. リッチ (ricci-0.16.2-75.el6.x86_64.rpm)
  2. Luci (luci-0.26.0-63.el6.centos.x86_64.rpm)
  3. Mod_cluster (modcluster-0.16.2-29.el6.x86_64.rpm)
  4. CCS (ccs-0.16.2-75.el6_6.2.x86_64.rpm)
  5. CMAN(cman-3.0.12.1-68.el6.x86_64.rpm)
  6. Clusterlib (clusterlib-3.0.12.1-68.el6.x86_64.rpm)

それぞれのインストールが私たちにとって何をするのか、そしてその意味を見てみましょう。

  1. Ricci は、クラスターの管理と構成に使用されるデーモンです。受信メッセージを構成されたノードに配布/ディスパッチします。
  2. Luci は、クラスター管理サーバー上で実行され、他の複数のノードと通信するサーバーです。作業を簡単にするための Web インターフェイスが提供されます。
  3. Mod_cluster は httpd サービスに基づくロード バランサ ユーティリティで、ここでは受信リクエストを基礎となるノードと通信するために使用されます。
  4. CCS は、ricci を通じてリモート ノード上のクラスタ構成を作成および変更するために使用されます。クラスター サービスの開始と停止にも使用されます。
  5. CMAN は、クラスタ マネージャーとして機能するため、この特定のセットアップでは ricci と luci 以外の主要なユーティリティの 1 つです。実際、cman は CLUSTER MANAGER の略です。これは、クラスター内のノード間で分散される RedHat の高可用性アドオンです。

記事を読み、ソリューションを作成するシナリオを理解して、実装の前提条件を設定します。今後の記事のパート 2 では、特定のシナリオに合わせてクラスターをインストールおよび作成する方法を学習します。

参考文献:

  1. ch-cman ドキュメント
  2. Mod クラスターのドキュメント

便利な最新のハウツーについては、Tecmint と常に連携してください。間もなく公開されるパート 02 (RedHAT/CentOS でのフェイルオーバー シナリオのための 2 ノードによる Linux サーバーのクラスタリング – クラスターの作成) をご覧ください。