类型:System V-launched Service
软件包:nfs-utils
进程:nfsd,lockd,rpciod,rpc.{mounted,rquotad,statd}
脚本:nfs,nfslock
端口:由portmap服务指派端口(111)
配置文件:/etc/exports
辅助工具: portmap(必须)
相关命令:rpcinfo -p [IPADD]:查看服务器提供的rpc服务
showmount -e:查看服务共享的目录
通过NFS可以将远程主机的目录(ARP1:/ora1159)挂装(Mount)为本地主机的一个目录(ARP2:/home1),如同存取本机文件一样,存取远程主机的文件。具体设置包括远程主机和本地主机的设置
Server端:
1./etc/exports格式:
共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。
书写规则是:共享目录 主机(参数)
e.g:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)
上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。
下面是一些NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
修改了etc/exports而不想重新启动nfs,只需运行# exportfs -rv 即可
例:共享/share目录给192.168.0.x的用户
/share 192.168.0.0/24 (rw)
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、linux- client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机/etc/hosts文件里增加linux-client主机ip定义。格式如下:
10.140.133.23 linux-client
/ora1159 ARP2(rw,root_squash) ARP3(rw,root_squash)
注 :/ora1159为希望共享的目录名,ARP2和ARP3为希望挂装共享目录的主机名(或IP地址),选项rw表示挂装后该目录具有读写权限(也可设为ro,表示只读),选项root_squash表示挂装目录的机器root用户对该目录不具备写权限(否则为no_root_squash)。
2.启动portmap服务:
以root用户登陆
确保portmap进程工作。运行命令
ps -aux|grep portmap
应显示portmap的进程信息。否则运行命令
/etc/rc.d/init.d/portmap start
或
service portmap start[restart]
3.启动NFS服务:
service nfs start[restart]
或
启动或重启nfs守护进程。
/etc/rc.d/init.d/nfs start
或
/etc/rc.d/init.d/nfs stop
/etc/rc.d/init.d/nfs start
如果希望每次重启机器后都能保证远程主机目录都能挂装在本地主机上,应在远程主机上做两个符号链接。
ln -s /etc/rc.d/init.d/portmap /etc/rc.d/rc5.d/s18portmap
ln -s /etc/rc.d/init.d/nfs /etc/rc.d/rc5.d/s28nfs
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
Client端
1.启动portmap服务:
service portmap start[restart]
以root用户登陆(如RAP2或RAP3),启动portmap
/etc/rc.d/init.d/portmap restart
创建一个远程主机目录的本地挂装点(即本地目录)。
mkdir /home1
修改/etc/fstab,添加如下一行
RAP1:/ora1159 /home1 nfs defaults 0 0
挂装远程目录,运行
mount -a
列出本地挂装点目录,查看是否远程目录。
ls /home1
注意
在本地主机上也可以通过autofs挂装远程目录。
nfs本身存在安全隐患,不要通过ssh对局域网以外的机器转发其通讯端口。
2.显示Server的共享目录
showmount -e serverip
3.挂载服务器端的共享目录(假设服务器端192.168.0.1):
mount -t nfs 192.168.0.1:/share /mnt/localshare
mount -t nfs 10.193.10.1:/home/public /home/nfs/public
把10.193.10.1下的/home/public mount到本地/home/nfs/public下
用 df看一下目录mount是否成功