分散ファイルシステムを調べたい - GlusterFS
GlusterFS について調べてみた。使ってみたわけではない。
1. ファイルを分割して保存するかどうか
Stripe の設定をすれば分割する。ただし、GlusterFS FAQ からすると、勧めてはいない感じ。
2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか
分散ファイルシステム/ブロックデバイスをまとめる - Blog by Sadayuki Furuhashi だと×になっているけど、その後状況が変わったのか
Replicate provides high-availability, i.e., in case one of the subvolumes go down (e. g. server crash, network disconnection) replicate will still service the requests using the redundant copies.
http://www.gluster.org/docs/index.php/User_Guide#Replicate
とあるので、問題なさそうだ。
3. サーバーやディスクが落ちたときにデータが失われないか
Replicate の設定をすれば、データは複製される。複製数は制御できるが、ファイルの種類で複製数を変えることはできない。
4. サーバーやディスクが落ちたとき、もしくはそれらが復帰したときに自動的にデータが修復されるか
落ちただけではなにも修復されない。復帰すれば、アクセスのタイミングで必要な修復が行われる。
5. データ量の偏りがないように自動的にデータを再配置することができるか
ファイルを作成するときにはデータの偏りがないようにすることは可能だけど、新しいサーバを追加後に再配置するような機能はないみたい。
6. メタデータサーバの冗長化機能はあるか
メタデータサーバみたいなものはない。
クライアント設定で、必要なサーバの情報を記述することになるみたいなので、メタデータサーバがいらないということ?それでも、目的のファイルが存在する実サーバをどうやって見つけているのだろう?
7. 読み込みの負荷分散
できていない。Replicate 設定時には、読み込みは設定記述にある最初のノードに対して行われる。
今後のバージョンで round-robin 的なものを計画している。
8. 書き込みの負荷分散
Stripe であれば1ファイルでも分散される。Unify であれば複数ファイルでみれば分散される。
9. 動的なサイズの拡張
できない。今後のリリースで対応する計画はある。
10. 動的なサイズの縮小
縮小について言及されていないみたいだけど、拡張が無理なので同じくできないと思う。
12. mount できるか
できる。FUSE を使う。
13. random access 可能か
とくに記述もないので、できる感じ。
14. 実績はどんなものか
http://www.gluster.org/docs/index.php/Who%27s_using_GlusterFS にいろいろ書かれている。テストしているって人が多い?
15. ライセンス
GPLv3
現在のバージョン(2.0)では、システムを止めないとサーバ追加をしてサイズの拡張ができないので、これは困る。やはり、システムは止めたくないので。次期バージョンに期待しておく。