至于权限方面 (就是小括号内的参数) 常见的参数则有:
启动服务器端NFS
配置文件搞定后,当然要开始来启动才行啊!而前面我们也提到过,NFS 的启动还需要 rpcbind 的协助才行啊! 所以赶紧来启动吧!
1 [root@www ~]# /service rpcbind start 2 # 如果 rpcbind 本来就已经在执行了,那就不需要启动啊! 3 4 [root@www ~]# service nfs start 5 # 有时候某些 distributions 可能会出现如下的警告讯息: 6 exportfs: /etc/exports [3]: No 'sync' or 'async' option specified 7 for export "192.168.100.10:/home/test". 8 Assuming default behaviour ('sync'). 9 # 上面的警告讯息仅是在告知因为我们没有指定 sync 或 async 的参数, 10 # 则 NFS 将默认会使用 sync 的信息而已。你可以不理他,也可以加入 /etc/exports。 11 12 [root@www ~]# service nfslock start 13 [root@www ~]# chkconfig rpcbind on 14 [root@www ~]# chkconfig nfs on 15 [root@www ~]# chkconfig nfslock on |
在你的 NFS 服务器设定妥当之后,我们可以在 server 端先自我测试一下是否可以联机喔!就是利用 showmount 这个指令来查阅!
1 [root@www ~]# showmount [-ae] [hostname|IP]
2 选项与参数:
3 -a :显示目前主机与客户端的 NFS 联机分享的状态;
4 -e :显示某部主机的 /etc/exports 所分享的目录数据。
5
6 # 1. 请显示出刚刚我们所设定好的相关 exports 分享目录信息
7 [root@www ~]# showmount -e localhost
8 Export list for localhost:
9 /tmp *
很简单吧!所以,当你要扫瞄某一部主机他提供的 NFS 分享的目录时,就使用 showmount -e IP (或hostname) 即可!非常的方便吧!这也是 NFS client 端最常用的指令喔!
如果报错的话,有可能是端口被防火墙禁止了,可以开放端口,当然简单粗暴的方法就是关掉防火墙:
1 service iptables stop
或者不想简单粗暴的就这样做,
一般来说, NFS 的服务仅会对内部网域开放,不会对因特网开放的。然而,如果你有特殊需求的话, 那么也可能会跨不同网域就是了。但是,NFS 的防火墙特别难搞,为什么呢?因为除了固定的 port 111, 2049 之外, 还有很多不固定的埠口是由 rpc.mountd, rpc.rquotad 等服务所开启的,所以,你的 iptables 就很难设定规则! 那怎办?难道整个防火墙机制都要取消才可以?
为了解决这个问题, CentOS 6.x 有提供一个固定特定 NFS 服务的埠口配置文件,那就是 /etc/sysconfig/nfs 啦! 你在这个档案里面就能够指定特定的埠口,这样每次启动 nfs 时,相关服务启动的埠口就会固定,如此一来, 我们就能够设定正确的防火墙啰!这个配置文件内容很多,绝大部分的数据你都不要去更改,只要改跟 PORT 这个关键词有关的数据即可。 那么需要更改的 rpc 服务有哪些呢?主要有 mountd, rquotad, nlockmgr 这三个,所以你应该要这样改:
1 [root@www ~]# vim /etc/sysconfig/nfs 2 RQUOTAD_PORT=1001 <==约在 13 行左右 3 LOCKD_TCPPORT=30001 <==约在 21 行左右 4 LOCKD_UDPPORT=30001 <==约在 23 行左右 5 MOUNTD_PORT=1002 <==约在 41 行左右 6 # 记得设定值最左边的批注服务要拿掉之外,埠口的值你也可以自行决定。 7 8 [root@www ~]# /etc/init.d/nfs restart 9 [root@www ~]# rpcinfo -p | grep -E '(rquota|mount|nlock)' 10 100011 2 udp 1001 rquotad 11 100011 2 tcp 1001 rquotad 12 100021 4 udp 30001 nlockmgr 13 100021 4 tcp 30001 nlockmgr 14 100005 3 udp 1002 mountd 15 100005 3 tcp 1002 mountd |
然后将对应的端口号给开放即可。
NFS客户端的挂载
你要如何挂载 NFS 服务器所提供的文件系统呢?基本上,可以这样做:
确认本地端已经启动了 rpcbind 服务!
扫瞄 NFS 服务器分享的目录有哪些,并了解我们是否可以使用 (showmount);
在本地端建立预计要挂载的挂载点目录 (mkdir);
利用 mount 将远程主机直接挂载到相关目录。
比如说将客户端在 192.168.100.10 这部机器上,而服务器是 192.168.100.254 ,将服务器上的目录挂在在客户端上。
1 [root@clientlinux ~]# showmount -e 192.168.100.254
2 Export list for 192.168.100.254:
3 /tmp *
接下来我想要将远程主机的 /home/public 挂载到本地端主机的 /home/nfs/public , 所以我就得要在本地端主机先建立起这个挂载点目录才行啊!然后就可以用 mount 这个指令直接挂载 NFS 的文件系统啰!
1 [root@clientlinux ~]# mkdir -p /home/nfs/public
2 [root@clientlinux ~]# mount -t nfs 192.168.100.254:/home/public /home/nfs/public
然后看看挂载情况:
1 [root@clientlinux ~]# df
2 文件系统 1K-区段 已用 可用 已用% 挂载点
3 ....(中间省略)....
4 192.168.100.254:/home/public
5 7104640 143104 6607104 3% /home/nfs/public
不想挂载想取消的话使用如下命令:
1 [root@clientlinux ~]# umount /home/nfs/public