web-dev-qa-db-ja.com

安定した、フェイルプルーフの、スケーラブルなガレラクラスターの実装とは

Context: Webアプリケーションに(のみ)2つのマスターノードを持つMariaDBGalleraクラスターを使用しています。昨夜、停電が発生しましたが、データを回復できないようで、両方のノードでデータベースが破損していることがわかりました。この設定に対する最初の印象は、一方のノードがダウンした場合、もう一方のノードがすぐにプライマリノードとして機能するというものでした。

私の質問は、

  1. ノードの1つがダウンした場合に自動的に複製されるバックアップノードが常に存在するようにクラスターを設定する方法はありますか?特に停電が発生した場合。

  2. ギャラリークラスターの正しい実装は何でしょうか?

2
blackpla9ue

ロードバランサーが前面にある5つのノードを持つGaleraクラスターを使用しており、すべてのノードを継続的にチェックしています。この構成では、ロードバランサーからの接続の書き込みおよび読み取りターゲットを提供するノードは1つだけであり、他のノードはホットスタンバイです。しかしもちろん、Galeraはマルチマスターの読み取りと書き込みもサポートしているので、好みに合わせて調整できます。

何らかの理由でノード間の接続がダウンした場合にスプリットブレインの状況を回避するために奇数にする必要があるため、最小クラスターサイズは3である必要があります。 (アービトレーターを使用することもできますが、セットアップが簡単なのは、少なくとも3つの適切なクラスターノードを使用することです。)クラスターのアップグレードを容易にし、復元力を高めるために、5つのノードを使用します。

GaleraはWAN経由のクラスターもサポートしていますが、サーバーのパフォーマンスを損なわないように、サーバー設定をさらに調整する必要があります。通常、冗長ネットワークと電源を備えた3つ以上のノードを持つクラスターは、アプリケーションに適しています。

質問であなたが言わなかったことのいくつかは、Galeraクラスターで使用しているデータベースエンジンのタイプです。あなたが腐敗しているのを見て、それはおそらくMyISAMだと思いますか?その場合、MyISAMは実際にはGaleraでサポートされていないため、InnoDBの使用に移行する必要があります。また、クラスターが実際に壊れてデータベースを復元する必要があるという万が一の場合でも、データの破損を回避する、より復元力のある書き込みなど、他のいくつかの利点もあります。

1
dadriel

コンピューティングのほとんどの問題と同様に、最初の質問に対する答えは次のとおりです。はい、十分なリソースと時間があれば。クラスターがある種のデータセンター環境にある場合は、専用の管理NICやKVMシステム)などのある種の帯域外管理インターフェイスがあればよいでしょう。

Intelのデータセンターマネージャー または Raritanデータセンター管理システム のような最新のデータセンター管理ソリューションは、電源障害後にシステムを自動的に再起動し、通知を送信し、場合によっては回転を開始するポリシーをセットアップする機能をユーザーに提供しますオフサイトまたはクラウドベースのフェイルオーバーノードをアップします。ただし、この種のセーフティネットのすべての側面をセットアップおよび構成するには、コストと専門知識のレベルが高くなる可能性があります。多くの機器が必要であり、ダウンタイムなしで徹底的なテストと準備を行うことは困難です。

もう1つの一般的なノード管理ツールは Nagios で、リモート電源の管理と制御が可能です。

帯域内および帯域外の管理オプションに加えて、 Salt または Chef などのCMツールを使用して構成管理サーバーをセットアップすると、ノードが適切に構成され、奇妙な環境やリモート環境であっても、新しいノードをプロビジョニングするタスクを大幅に簡素化します。ストレージとデータベースの要件、およびネットワーク環境は、特にストレージ、電源、およびバックアップに関して、適切なクラスターアーキテクチャを決定するのに役立ちます。場合によっては、SUSEシステムでキックスタートクローンまたはAutoYaSTのようなある種の同様のインストールエイドを生成することが価値があるかもしれません。これにより、ハードウェア障害が発生した場合に、クリーンノードをすばやく構築し、スナップショットまたはバックアップから必要なデータをインポートできます。

KIWIビルドシステム でビルドされたカスタムシステムイメージを保存することは、必要なデータをインポート、マウント、またはコピーすることも別のオプションです。 KIWIを使用すると、VM、PXE経由、起動可能なDVD/USBなど、さまざまなシナリオで展開できるイメージを作成できます。 KIWIまたはその他のオペレーティングシステムビルドツールを使用して、ニーズに合った完璧なカスタムイメージを設計することは、さまざまな理由で非常に有益です。

2番目の質問についてより具体的にすることは、許容できると考える長さを知らなければ困難です。追加のリモートバックアップ、自動フェイルオーバー、およびリカバリを備えたマルチサイト高可用性クラスターに必要なセットアップとリソースは、クラスターが存在する建物が「高可用性」である場合に「高可用性」が意味するクラスターに必要なものとは大幅に異なります。電力とインターネットが機能する必要があります。うまくいけば、そこにある情報のいくつかが役立つでしょう。

1
Matt