2012年2月3日金曜日

CentOS6.2にいろんなファイルシステムを導入する方法 まとめ


Linuxでいろんなファイルシステムを試してみたいと思って、いろいろ導入してみたので、メモしておきます。

■検証環境
CentOS6.2 x86_64

■ELrepoとEPELの導入(一部のファイルシステムで使用、必要に応じて)
rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/elrepo.repo

rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo


■XFSの導入
yum install xfsprogs

ファイルの一覧取得は速いけど、削除は遅いらしい。大容量対応と高信頼性がウリだと思うんですけど、fsckにメモリを食うとか、ハード障害に弱いとか、ジャーナリングしてるくせに電プチすると結構よく壊れるとか、色々言われている様子。現時点でどこまで改善されているのか、よくわかりません。
x86_64ではローカルアクセス以外の、NFSなんかで使うとkernel panic連発とか。本当かな。でも僕もmhddfsとGlusterFSを経由してファイルを大量コピーしてる最中に原因不明のリブートが発生した時は、XFSを使っていた。その後はリブートしてない。濡れ衣かも知れないけど、状況的には疑わしいと言えるかも知れない。要重点検証。
GlusterFSではXFSが推奨されています。他のファイルシステムでも使えるけど、あんまり検証してないよって。でも僕がやろうとしているmhddfsをかましてGlusterFSで束ねるって方法だとGlusterFS開発陣による検証とか関係ないような気がするので、他のファイルシステムと横並びで比較してみたいと思います。


■JFSの導入
yum --enablerepo=elrepo install kmod-jfs

XFSと似たような特性らしいが、CPU負荷が低いらしい。悪い噂を聞かないのは、導入事例が少ないせい? ざっくり使った所、なんとなくレスポンスが遅い感じがする。ライトキャッシュの効きが甘い? 古いんでSMPではスケールしない? よくわかんないんで、ちゃんと検証しておきたいなと思います。


■ReiserFSの導入
yum --enablerepo=elrepo install kmod-reiserfs reiserfs-utils

将来性が云々と言われます。。しかも、これも性能的にはXFSとそんなに変わらないらしいけど。。まぁ何を選んでも数年後には見直すことになるでしょうから、今回は検討の対象に入れておきます。

※2012/2/4追記
GlusterFS3.2.5ではReiserFS(3.6)は使用不可のようでした。ドキュメントにはReiserFSもOKと書いてあるんですけど、正常にマウントできません。ReiserFSパーティションにattrコマンドを発行するとattrコマンドが落ちるので、多分attrコマンドかReiserFSのattr周りのハンドリングに何らかの問題があるんじゃないかと思いました。
ということは、GlusterFS on Linuxで使えるファイルシステムは、通常であればext3/4、XFS、JFSに絞られるかと思います。

■NILFS2の導入
rpm -Uvh http://www.nilfs.org/pub/centos/6/RPMS/x86_64/kmod-nilfs2-0.3.1-1.el6.x86_64.rpm
rpm -Uvh http://www.nilfs.org/pub/centos/6/RPMS/x86_64/nilfs-utils-2.1.1-6.x86_64.rpm

常時自動スナップショット。CoW。ファイル削除が鬼のように速いらしい。ただしファイルを部分的に更新すると激しく断片化するという。倉庫には向いてそうだが、起動ディスクや仮想マシンイメージには向いてなさそう。用途が読み切れないので今回は検証しません。導入方法のメモだけ残しておきます。


■Btrfsの導入
yum install btrfs-progs

ZFS並みに色々詰め込まれたファイルシステム。これが入れられれば悩み事は大体解決しそう。でもまだプロダクション環境で使える品質でないようなので検討しません。導入方法のメモだけ残しておきます。


■ZFS-FUSEの導入
yum --enablerepo=epel install zfs-fuse

もしやと思ったけれども、やっぱりattrは使えなかった。ZVOLも未サポート。よってGlusterFSとは組み合わせ不可になりますので検証しませんが、導入方法のメモだけ残しておきます。ZFS自体の性質上、パフォーマンスは半ばどうでもいい気がするんですが、FUSEでメモリ消費とかどうなんでしょうね。

0 件のコメント: