nfs共享目录及sersync实时同步

Posted gspblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nfs共享目录及sersync实时同步相关的知识,希望对你有一定的参考价值。

一.要求

web01,web02中的目录挂载到nfs的目录下下,并且把nfs的目录实时同步到backup中。

主机名 外网IP 内网IP 作用 要部署服务
web01 172.16.1.7 10.0.0.7 rsync和nfs的客户端 nfs
web02 172.16.1.8 10.0.0.8 rsync和nfs的客户端 nfs
nfs 172.16.1.31 10.0.0.31 nfs的服务端(共享内存),sersync的客户端 nfs,sersync,rsync,inotify
backup 172.16.1.41 10.0.0.41 rsync的服务端 rsync

二.backup配置

1.安装服务

[root@backup /]# yum install -y rsync

2.修改配置文件

[root@backup /]# vim /etc/rsyncd.conf
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = gsp_bak
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[nfs]
comment = welcome to oldboyedu backup!
path = /nfs

3.创建目录及用户

#1.创建统一用户www
[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

#2.创建rsync服务端的密码文件,设置密码
[root@backup /]# echo ‘gsp_bak:123‘>/etc/rsync.passwd

#设置密码文件权限
[root@backup /]# chmod 600 etc/rsync.passwd

#3.创建目录,给用户授权
[root@backup /]# mkdir /nfs
[root@backup /]# chown -R www.www /nfs

三.实现sersync实时同步

1.nfs安装服务

#1.yum install -y inotify-tools  nfs-utils

#2.下载sersync包
[root@nfs ~]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

2.实时同步

#1.解压sersync压缩包
[root@nfs ~]# tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz

#2.移动解压的目录并改名
[root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync

#修改配置文件
[root@nfs ~]# vim /usr/local/sersync/confxml.xml

技术图片

创建密码文件和授权

#1.创建rsync客户端的密码文件
[root@nfs ~]# echo ‘123‘>/etc/rsync.pass

#2.设置密码文件的权限为600
[root@nfs ~]# chmod 600 /etc/rsync.pass

#3.启动服务
[root@nfs ~]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml

execute command: cd /data && rsync -az -R --delete ./ gsp_bak@10.0.0.41::nfs --password-file=/etc/rsync.pass >/dev/null 2>&1 
run the sersync: 
watch path is: /data              #最后输出这样的


#这时nfs的/data 和 backup的/nfs目录实时同步了,对nfs操作时,backup也会对应改变

四.nfs共享存储配置

#1. 进入nfs配置文件
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

#2.关闭防火墙和selinux
[root@nfs ~]# systemctl stop firewalld 
[root@nfs ~]# setenforce 0

#3.创建/data共享目录,授权
[root@nfs ~]# mkdir /data
[root@nfs ~]# chown -R www.www /data

#4.开启服务(rpcbind 是自带的,不用安装,后面也不用加到自启)
[root@nfs ~]# systemctl restart rpcbind nfs.server

#5.设置开机自启
[root@nfs ~]# systemctl enable  nfs.server

#这里之后nfs客户端就能找到nfs服务端

五.web客户端配置

## 安装服务
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

##创建用户和组
#web01
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

#web02
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M


#1.找到nfs服务端
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

#2.找到想要挂载的目录,我随便创一个
[root@web01 ~]# mkdir -p /var/www/html/

#3.把这个目录挂载到nfs的 /data目录下
[root@web01 html]# mount -t nfs 172.16.1.31:/data /var/www/html/

#4.df -h  查看是否挂载
[root@web01 html]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.4G   18G   8% /
devtmpfs           476M     0  476M   0% /dev
tmpfs              487M     0  487M   0% /dev/shm
tmpfs              487M  7.7M  479M   2% /run
tmpfs              487M     0  487M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs               98M     0   98M   0% /run/user/0
172.16.1.31:/data   19G  1.3G   18G   7% /var/www/html     #显示已挂载

#5.给/var/www/html 授权
[root@web01 html]# chown -R www.www /var/www/html/

#6.web02的操作也是一样,挂载到nfs的/data目录下

以上是关于nfs共享目录及sersync实时同步的主要内容,如果未能解决你的问题,请参考以下文章

sersync实现实时同步

sersync实时同步

5Sersync实时同步实战

rsync nfs 实时同步,结合实战

rsync+inotify实时同步

rsync+nfs+sersync实战案例