网上大部分的教程是NFS给LINUX访问,但是windows访问略有不同,主要是权限不同。
linux上NFS共享的文件夹权限最好是757.
window上显示nfs属性其他是可读写,才可以否则会出现只读不能写。
一、安装:
注意CentOS 5.x版用portmap,CentOS 6.x版用rpcbind
1
|
# yum -y install nfs-utils portmap
|
1
|
# yum -y install nfs-utils rpcbind
|
二、配置:
1
|
# vi /etc/exports
|
在exports文件中添加
/data 192.168.1.*/24(rw,async,no_root_squash,no_subtree_check)
1、配置文件定义
NFS的配置文件为 /etc/exports,内容格式如下:
<共享目录> 客户端1(选项) [客户端2(选项) ...]
共享目录:NFS共享给客户机的目录。
客户端:网络中可以访问此目录的主机。多个客户端以空格分隔。
选项:设置目录的访问权限、用户映射等,多个选项以逗号分隔。
例如:
/opt/public 192.168.1.0/24(rw,insecure,async,all_squash,anonuid= 65534,anongid=65534)
/opt/public *(rw,insecure,async,all_squash,anonuid= 65534,anongid=65534)
2、客户端的指定方式
指定ip地址的主机:192.168.0.100
指定子网中的所有主机:192.168.0.0/24 或 192.168.0.0/255.255.255.0
指定域名的主机:nfs.test.com
指定域中的所有主机:*.test.com
所有主机:*
3、选项说明
ro:共享目录只读;
rw:共享目录可读可写;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据异步写入内存缓冲区中,必要时才写入磁盘,推荐,提高传输速率;
rsize:读缓存区块,设置是最好是1024倍数加减,V2版本最大数值是大8192,V3版本最大数值是32768。
wsize:写缓存区块,设置是最好是1024倍数加减,V2版本最大数值是大8192,V3版本最大数值是32768。
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
NFS相关命令
1、exportfs 不重启nfs服务应用更新,相关选项如下:
1
2
3
4
|
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。
|
2、nfsstat 查看NFS的运行状态。
3、rpcinfo 查看rpc服务注册情况。
相关选项:-p 显示所有的端口与程序信息。
示例:rpcinfo -p localhost #列出本机的RPC注册状况。
三、启动&开机启动portmap和nfs:
注意,一定要先启动portmap(rpcbind)在启动nfs,否则会报错。
1
2
3
4
|
#service portmap start 或 #service rpcbind start
#service nfs start
#chkconfig --level nfs 35 on
#chkconfig --level protmap 35 on 或 #chkconfig --level protmap 35 on
|
重启nfs 或者使用exportfs命令使设置生效
1
|
#service nfs restart
|
生效exportfs文件:
1
|
#exportfs -rv
|
四、确定挂载点
1
|
#showmount -e 192.168.4.211
|
-e选项显示NFS服务端的导出列表。
如下图显示,配置及是正确。
五、开机自动挂载
1
|
vi
/etc/fstab
|
在上述文件末尾加入共享目录的挂载条目,如下所示:
1
|
192.168.1.211:
/data/nfs_share
/root/remote_dir
nfs defaults 0 0
|
六、查看nfs版本:
如果你的linux是redhat或者centos 服务端使用这个命令:
1
|
# rpm -qa |grep nfs-utils |grep -v lib
|
或
1
|
# nfsstat -s
|
客户端:
1
|
# nfsstat -m
|
vers=4即你的服务器版本。
参考文章:
http://www.j3j5.com/post-28.html
http://www.cnblogs.com/lykyl/archive/2013/06/14/3136921.html
http://www.linuxidc.com/Linux/2015-01/112051.htm
http://www.cnblogs.com/argb/p/3438568.html