Kotaです。
Linuxクラスタ上のファイルシステムはGFS/ocfs/Cephやら色々出てて正直どれを使っていいか、、と、ざっくり調べた所かいつまむとこんな感じのようです。
- GFSはFC-SAN有りの大規模向け
- OCFSは歴史ありだがKernelにMergeされていない
- Cephははじまったばっか
- pNFSはNFSベースだけど実績不明
みたいなところです。
で、先日ひょんなとこからGlusterFSを知りました。
GlusterFSはBlockDeviceではなく、UserLandで動作するFSベースの分散ファイルシステムです。
自動復帰、ミラーリング/ストライピング
結論から言うとファイルの配布やら一時ファイル、セッション共有などであれば十分と判断します。
というわけでおそらく世界一簡単(手抜き)なGlusterFSのセットアップ方法を載せておきます。
なにはともあれDownloadしてきます。
epelにもrpmがありますが2.x系なので古く、glusterfs-volgenがうまく動いてくれません。
Glusterfs本家から素直に落としましょう。DownloadのURLはオフィシャルでemailを入力しないと出てきません。(‘A`)マンドクセ
蛇足ですが本家にはアプライアンスとしての起動イメージもあります。
GUIもあるし本格利用するならそっちのほうがいいかも。
インストールする前に動作概要
Server/Clientは同一でもOKです。
一言で言うとServerがDiscでClientがControllerなイメージです。
(Server同士は通信しません)
ではインストール
1 2 3 4 5 |
# yum install libibverbs fuse # wget glusterfs-core-3.1.0-1.x86_64.rpm # wget glusterfs-fuse-3.1.0-1.x86_64.rpm # wget glusterfs-rdma-3.1.0-1.x86_64.rpm # rpm -ivh *.rpm |
エクスポートするディレクトリを作成
1 |
# mkdir /export |
設定ファイルを以下で自動生成できます
1 |
# glusterfs-volgen --name test --raid 1 host1:/export host2:/export |
host1用の設定ファイルを配置
1 2 |
# cp host1-test-export.vol /etc/glusterfs/glusterd.vol # cp test-tcp.vol /etc/glusterfs/glusterfs.vol |
host2にscpして、、
1 |
# scp *.vol host2: |
host2でも同じように配置します。
1 2 |
# cp host2-test-export.vol /etc/glusterfs/glusterd.vol # cp test-tcp.vol /etc/glusterfs/glusterfs.vol |
host1、host2ともにデフォ起動に追加して起動させます。
1 2 |
# chkconfig glusterd on # service glusterd start |
fstabに修正を行い、マウントします
1 2 |
# echo "/etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0" >> /etc/fstab # mount -a |
dfしてみてください。ちゃんと見えて、読み書きが可能なはずです。
性能評価、排他処理、実績、懸念点などはもっと詳しくかかれてる方がいらっしゃるのでそちらをどぞ。
“GlusterFSでクラスタFSを作る” への1件のフィードバック