环境
nps 192.168.1.97
client 192.168.1.98
yum 安装
yum -y install nfs-utils rpcbind
nfs 的配置文件 /etc/expots
默认为空
vi /etc/exports
添加共享的配置条目
/opt/test/ 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
或者
/opt/test/ 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
另外,可以创建一个不能登录的用户来作为文件共享的用户
useradd -M -s /sbin/nologin mynfs
-M:不创建家目录
-s:指定用户登陆时使用的shell,nologin就是登陆不了
id -u mynfs
可以看到新建的用户的UID,默认GID与UID相同,可以把上面的默认UID、GID换掉,可选
使配置生效
exportfs -r
注:配置文件说明:
/opt/test 为共享目录
192.168.1.0/24 可以为一个网段,一个IP,也可以是域名,域名支持通配符 如: *.qq.com
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,可以在此处自行设定。
anongid:匿名用户的GID值。
启动 nfs
先启动RPC服务
service rpcbind start
再启动NFS服务
service nfs start
设置成开机启动
chkconfig rpcbind on
chkconfig nfs on
客户端挂载:
最小化安装的CENTOS没有NFS客户端,先安装NFS客户端
yum install nfs-utils nfs-utils-lib
查看NFS服务端可挂载
showmount -e 192.168.1.97
Export list for 192.168.1.97: /opt/test 192.168.1.0/24
客户端挂载命令
mount -t nfs 192.168.1.97:/opt/test /mnt
客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:
mount -t nfs 192.168.1.97:/opt/test /mnt -o proto=tcp -o nolock
常用命令
查看nfs配置的参数
cat /var/lib/nfs/etab
查看当前NFS被挂载的情况
cat /var/lib/nfs/rmtab