pNFS対応Linuxカーネルビルドをやってみた
NFS単体では遅い・・・ベンダーのNASは高い・・・じゃぁpNFSでもやってみる?ってことで対応カーネルをビルドしてみた。
■環境
OS:CentOS5.4(後にFedora12を使う)
■経過
gitでpNFSのリポジトリからHEADリビジョンをpull
make menuconfig でpNFSモジュールを有効にして.config作成
とりあえず make rpm でやってみた・・・いろいろできない。これは回避
ということで古典的カーネルビルド中
PNFS関連のコンフィグを済ませビルドしてみたがFedora12でコンソールが起動してそのまま何もできないという状況が限界。素直に用意されているrpmでも使ってみる。yumリポジトリがあるようなので使ってみる。さてどうなることやら…
http://steved.fedorapeople.org/pnfs.repo
上のリポジトリ記述ファイルを使ってなぜかyumできなかったのでrpmを直で入れる。多少依存関係を解決する必要はあるが依存関係地獄というようなものではないので大丈夫そう。インストール完了。動いた。最初からこれ使えばよかったなぁ・・
どうやら開発リポジトリのHEADリビジョンはどのディストリビューションでも動いてくれるほど親切にはできていないようだ。今回はFedora12x86_64版のリポジトリからとってきたrpmで「とりあえず」pNFS対応カーネルでのFedora12起動はできた。後はNFSv4.1構成を試すわけだが以下を参考にした。
ugrrrr i've been unabled to use Japanese on the pNFS-enabled kernel but it's natural... This post written on pNFS-enabled Fedora 12.
http://wiki.linux-nfs.org/wiki/index.php/PNFS_Setup_Instructions
最低必要OS数:4or3。同じマシン上でもまぁいいが実機を用意できればよし
全OSをpNFS対応カーネルにする
↓
データサーバとメタデータサーバで/etc/exportsを編集、並びにNFSv4と同様の設定を(ポート固定、開放等)
↓
pNFSクライアントで「レイアウトドライバ」モジュールをロード(なにそれ?)
↓
マウント
mount -t nfs4 -o minorversion=1 <mds_server>:/ /mnt/pnfs
上のコマンドでmds_serverとなっている部分をメタデータサーバとして用意したサーバのIPなりホスト名にするんだろう。データサーバを直接マウントしないのがpNFS。
http://www.ibm.com/developerworks/jp/linux/library/l-pnfs/index.html?ca=drs-#nuts
まぁ手間ではないが 動くのか? というところがもっともストレスを感じるところだが新しいものを使ってみるときはこれを忘れよう・・・。一応上のリンクの導入では「開発中だが大体動く」とのこと。ほんとか?w
■ここまでの総括
- pNFS対応カーネルのメインの開発リポジトリ(?):http://git.linux-nfs.org/?p=bhalevy/linux-pnfs.git;a=summary
- 上のリポジトリのHEADリビジョンでカーネルビルドしようとするな(すんなり使いたいなら)。gitリポジトリから自分のディストリビューションに合ったものを見つけてこられればできるだろう。HEADリビジョンの2.6.34系は上のリポジトリを作っている人もちょっと難しいと言っていたので物好きでないなら触れないほうがいいだろう。
- マウントできてファイルRWできたら10台ぐらい使ってパフォーマンステストしてみたいなぁ・・