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