NFS文件系统


一.nfs服务端

1.CentOS6安装nfs-utils和rpcbind两个软件包

yum install nfs-utils rpcbind

  

2.编辑/etc/exports
加入:

/nfsdir 192.168.1.107(rw,sync)

  

将/nfsdir目录共享给192.168.1.107这台服务器服务器,可进行读写操作,并且写操作采用同步方式.

NFS主要有3类选项:

访问权限选项

    设置输出目录只读:ro
    设置输出目录读写:rw

用户映射选项

    all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
    no_all_squash:与all_squash取反(默认设置);
    root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
    no_root_squash:与rootsquash取反;NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的
    anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
    anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项

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

3.修改/etc/sysconfig/nfs

MOUNTD_PORT=892 // 添加该行或取消注释

4.服务端需要启动的服务

service nfslock restart  
service rpcbind restart  (centos5中是service portmap restart)
service nfs restart

5.服务端iptables设置

-A INPUT -s 192.168.118.85 -p tcp -m multiport --dports 111,2049,875,892,32769,32803 -j ACCEPT
-A INPUT -s 192.168.118.85 -p udp -m multiport --dports 111,875,892,32769,32803 -j ACCEPT

刷新nfs配置

exportfs -a

二.nfs客户端

1.安装nfs-utils和rpcbind两个软件包

yum install nfs-utils rpcbind

2.至少保证rpcbind是启动的(centos5中是service portmap restart)


3.使用
#showmount -e 服务端ip
查看共享目录

4.挂载目录到本地
mount -t nfs 服务端IP:/nfsdir /nfsdir



原文地址:https://www.cnblogs.com/itfenqing/p/4429419.html