前言
问题的来源是对nfs的共享目录的锁控制问题,关于共享的文件系统,通常有两种需求
需求一
需要有一个共同的锁,然后客户端的软件会判断锁在哪台机器上面,然后根据这个来进行服务的管理
需求二
使用共同的文件,客户端相互之间不能有锁,否则服务无法同时启动,那么需要高可用的时候,可能存在问题
本篇就是根据实际情况,我们来看怎么处理nfs服务,怎么样能够开启锁,怎么用关闭锁,这个根据实际情况进行配置
实践
准备三台机器,一台服务器进行nfs的数据的共享,另外两台机器同时去访问这个共享目录,使用的是nfs v3
lab201 nfs服务端
lab202 nfs客户端
lab203 nfs客户端
在lab201配置nfs服务
[root@lab201 ~]# chmod 777 /nfsshare/
[root@lab201 ~]# cat /etc/exports
/nfsshare *(fsid=123,no_root_squash,async,no_subtree_check,rw)
在lab202和lab203同时使用默认参数挂载nfs服务
[root@lab202 ~]# mount -t nfs -o v3 192.168.0.201:/nfsshare /mnt
[root@lab203 ~]# mount -t nfs -o v3 192.168.0.201:/nfsshare /mnt
查看挂载参数
192.168.0.201:/nfsshare on /mnt type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.201,mountvers=3,mountport=892,mountproto=udp,local_lock=none,addr=192.168.0.201)
查看服务端的
[root@lab201 ~]# systemctl status rpc-statd
● rpc-statd.service - NFS status monitor for NFSv2/3 locking.
Loaded: loaded (/usr/lib/systemd/system/rpc-statd.service; static; vendor preset: disabled)
Active: active (running) since Fri 2021-10-08 14:52:07 CST; 2min 25s ago
Process: