豚吐露@wiki
nfs
最終更新:
ohden
-
view
nfs
Ubuntu 10.04 LTS
nfs4
nfs4
■install
どうやらカーネルスレッドに組み込まれるのと通常のデーモンとして動作するのと2種類あるみたい。
apt-get installの候補見てみたら、この3種類。
nfs-kernel-server
nfs-server
nfs-user-server
『nfs-kernel-server』がカーネル組み込みってのは分かるんじゃが、残り2つの差異はなんなんじゃろう?
どうやらカーネルスレッドに組み込まれるのと通常のデーモンとして動作するのと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』らしい。
設定ファイルは『/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
/var/nfs/share 192.168.1.0/255.255.255.0
■クライアントの設定
クライアント側にもportmapは必要らしい。
クライアント側にもportmapは必要らしい。
$ sudo apt-get install portmap
実際にmountしてみる。
e.g.)
nfs鯖のIP:192.168.1.100。
nfs鯖のdirは上記で設定した通り。
mount先をhome dir下のmntってdirとする。
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を作ってみて...
試しに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秒