HAクラスター、ネットワークベースのファイルシステム

概要:ハートビートを使用して2つのノードで高可用性クラスターを実行しました。 Webサーバー(apache、nginx、php、mysql)のクラスター。 ここでは、このようなクラスターを作成する方法については説明しませんが、クラスター化されたファイルシステムの使用に関する注意、一般的な記事に欠けているもの、踏み込んだレーキの説明について説明します。



最初に、drbdセットアップの説明に欠けているもの(http://www.opennet.ru/base/sys/drbd_setup.txt.html):



既存のパーティション上のファイルシステムを削減するためのdrbdの構成-コマンドを使用

resize2fs <__> <_>





必要なセクションはdrbd自体によって発行され、キロバイト(たとえば1000K)で示されます。

ディスクを起動すると、/ proc / drbdにほぼ同じ状態が表示されます

cs:Connected st:Secondary/Secondary ds:Inconsistent/Inconsistent





コマンドを入力するとき

drbdadm primary <_>





不思議なことに次のように誓います

/dev/drbd1: State change failed: (-2) Refusing to be Primary without at least one UpToDate disk

Command 'drbdsetup /dev/drbd1 primary' terminated with exit code 17






古い記事では、行うことをお勧めします

drbdadm -- --do-what-I-say primary <_>





しかし、彼はそのようなシンプルでアクセス可能なキーを理解しておらず、これにはマナに関するものは何もありませんが、そうするのは正しいことです:

drbdadm -- --overwrite-data-of-peer primary <_>





その後、幸福が訪れ、彼はディスクの同期を開始します。これは、/ proc / drbdで次のように表示されます。

1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---

ns:225808 nr:0 dw:0 dr:225808 al:0 bm:13 lo:0 pe:895 ua:0 ap:0

[>....................] sync'ed: 0.4% (71460/71676)M

finish: 0:27:25 speed: 44,444 (44,444) K/sec

resync: used:0/61 hits:111995 misses:14 starving:0 dirty:0 changed:14

act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0








glusterfsについて:



素晴らしいファイルシステム...最初は、レプリケーションはマスターマスターであり、組み合わせることができる多くのローションであり、drbdとの主な違いでした-すべてのノードに同時にマウントできます。

開発者によると、jamb番号1はバージョン2.0.1で修正する必要があります(正しく修正されたかどうかを確認しませんでした)-glusterfsセクションを使用してmysqlデータベースを保存することは禁忌です! Mysqlはデータベースファイルにロックを設定し、作業の完了後またはノードの停止などの直後にロックを削除しません。 そして、2番目のノードのmysqlがこのデータベースを操作しようとすると、glusterfsdサーバープロセスのためにノード全体が黒くなり始め、その結果、nifigクラスターが機能しなくなります。

ジャム番号2-パフォーマンス。 他の構成については述べませんが、2つのノードを持つ複製パーティションの場合、glasterサイトの例の構成では、Apacheの生産性(すべてwwwはglasterパーティション上にあります)が最大10倍に低下します。 abユーティリティは、競合するリクエストの数10で測定されました。configでの長い実験により、最適なクライアントconfigが明らかになりました(これは、2つのノードがセクションを分離する場合です)。 この例では、両方のセクションが最初にネットワークを介して接続され、次にミラーにマージされた後、このミラーでキャッシュおよびスレッドトランスレーターが使用されました。 このオプションを使用すると、Apacheをディスクで直接操作する場合よりもパフォーマンスが10倍低下します。 このように設定をやり直す場合:posixを介して現在のノードのセクション(サーバーのように)、ネットワークを介した例のようにリモートパーティションにしがみついてから、リモートパーティションのキャッシュを使用し、キャッシュボリュームとローカルパーティションをミラーに収集します。 レコードは非常にまれなので、スレッドは作業を遅くするだけで、先読みは結果を生成しません。遅延したレコードは私の例では必要ありませんでした。 この構成では、ローカルパーティションを使用した場合のパフォーマンスの低下は約50%です。 ただし、このため、drbdの2番目のセクション(最初のセクションはマッスル用に構成され、2番目のセクションはApacheの下の2番目のノードにマウントされます)を優先してglusterfsを拒否しました。 また、直接読み取りテストでは、glusterfsがローカルファイルシステムとほとんど違いを示していないことにも注意してください。



All Articles