home prev next

はじめに

NFS(Network File System) はファイル共有技術のひとつです。
各マシンにローカルに接続したストレージ(ハードディスクだけとは限らない)をネットワークを介して他のマシンに提供するためのプロtコルです。
マウントした NFSボリュームは、ローカルと同じように利用できる。

今回、ターゲットにしたマシンは Intel版 Solaris 10 です。


サーバ設定

NFSサーバの設定は、/etc/dfs/dfstab で公開するディレクトを定義する(Linux では /etc/exports)。
初期設定では、/etc/dfs/dfstab は存在しない。

fig.1-1: NFSサーバの設定
# 192.168.1.X に読込み専用で公開
share -F nfs -o ro=192.168.1.0/255.255.255.0 /export/home
# 192.168.1.9 に読書き許可で公開
share -F nfs -o rw=192.168.1.9 /var/opt/samba/share
fig.1-2: NFSサーバの設定(Linuxの場合)
/export/home 192.168.1.0/255.255.255.0 (ro)
/var/opt/samba/share 192.168.1.9 (rw)

設定が終わったら NFS を再起動する。
公開した内容については shareコマンドで確認することができる。

fig.1-3: 公開内容の確認
# share
- /export/home ro=192.168.1.0/255.255.255.0 ""
- /var/opt/samba/share rw=192.168.1.9 ""

/etc/dfs/dfstab の設定内容で気が付いた方も居ると思いますが、公開する内容は shareコマンドをコマンドラインから実行することができます。

fig.1-4: コマンドラインからの公開内容設定
# share -F nfs -o ro=192.168.1.9 /var/opt/samba/download

クライアント設定

クライアントサイドでは特に設定は必要ない。
ネットワーク上の公開ディレクトリをマウントするだけである。

fig.2-1: 公開ディレクトリのマウント
# mount -t nfs 192.168.1.1:/export/home /home

??? ... できない。
"mount: 192.168.1.1:/export/home: can't read superblock" というメッセージが表示される。
ググってみたら、「-o nolock オプションをつけてはどうか?」との記事があったので、オプションを指定したところ無事マウントできた。


あとがき

NFSサーバの設定内容は Debian や SunOS と違うので戸惑いますが、コマンドラインから登録する内容をそのまま記載するだけなので便利かもしれません。
つまり場合によっては /etc/dfs/dfstab に記載せずとも設定が可能という点では使いやすいかもしれません。

NFS のセキュリティ問題について一切触れていませんが、よく理解して使用しないと重大な問題を引起すかもしれません。
http://www.linux.or.jp/JF/JFdocs/NFS-HOWTO/security.htmlに記載されているので参照してみてください。


おまけ

Linux で export したディレクトリをマウントした時「ファイルもディレクトリもありません。」というエラーが発生することがあります。 これはサーバサイドとクライアントサイドで NFS のバージョンが異なることが原因です。
エラーを回避するにはマウント時にvers=3オプションを指定する。

1. サーバ側の設定

NFSサーバをインストールする。 既にインストール済みであれば実行する必要はありません。

# apt-get install portmap
# apt-get install nfs-kernel-server
# apt-get install nfs-common

次に /etc/exports を編集して公開するディレクトリを設定する。

/home 192.168.1.1(ro,root_squash,no_subtree_check)

最後に NFSサーバを(再)起動する。 この時 subtree_check/no_subtree_checkオプションを付けないと何か言われる。


2. クライアント側の設定

オプションを指定して共有ディレクトリをマウントする。

# mount -F nfs -o rsize=32768,vers=3 192.168.1.8:/home /mnt

これで Linux の共有ディレクトリを Solaris でマウントできるようになる。


home prev next

Last-modified: Tue Nov 20 12:58:46 JSP 2008
Site admin:りお

Powerd by ninjatools

ふつう このページは Another HTML-lint gatewayふつうと判断されました。