フェンシングとクラスタリングへのフェイルオーバーの追加 - パート 3
前の 2 つのガイドでは、クラスターのインストール方法、クラスターの作成方法、クラスターへのノードの追加方法について説明しました。また、必要な構成が完了した後に cluster.conf がどのように表示されるかについても説明しました。 。
今日は、クラスタリング シリーズの第 3 部として、フェンシング、フェイルオーバーとは何か、またセットアップでそれらを構成する方法について説明します。
まずフェンシングとフェイルオーバーの意味を見てみましょう。
フェンシングとは何ですか?
複数のノードを含むセットアップを考えると、ある時点で 1 つ以上のノードに障害が発生する可能性があります。したがって、この場合、フェンシングは、同期されたリソースを保護してセキュリティを確保するために、誤動作しているサーバーをクラスターから分離します。したがって、クラスター内で共有されるリソースを保護するフェンスを追加できます。
フェイルオーバーとは何ですか?
サーバーに組織にとって重要なデータがあり、利害関係者は組織がダウンタイムを発生させることなくサーバーを稼動し続けることを必要としているシナリオを想像してください。この場合、データを別のサーバーに複製することができます (同じデータと仕様を持つ 2 つのサーバーが存在します)。これをフェイルオーバーとして使用できます。
万が一、サーバーの 1 つがダウンした場合、フェイルオーバーとして設定したもう 1 つのサーバーが負荷を引き継ぎ、最初のサーバーによって提供されていたサービスを提供します。この方法では、プライマリ サーバーに発生するダウンタイムがユーザーに発生することはありません。
このクラスタリング シリーズのパート 01 と パート 02 は、次の場所でご覧いただけます。
- クラスタリングとは何か、メリット/デメリット - パート 1
- Linux で 2 つのノードを持つクラスターをセットアップする – パート 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 コマンドを使用して構成をクラスターに追加します。以下は、コマンドで使用したオプションの定義です。
- -h: クラスタ ホストの IP アドレス。
- –setfencedaemon: 変更をフェンシング デーモンに適用します。
- post_fail_delay: ノードに障害が発生した場合に、デーモンが被害サーバーをフェンシングするまで待機する時間 (秒単位)。
- post_join_lay: ノードがクラスターに参加したときに、デーモンが被害サーバーをフェンシングするまで待機する時間 (秒単位)。
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 をお楽しみいただけたでしょうか。クラスタリング ガイド シリーズの最後の部分は、クラスタにリソースを追加し、それらを同期し、クラスタを起動する方法を説明する近日公開される予定です。便利な HowTo については Tecmint にお問い合わせください。