豚吐露@wiki

nfs

最終更新:

ohden

- view
管理者のみ編集可

nfs

Ubuntu 10.04 LTS
nfs4


■install
どうやらカーネルスレッドに組み込まれるのと通常のデーモンとして動作するのと2種類あるみたい。
apt-get installの候補見てみたら、この3種類。
 nfs-kernel-server
 nfs-server
 nfs-user-server
『nfs-kernel-server』がカーネル組み込みってのは分かるんじゃが、残り2つの差異はなんなんじゃろう?

とりあえず、カーネル版を突っ込む。
$ sudo apt-get install portmap nfs-kernel-server
終わったら、
$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
daemon 3388 0.0 0.0 1896 572 ? Ss 14:42 0:00 portmap
root 3890 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd4]
root 3891 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3892 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3893 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3894 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3895 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3896 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3897 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
root 3898 0.0 0.0 0 0 ? S 14:42 0:00 [nfsd]
$ rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
って打ってみると、nfsが起動していることが分かる。

■サーバの設定
設定ファイルは『/etc/exports』らしい。
$ sudo vi /etc/exports
e.g.)『/var/nfs/share』を192.168.1.1~192.168.1.254までのユーザに公開する設定
/var/nfs/share 192.168.1.0/255.255.255.0(rw)
行末の()内の文字はオプションで色々ある。
ro Readを許可
rw Read/Writeを許可
以下を設定する場合は、roまたはrwの後ろに『,』で区切って記述する。
root_squash root権限でのアクセスを禁止
no_root_squash root権限でのアクセスを許可
squash_uids=n-m UIDがn~mまでのユーザーがアクセスした場合、nobodyユーザーのアクセスとして処理される
all_squash rootを含めた全てのユーザーがアクセスした場合、nobodyユーザーのアクセスとして処理される
nobody userが何なのかは、
$ id nobody
と打てば分かると思う。

で、設定を変更したら、設定の反映。exportfsするまでは設定が反映されないので注意。
$ sudo exportfs -ra
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.0/255.255.255.0:/var/nfs/share".
 Assuming default behaviour ('no_subtree_check').
 NOTE: this default has changed since nfs-utils version 1.0.x
設定を反映させたら、設定された内容を確認する。
$ showmount -e
Export list for UbuntuVM:
/var/nfs/share 192.168.1.0/255.255.255.0

■クライアントの設定
クライアント側にもportmapは必要らしい。
$ sudo apt-get install portmap
実際にmountしてみる。
e.g.)
nfs鯖のIP:192.168.1.100。
nfs鯖のdirは上記で設定した通り。
mount先をhome dir下のmntってdirとする。
$ sudo mount -t nfs -o rw 192.168.1.100:/var/nfs/share ~/mnt
これでmountされたハズ。
試しにmountされたdir内に任意のfileを作ってみて...
$ cd ~/mnt
$ touch test
$ cd /var/nfs/share
$ ll
合計 0
-rw-r----- 1 hoge hoge 0 2011-11-11 11:11 test
mount元の方にちゃんとfileができてたらok。



更新日: 2012年01月06日 (金) 20時20分51秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー