web-dev-qa-db-ja.com

Corosyncは動的にノードを追加します

私はHAセットアップのためにPacemaker&Corosyncを実験してきました。私はそれを2つのUbuntu14.04 Linodeにインストールし、古い設定例とチュートリアルを何度も行ったり来たりした後、なんとか起動して実行することができました。これは主に、UDPユニキャストを使用するように設定する必要があったためです(マルチキャストとブロードキャストはLinodeのネットワークでは機能しません)

両方のノードはお互いを見ることができ、もう一方のノードがダウンしたことを検出します。すごい!

ここで、クラスターの実行中に3番目のノードを追加しようとしているので、コマンドを探しに行きます...いいえ...いいえ...この一見重要で単純なアクションは、私ができる限りです。簡単なコマンドでは不可能です。
ノードを追加するには、ノードをすべての単一ノードの構成に追加してから、クラスターをシャットダウンし、リロードして、バックアップを開始する必要があります。窓の外に高可用性があります。

私が見つけたノードを動的に追加する唯一の方法は、cmap_keys(8)の下でした。
最初にコマンドを実行して、次の空きノードIDを見つける必要があります。次に、現在クラスター内にあるノードごとに、手動でnodelist.node.x.ringy_addrなどに追加します。結局のところ、再起動後も存続しませんが、すべての構成ファイルを手動で更新する必要もあります。次に、新しい構成ファイルを新しいノードにコピーして、起動する必要があります。

クラスタ内の任意のノードに接続し、既存のノードを変更するコマンドを実行し、リソースを追加することができます。これらはすべてのノード間で同期されます。しかし、同じ方法で新しいノードを単純に追加することはできませんか?

誰かが私が情報をグーグルするのが苦手だと言ってください、そしてライブで実行中のHAクラスターに新しいノードを追加する簡単なコマンドがあります。見落としているツールや方法はありますか?

お時間をいただきありがとうございます!

2
Wildex999

マルチキャストを使用する場合は、クラスターに新しいノードをすばやく簡単に追加できます。このため、開発者は、UDPユニキャストを介してノードを動的に追加できるようにする必要性を見たことがないのではないかと思います。少なくとも、私自身が知っている「クリーンな」方法は存在しません。

ただし、最初にPacemakerをメンテナンスモードにすることで、サービスを中断することなく、Corosyncをリロードし、新しく編集した構成ファイルを適用できるはずです。メンテナンスモードの場合、CorosyncとPacemakerを停止して再起動しても、現在実行中のサービスは停止しません。

1
Dok