一、环境:
nps 192.168.10.123
client 192.168.10.241 192.168.10.242 192.168.10.243
二、安装 NFS 服务器所需的软件包:
yum install -y nfs-utils
三、编辑exports文件,添加从机:
nfs 的配置文件 /etc/expots 默认为空
vi /etc/exports
/opt/test/ 192.168.10.241(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) 192.168.10.242(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) 192.168.10.243(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
192.168.10.241~243 三台机器可以挂载NFS服务器上的/opt/test/目录到自己的文件系统中
四、使配置生效:
exportfs -r
五、注:配置文件说明:
/opt/test 为共享目录
192.168.10.241 可以为一个网段,一个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服务:
先为rpcbind和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
查看NFS服务器启动成功:
rpcinfo -p
七、在从机上安装 NFS 客户端:
首先是安裝 nfs,同上,然后启动rpcbind服务
先为rpcbind做开机启动:
systemctl enable rpcbind.service
然后启动rpcbind服务:
systemctl start rpcbind.service
注意:客户端不需要启动nfs服务
检查 NFS 服务器端是否有目录共享:
showmount -e 192.168.10.123 #查看可挂载
输出:
Export list for 192.168.10.123:
/opt/test 192.168.10.242,192.168.10.241,192.168.10.243
在从机上使用 mount 挂载服务器端的目录/opt/test/到客户端某个目录下:
mkdir /opt/test/
mount -t nfs 192.168.10.123:/opt/test /opt/test/
无提示 既为成功
df -h 查看是否挂载成功
客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:
mount -t nfs 192.168.10.123:/opt/test /opt/test/ -o proto=tcp -o nolock
想在客户机上实现开机挂载,则需要编辑/etc/fstab:
vi /etc/fstab
# 加上
192.168.10.123:/ /opt/test/ nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0
客户端挂载后,写文件时可能会报一个权限问题:Permission denied。解决这个问题可以修改 nfs 主服务器 /etc/exports 文件,改成如下內容:
vi /etc/exports
# xx请根据下面替换
/opt/test/ 192.168.10.241(rw,sync,fsid=0,anonuid=xx,anongid=xx) 192.168.10.242(rw,sync,fsid=0,anonuid=xx,anongid=xx) 192.168.10.243(rw,sync,fsid=0,anonuid=xx,anongid=xx)
查看服务器uid:
# id root
uid=0(root) gid=0(root) groups=0(root)
将xx改成65534
重新读取NFS配置文件:
exportfs -rv
可使用如下命令查看配置:
exportfs -v
八、windwos挂载linux主机NFS
启动windos NFS客户端服务:
1. 打开控制面板->程序->打开或关闭windows功能->NFS客户端
勾选NFS客户端,即开启windows NFS客户端服务
2.win+R->cmd
mount 192.168.10.123:/opt/test X:
成功挂载,打开我的点脑,你即可在你网络位置看到 X:盘了
解释:
mount,是指令
192.168.1.10你的linux主机IP
/home/share你的共享目录
X:你挂载的网络文件盘--注意,可能会与你的其他盘冲突,你可以随意更改
3.取消挂载:
直接在 我的电脑 里面鼠标点击取消映射网络驱动器 X:
或者: win+R->cmd
输入: umount X:
(umount -a 取消所有网络驱动器)