项目环境:
三台主机(centos7):
nfs服务器主:172.16.1.20
引用>
nfs服务器从:172.16.1.30
客户端(客户机):172.16.1.40项目操作:
1,首先搭建nfs服务器
<强>主从nfs服务器都需搭建,相同的操作。强>
<代码> [root@nfs-master ~] # yum - y安装nfs-utils #安装nfs服务 (root@nfs-master ~) # yum - y安装rpcbind #安装远程传输控制协议代码><代码> [root@nfs-master ~] # vim/etc/exports #编写nfs文件/nfs共享172.16.1。* (rw,同步,no_root_squash) 代码>参数解释:
引用>
172.16.1。*:表示允许该网段,也可以自定义ip地址
rw:可读可写
同步:同步数据到磁盘
no_root_squash:加上这个选项后,根用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。<代码> [root@nfs-master ~] # mkdir/nfs共享#创建共享目录 (root@nfs-master ~) # systemctl开始rpcbind #先启动该服务 (root@nfs-master ~) # systemctl启动nfs 代码>2,在从nfs服务器上搭建rsync:
<代码>//安装rsync: (root@nfs-slave ~) # yum - y安装rsync 代码><代码>//修改rsync配置文件: (root@nfs-slave ~) # vim/etc/rsyncd.conf 代码>修改内容如下:
<代码>//为授权账户创建数据文件: # vim/etc/rsyncd_users.db root@nfs-slave ~ #文件名可以自定义,但是必须与上面配置文件中数据文件名相同代码>
注意:用户名得和rsync配置文件中同一个用户。
引用><代码>//授予权限 [root@nfs-slave ~] # chmod 600/etc/rsyncd_users.db 代码><代码>//启动rsync服务: # rsync——守护进程(root@nfs-slave ~) 代码> >之前
3,在主nfs服务器上安装inotify工具:
<强>下载并上传inotify-tools-3.14.tar.gz安装包强>
<代码> [root@nfs-master ~] #焦油zxf inotify-tools-3.14.tar.gz (root@nfs-master ~) # cd inotify -工具- 3.14/[root@nfs-master inotify -工具- 3.14]# ./configure,,使,,使安装代码><强> # #编写触发式同步脚本:强>
<代码> root@nfs-master ~ # vim inotify。sh 代码>
RSYNC_CMD=皉sync -azH——删除密码文件=/etc/服务器。通过/nfs共享sunqiuming@172.16.1.30: rsync"
$ INOTIFY_CMD |而读目录事件文件完成
$ RSYNC_CMD
注意:该脚本用于监控本地的共享目录/nfs共享,只要监控到对该目录有任何操作,就会同步数据到从nfs服务器服务器上的/nfs共享目录下(需要权限)。
引用><强>//创建脚本中的密码文件(为了在同步的过程中不用在输入密码)强>
<代码> [root@nfs-master ~] #回声“123456”在/etc/server.pass # #文件名自定义,只要确保与上述脚本中相同代码><代码> root@nfs-master ~ # chmod 600/etc/server.通过#授予权限代码>
<强>//对从nfs服务器服务上的共享目录授予权限强>
<代码> [root@nfs-slave ~] # chmod 777/nfs共享 (root@nfs-slave ~) # ls ld/nfs共享 drwxrwxrwx 2根根6 11月14日23:14/nfs共享/代码><强>//将脚本文件加入开机自启:强>
<代码> [root@nfs-master ~] #/根/inotify回声”。sh ', gt;和gt;/etc/rc.local 代码><强>//执行该触发脚本:强>
<代码> root@nfs-master ~ # sh inotify。上海,#后台运行代码>4,客户客户机进行挂载:
<代码> [root@client ~] # mkdir/测试#创建测试挂载目录 [root@client ~] #挂载nfs - t - o柔软,timeo=5 172.16.1.20:/nfs共享/测试 #注意使用软挂载,默认是硬挂载,使用软挂载,当服务端宕机,不会一直阻塞部署nfs高可用rsync + inotify