Glusterfs 分散複製された小さなファイルのパフォーマンス

Glusterfs 分散複製された小さなファイルのパフォーマンス

私は、Hyperv サーバー (ダイナミック VHDX) 仮想ディスクの xfs パーティション上に glusterfs を備えた 4 つの分散複製サーバーをセットアップしました。NIC は 6x1Gbit (Hyperv でチーム化) です。私はこれを samba 経由で Wi​​ndows クライアントと共有しています。私が遭遇する問題は、多数の小さなファイル (読み取りと書き込み) でパフォーマンスが非常に悪く、10k のファイルが多数ある場合、転送速度が約 300kb になる (ネイティブ クライアントでもそれほど高速ではありません) ことです。この問題の解決策はありますか? それとも私の構成が悪いのでしょうか? 大きなファイルの転送は良好です (すべての帯域幅を利用)

答え1

私はかつて、Web アプリケーションの展開と、ユーザーがアップロードした大量のファイルを複数のサーバー間で共有するために GlusterFS を使用しようとしました。おそらく 4 か月ほどかけて、適切な速度を実現しようとしましたが、結局できませんでした。本当に試してみれば、約 25 ~ 40% の速度向上が期待できますが、それでも十分な速度にはなりません。

正確な技術的詳細は忘れてしまいましたが、GlusterFS プロトコルは読み取り専用システムであっても非常に冗長です。Danila が言ったように、小さなファイルを共有したい場合は、Gluster 経由で NFS プロトコルを使用する方がよいでしょう。その大きな欠点は、それが NFS であることです。

検討すべきもう 1 つのオプションは Ceph です。急速に開発が進んでおり、最新の Ubuntu カーネルで十分に使用できます。

正直に言うと、可能であれば共有 FS を廃止することをお勧めします。後で感謝することになるでしょう。

答え2

GlusterFS ネイティブ FUSE クライアントは、大量の小さなファイルを扱うには適していません。NFS を GlusterFS と一緒に使用することもできます。また、このセットアップでは、xfs パーティションがネイティブ EXT4 よりも優れているとは思いません。詳細については、次の記事を参照してください。

http://lwn.net/Articles/476263/

関連情報