最近glusterfsで遊んでいます。
MySQL on DRBD を実行できるのと同じように、glusterfsの上でmysqldを実行してみます。
MySQLレプリケーションと、このアプローチの代わりにそれを使用する利点に精通しており、MongoDBと他のNoSQLソリューションも知っています。
ただし、MySQLをそのままにして、基盤となるファイルシステムを複製できれば、これから行ういくつかの特定のプロジェクトに対する簡単な解決策になります。
これは可能ですか?それがどこにあるかはどうすればわかりますか?
かなりの遅延があり、回答がなかったため、試行錯誤で発見しました。
答えは次のとおりです。はい、glusterfsの上でmysqldを実行できます。
私はこれをUbuntuで設定し、簡単にここに手順があります:
実際の問題は、MySQLがロックを処理する方法にあります。
ただし、これをすべてglusterfsに渡して処理することで、多くのmysqldプロセス(別々のノードで実行)が/ mnt/glusterfs上の同じデータベースファイルにアクセスできるようになります。 これを注意深く読む必要があります 。
K8クラスターでこれを試みました。 MySQLはコンテナ内で実行され、GlusterFSはノードに直接インストールされます(非コンテナ化)。 MySQLコンテナーには、KFSのネイティブGFSボリュームドライバーを使用してボリュームをマウントする、GFSと同じノードで常に実行するように設定されたアフィニティがありました。
WordPressサイトでランダムレイテンシが発生しました。NGINXFastCGI(PHP-FPM)キャッシュが有効な場合でも同様です。MySQLコンテナのhostPathボリュームに切り替えたため、レイテンシの問題は解消されました。
それは可能ではないと思います。リチャード、あなたが提供したリンクはMyIsamについて話していて、とにかくそれは推奨されないという。複数のノードで共有されているinnoDBファイルを使用するとデータが破損することをどこかで読んだ(どこかは覚えていない)。
異なるMySQLサーバープロセスから同じDBファイルにアクセスする理由はわかりませんが、理由がパフォーマンスの場合はGaleraを確認してください。
http://www.codership.com/content/using-galera-cluster
Maria DBおよびPercona XTRA DBクラスターに統合
理論的にはできます。実際には、特にパフォーマンスに関しては、Glusterマニュアルは、DBファイルやその他の細粒度I/Oシステムの複製に使用することを意図していないことを示唆しています。
こちらのGluster公式概要をご覧ください。
Glusterは私のために働くつもりですか?
...一方、十分なGlusterサーバーをミックスに追加すると、テクノロジーのスケールアウトの性質により、他のソリューションよりもパフォーマンスが優れている人がいます。Glusterは、いわゆる「構造化データ」、つまりライブをサポートしていません。 、SQLデータベース。もちろん、Glusterを使用してデータベースをバックアップおよび復元することは問題ありません。従来、Glusterは少なくとも16KB(スイートスポットが128KB程度)以上のファイルサイズを使用する場合に優れています。
もう一度、MySQLレプリケーションが必要な場合は、以下をお勧めします。
従来のMySQLマスター/スレーブレプリケーションを使用 https://dev.mysql.com/doc/refman/5.7/en/replication.html
現在、Oracle MySQLやMariaDBのようなMySQLのすべてのフレーバーに実装されているCodership Galeraクラスターを使用する