> Linux教程 > 系统运维 >

Linux的NFS服务安装

服务端安装
安装软件包
1.查看rpcbind软件包是否安装

rpm -qa | grep "rpcbind" 2.安装rpcbind软件包

yum -y install rpcbind3.查看nfs软件包是否安装

rpm -qa | grep "nfs" 4.安装nfs软件包

yum -y install nfs-utils修改/etc/exports文件,输出共享目录
vi /etc/exports

/data      *(rw,sync,no_root_squash)说明:
/etc/exports 文件内容格式:

输出目录 [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

a. 输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:
客户端是指网络中可以访问这个NFS输出目录的计算机
客户端常用的指定方式:

•指定ip地址的主机:192.168.0.200
•指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
•指定域名的主机:david.bsmart.cn
•指定域中的所有主机:*.bsmart.cn
•所有主机:*
c. 选项:

选项用来设置输出目录的访问权限、用户映射等。
NFS主要有3类选项:

1.访问权限选项:

•设置输出目录只读:ro
•设置输出目录读写:rw
2.用户映射选项:

•all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
•no_all_squash:与all_squash取反(默认设置);
•root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
•no_root_squash:与rootsquash取反;
•anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
•anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
3.其它选项:

•secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
•insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
•sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
•async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
•wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
•no_wdelay:若有写操作则立即执行,应与sync配合使用;
•subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
•no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
每个客户端后面必须跟一个小括号,里面定义了此客户端的访问特性,比如访问权限等。

例如:172.16.0.0/16(ro,async) 192.168.0.0/24(rw,sync)

启动rpcbind服务
/etc/init.d/rpcbind start
/etc/init.d/nfs start配置rpcbind开机自动启动
chkconfig rpcbind on
chkconfig nfs onLinux 客户端安装
操作方法和服务器端一致,可以参见NFS服务器的安装说明。

yum -y install rpcbind
yum -y install nfs-utils

/etc/init.d/rpcbind start
/etc/init.d/nfs start

chkconfig rpcbind on
chkconfig nfs on查看NFS服务器共享出来的目录

showmount -e 10.251.46.214挂载NFS服务器上共享出来的目录

mount -t nfs 10.251.46.214:/data /data开机自动挂载

修改/etc/fstab文件,最后行添加

10.251.46.214:/data           /data       nfs  defaults 0 0Windows客户端安装
1.打开服务管理器,选择添加角色;
2.勾选中文件服务,下一步;
3.出现一个提示,不管它,继续下一步;
4.在接下来的页面中选中“网络文件系统服务”(NFS),下一步;
5.点击安装;
6.安装完成,点击关闭;
7.重启计算机;
8.点击资源管理器中的映射网络驱动器,文件夹填写 IP:/dir ;
9.Windows NFS客户端使用 mount 命令挂载NFS服务之后,文件系统对Windows只读,无法写入文件,无法新建文件夹,解决办法就是让 windows 在挂载 NFS 的时候将 UID 和 GID 改成 0 即可,打开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,增加两项:AnonymousUid,AnonymousGid;类型为DWORD,值为0;
10.重新启动计算机,重新mount即可。


参见:
1. ECS linux 搭建NFS服务实现磁盘共享
2. win7 下设置挂载Linux服务器nfs共享的数据

(责任编辑:IT)