部署nfs高可用rsync + inotify

  

项目环境:

  

三台主机(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  
  

修改内容如下:
部署nfs高可用rsync + inotify”> <br/> <img src=

  
 <代码>//为授权账户创建数据文件:
  # vim/etc/rsyncd_users.db root@nfs-slave ~
  #文件名可以自定义,但是必须与上面配置文件中数据文件名相同 
  

部署nfs高可用rsync + inotify

  
  

注意:用户名得和rsync配置文件中同一个用户。

     
 <代码>//授予权限
  [root@nfs-slave ~] # chmod 600/etc/rsyncd_users.db  
  
 <代码>//启动rsync服务:
  # rsync——守护进程(root@nfs-slave ~)  之前
  

部署nfs高可用rsync + inotify

  

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
部署nfs高可用rsync + inotify”> <br/> # !/bin/bash <br/> INOTIFY_CMD=癷notifywait -mrq - e修改、创建、移动、删除/nfs-share 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