質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
Pacemaker

Pacemakerとは、クラスタ管理システム(CRM)を実装したオープンソースのソフトウェアです。CorosyncやHeartbeatと協調して動作し、高可用クラスタ上で稼働するアプリケーションなどのリソースを監視・起動・停止できます。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

解決済

1回答

228閲覧

pacemakerでのマルチサーバー構成(N+1構成)

hogemi

総合スコア11

Pacemaker

Pacemakerとは、クラスタ管理システム(CRM)を実装したオープンソースのソフトウェアです。CorosyncやHeartbeatと協調して動作し、高可用クラスタ上で稼働するアプリケーションなどのリソースを監視・起動・停止できます。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

1クリップ

投稿2023/10/31 07:07

編集2023/11/02 08:23

実現したいこと

pacemakerを利用したマルチサーバー構成の構築
※Active:2台、Standby:1台のN+1構成を構築したい
(例)
VM1 :Active
VM2 :Active
VM3 :Standby

VM1,VM2どちらかに異常が発生した場合、VM3にフェイルオーバーするようにしたい

前提

サーバー:AzureVM(RHEL8.6 HA Add-onイメージを利用)
Pacemaker:0.10.12
Corosync :3.1.5

発生している問題

上記前提のVMを2台作成し、Active:1台、Standby:1台の1+1構成のクラスターは構築することはできました。ノード停止などにより対象リソースがフェイルオーバーすることも確認できています。
この状態からVMを1台追加し、N+1構成(Active:2台、Standby:1台)にする方法がわからず質問させてて頂きます。

そもそもN+1構成にする場合のクラスタの組み方もよくわかっていません。
※3台構成のクラスタを組んでAct:2,Stby:1にするのか、2台構成のクラスタを2つ作成するのか…

初期状態からN+1構成を構築する方法でも良いのでご教授お願い致します。

構築方法

①Azure PortalでVM(RHEL8.6 HA Add-onイメージから)構築
②各VMにpacemaker, pscをインストール
③各VMに双方のプライベートIPを/etc/hostsに設定
④各VMにてhaclusterパスワード設定(passwd hacluster)
⑤各VMにてpsc起動&有効化(systemctl start pcsd, systemctl enable pcsd)
⑥クラスタノード認証(pcs host auth)
⑦クラスタ作成(pcs cluster setup)
⑧httpdインストール ※確認用htmlの作成、httpd起動など
⑨クラスタにリソース追加(pcs resource create) ※リソースにocf💓apache

上記の構築方法で1+1(Act/Stby)を構成し、Act側VMのノード停止などでapacheがフェイルオーバーすることは確認できています。
この状態からN+1(Act 2台/Stby 1台)構成にする方法を模索しています。

試したこと

上記、構築方法で新たなVMを作成し、1+1構成のクラスタにノード追加(pcs cluster node add)を実施しました。ノードの追加は正常に行われましたが、新VMはクラスタに組み込まれていないように見えました。
VM1(Act) apache起動
VM2(Stby) apache停止
VM3(?) apache停止

この状態で意図したN+1構成となっていないのでN+1構成にするにはノード追加では構築できないのかと

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2023/10/31 13:31

3ノードのうちどれか2ノードだけが常にactiveになるということなんでしょうか……?
hogemi

2023/11/01 00:10

>ikedasさん コメントありがとうございます。 ご認識の通り、Active 2台、Standby 1台の構成でActiveのどちらかが異常になった場合、Standbyへフェールオーバーするような構成をイメージしております。
guest

回答1

0

ベストアンサー

そもそもN+1構成にする場合のクラスタの組み方もよくわかっていません。
※3台構成のクラスタを組んでAct:2,Stby:1にするのか、2台構成のクラスタを2つ作成するのか…

3台でクラスタを組みます。
ただし、N+1 というのは、Nノードでそれぞれ異なるサービス(リソース)が稼働し、1ノードが待機となる構成です。

2+1 構成の場合、Active の 2台で同じリソースエージェント(ocf/heartbeat/apache)を使うことはできますが、設定ファイルやドキュメントルートを分けて別のリソースとする必要があります(原則、リソースごとに Active は 1つ)。

2台で同じリソースを稼働する設定は、もしかすると clone と制約を使えばできるのかもしれませんが、それをするのであれば、3台でサービスを稼働し、ロードバランサーで振り分け+ヘルスチェックする構成の方がいいと思います。

投稿2023/11/01 08:42

TaichiYanagiya

総合スコア12139

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2023/11/01 08:46

ocf/heartbeat/IPaddr2 など clone が使えないリソースもありますし。
hogemi

2023/11/01 23:23

TaichiYanagiyaさん> ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問