分散ファイルシステムを調べたい
Web上のストレージのバックエンドにできるような、分散ファイルシステムが欲しいのでいくつか調べてみたい。
今のところの本命は HDFS(Hadoop Distributed File System)だけど、一応いくつか目を通しておく必要はありそうだ。
とりあえず、「分散ファイルシステム/ブロックデバイスをまとめる - Blog by Sadayuki Furuhashi」を参考にしつつ、以下のような項目について調べてみよう。
- ファイルを分割して保存するかどうか
- サーバーやディスクが落ちても問題なくアクセスを受け付けられるか
- サーバーやディスクが落ちたときにデータが失われないか
- サーバーやディスクが落ちたとき、もしくはそれらが復帰したときに自動的にデータが修復されるか
- データ量の偏りがないように自動的にデータを再配置することができるか
- メタデータサーバの冗長化機能はあるか
- 読み込みの負荷分散
- 書き込みの負荷分散
- 動的なサイズの拡張
- 動的なサイズの縮小
- 実装形態(言語とか、カーネルパッチの必要性とか、利用する側の言語とか)
- mount できるか
- random access 可能か
- 実績はどんなものか
- ライセンス
一応対象の前提は OSS。現時点では、mogilefs, kfs, hdfs, glusterfs, lustre, ceph は見てみたい。とりあえずは、ドキュメントから得られる情報から集めよう。その後に絞り込んで、いくつかは動かしてみたい。