タグ別アーカイブ: NFS

linux-image-3.0.0-2とlinux-image-2.6.32-5でNFSがうまく動かない

カーネル2.6.32-5でなんかI/O周りでkernel OOPSをはくので、むしゃむしゃしてkernelのバージョンをあげたんですよ。
でね、うちはxen使ってDomUが二つ動いていまして、Dom0はkernel 3.0.0-2で問題なく動いたんだけど、DomUの片方はブートしないでござるの巻きに陥ったわけでして、仕方ないのでそっちは2.6.32で動かしたんですよ。
で、色々と動作確認しているうちに、NFSでマウントしていたディレクトリのオーナーとグループがnobody, nogroupになってることに気づいたわけですよ。
そこから色々と試していくうちにわかったのが、NFSサーバのカーネルが3だと2.6でNFS接続するとnobody, nogroupになるということ。
ああ、ちゃんと共有対象ディレクトリのクライアントとサーバのユーザ名およびuid, グループ名およびgidは同じですよ。
2.6がサーバなら3がクライアントでも2.6がクライアントでも問題なし。
3がサーバの時、クライアントが3なら問題ないけど2.6だとだめ。
オプションでall_squashつけてanonuidとanongid設定しても駄目。
軽く数時間はまりましたよ。
とりあえずカーネルが更新待ちだなー。

追記
やっぱりall_squashとanonuidとanongidでいけました。
うそつきましたごめんなさい。
all_squashで全員nobody, nogroup扱いにして、anonuidとanongidでnobody, nogroupのIDを実際に動作させたいユーザのIDにマッピング。

ファイルサーバを作ってみた WebDAV&NFS編

新しくドメインUを立てたのはいいけどApacheはすでにほかのドメインUで動いているので、もう一つ動かすのもばからしい。
ということで、フロントエンドは既存のApacheくんに任せるとして、裏でファイルサーバとつなげましょう。

続きを読む ファイルサーバを作ってみた WebDAV&NFS編

NFSを使ってみる

LinuxとWindowsのファイル共有でよくSambaが使われたりするが、Linux同士のファイル共有でお手軽なのがNFS。

# aptitude install nfs-kernel-server

あとは/etc/exportsをかきかきすればいい。

/test     192.168.1.0/255.255.255.0(rw,no_subtree_check)

詳しい書式はman exportsをみればいいが、簡単にはこんな感じ。

directory machine1(option11,option12) machine2(option21,option22)

machine部はクライアントマシンのホスト名になるけども、上記の例のようにネットワークとサブネットで指定もできる。
オプションは基本的なところは

ro 読み込みのみ
rw 読み書き可
no_root_squash rootによるアクセスをnobodyにマッピングしない(つまり危険)
no_subtree_check ボリュームの位置のチェックを無効化する(ボリューム全体をエクスポートする場合に使うと高速化)
sync 同期をとる(遅いがファイルシステムの破損の危険性は低い)
async

同期をとらない(速いが書き込み中に停電とかするとやばい)

まあそんな感じか。
マシン名で指定する場合、名前解決できないような時は/etc/hostsに書くとかってことになるんかな。

設定ファイルを更新したらデーモンを再起動すれば反映される。

使用する方は至極簡単で、対象ディレクトリをNFSとしてマウントすればいい。

$ mount -t nfs 192.168.1.2:/test ~/test

/etc/fstabに記述しておけば自動的にマウントさせることもできるし楽なものだ。