フェンシングとクラスタリングへのフェイルオーバーの追加-パート3


前の2つのガイドでは、クラスターのインストール、クラスターの作成、クラスターへのノードの追加の方法について説明しました。また、必要な構成が完了した後のcluster.confの外観についても学習しました。

今日は、クラスタリングシリーズのこの第3部で、フェンシング、フェイルオーバーとは何か、およびセットアップでそれらを構成する方法について説明します。

まず、フェンシングとフェイルオーバーの意味を見てみましょう。

複数のノードを使用するセットアップを考えると、ある時点で1つ以上のノードに障害が発生する可能性があります。したがって、この場合、フェンシングは、同期されたリソースを保護および保護するために、誤動作しているサーバーをクラスターから分離します。したがって、クラスター内で共有されるリソースを保護するためにフェンスを追加できます。

ダウンタイムを経験せずにサーバーを稼働させ続けるために、利害関係者が組織に必要とする組織にとって重要なデータがサーバーにあるシナリオを想像してみてください。この場合、フェイルオーバーとして使用できる別のサーバー(現在、同じデータと仕様を持つ2つのサーバーがあります)にデータを複製できます。

万が一、サーバーの1つがダウンし、フェイルオーバーとして構成したもう1つのサーバーが負荷を引き継ぎ、最初のサーバーによって提供されたサービスを提供します。この方法では、ユーザーはプライマリサーバーに起因するダウンタイムを経験しません。

このクラスタリングシリーズのパート01とパート02は、次の場所で確認できます。

  1. What is Clustering and Advantages/Disadvantages – Part 1
  2. Setup Cluster with Two Nodes in Linux – Part 2

過去2回の記事でテスト環境のセットアップについてすでに説明したように、このセットアップには3台のサーバーを使用しており、最初のサーバーはクラスターサーバーとして機能し、他の2台はノードとして機能します。

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   

ステップ1:クラスターサーバーにフェンシングを追加する方法

1.まず、クラスターサーバーでフェンシングを有効にする必要があります。このために、以下の2つのコマンドを使用します。

# ccs -h 172.16.1.250 --setfencedaemon post_fail_delay=0
# ccs -h 172.16.1.250 --setfencedaemon post_join_delay=10

ご覧のとおり、ccsコマンドを使用して構成をクラスターに追加します。以下は、コマンドで使用したオプションの定義です。

  1. -h: Cluster host IP address.
  2. –setfencedaemon: Applies the changes to the fencing daemon.
  3. post_fail_delay: Time in seconds which the daemon waits before fencing a victim server when a node has been failed.
  4. post_join_delay: Time in seconds which the daemon waits before fencing victim server when a node has joined the cluster.

2.次に、クラスターにフェンスデバイスを追加します。以下のコマンドを実行して、フェンスデバイスを追加します。

# ccs -h 172.16.1.250 --addfencedev tecmintfence agent=fence_virt

これは、コマンドを実行した方法と、フェンスデバイスを追加した後の cluster.conf ファイルの外観です。

以下のコマンドを実行して、フェンスデバイスの作成に使用できるフェンスオプションの種類を確認できます。セットアップにVMを使用しているため、fence_virtを使用しました。

# ccs -h 172.16.1.250 --lsfenceopts

ステップ2:フェンスデバイスに2つのノードを追加する

3.次に、作成したフェンスデバイスにメソッドを追加し、それにホストを追加します。

# ccs -h 172.16.1.250 --addmethod Method01 172.16.1.222
# ccs -h 172.16.1.250 --addmethod Method01 172.16.1.223

セットアップにある両方のノードに対して、前に作成したメソッドを追加する必要があります。以下は、メソッドとcluster.confを追加した方法です。

4.次のステップとして、両方のノード用に作成したフェンスメソッドを、作成したフェンスデバイス、つまり「tecmintfence」に追加する必要があります。

# ccs -h 172.16.1.250 --addfenceinst tecmintfence 172.16.1.222 Method01
# ccs -h 172.16.1.250 --addfenceinst tecmintfence 172.16.1.223 Method01

メソッドをフェンスデバイスに正常に関連付けることができました。これが私のcluster.confの外観です。

これで、フェンスデバイス、メソッドが正常に構成され、ノードが追加されました。パート03の最後のステップとして、セットアップにフェイルオーバーを追加する方法を示します。

手順3:クラスターサーバーにフェイルオーバーを追加する

5.以下のコマンド構文を使用して、クラスターセットアップへのフェイルオーバーを作成します。

# ccs -h 172.16.1.250 --addfailoverdomain tecmintfod ordered

6.フェイルオーバードメインを作成したので、2つのノードを追加できます。

# ccs -h 172.16.1.250 --addfailoverdomainnode tecmintfod 172.16.1.222 1
# ccs -h 172.16.1.250 --addfailoverdomainnode tecmintfod 172.16.1.223 2

上に示したように、cluster.confには、フェイルオーバードメイン用に追加したすべての構成が含まれていることがわかります。

このシリーズのパート3を楽しんでいただけたでしょうか。クラスタリングガイドシリーズの最後の部分はまもなく投稿され、クラスターにリソースを追加し、それらを同期して、クラスターを起動する方法を説明します。便利なHowTosについてはTecmintと連絡を取り合ってください。