Ubuntu 9.10のディスクをSnow LeopardでNFSマウントする

2012年6月6日パソコン・インターネット

Ubuntu9.10のディスクをLeopardでNFSマウントする[追記・訂正あり]では、Mac OS X 10.6.3 Snow Leopardではうまく動きませんでした。

マウントはできるのですが、ログインホームディレクトリとして、使えなかったのです。

いろいろ試した結果、Snow LeopardでうまくNFSマウントする方法がわかりましたので、まとめます。

まず、NFSサーバ(Ubuntu)の設定です。/etc/exportsを修正します。

$ vi /etc/exports
$ sudo exportfs -r
$ showmount -e localhost

exportsの中身は、次の通りです。IPアドレスやディレクトリ名は、環境に合わせて変更して下さい。

/home/username 192.168.0.0/24(rw,insecure,no_subtree_check)

“insecure"と言うオプションを追加したのが肝です。このオプションを追加すると、1024番以上のポートからのマウント要求を受け付けるようになります。これによって、Snow Leopard/Leopard側で、-Pオプションやresvportオプションが不要になります。"insecure"を付けないと、ログイン時にうまくマウントできませんでした。

また、"no_subtree_check"も重要です。ホームディレクトリ用にエクスポートするときは、必須の様です。

no_subtree_check

一般的な指針として、ホームディレクトリはサブツリーのチェックを無効にしてエクスポートすべきである(通常各ユーザの親ディレクトリのレベルでエクスポートされ、かつファイル名の変更が多いため)。

Manpage of EXPORTSより

この設定をしないと、ホームディレクトリとしてマウントした時に、ファイルが見えないとか開けないとか、不思議な不具合に遭遇します。原因究明に、かなりてこずりました。

次に、Snow Leopard側の設定です。

$ sudo vifs

sudo vifsで、/etc/fstabを編集します。中身は、次の様になります(IPアドレスやディレクトリ名は、環境に合わせて変更してください)。

192.168.0.XX:/home/username /Users/username nfs nolocks,locallocks,intr,hard,rw,wsize=32768,rsize=32768 0 0

サーバ側(Ubuntu)に、"insecure"オプションをつけたので、クライアント側(Snow Leopard)では、"resvport"オプションは不要になりました。

Snow Leopardで使う時に、"nolocks,locallocks"の設定が非常に重要です。このオプションをつけないと「サーバ接続が中断されました」と言うエラーが出て、マウントが強制解除されてしまいます。情報ソースは、次のリンクです。ありがとうございます。Thank you!

“wsize=32768,rsize=32768″については、上記の件を検索している時に見つけました。ありがとうございます。Thank you!

これらの設定をする事で、非常に安定してUbuntuへNFSマウントする事ができる様になりました。

Leopardの場合には、/etc/fstab(sudo vifs)で、次の設定にしておきます(IPアドレスやディレクトリ名は、環境に合わせて変更してください)。

192.168.0.XX:/home/username /Users/username nfs intr,hard,rw,wsize=32768,rsize=32768 0 0

ここまで来るのは、かなり大変でした。最初、Snow LeopardのNFSがダメなのかと思って、いろいろ挑戦していたのですが、サーバ側(Ubuntu)の設定に問題がある事に気が付くまでに時間がかかりました。

Mac OS X 10.5.8 LeopardをNFSサーバにして、Snow Leopardからつなぐとうまく行った事が、解決方法を見つけるきっかけでした。

Posted by お市のかた