您的位置 首页 linux集群

sersync 实时同步笔记(原)

sersync 实时同步笔记(原)

第四章sersync

01.NFS案例

准备3台虚拟机服务器,并且请按照要求搭建配置NFS服务。
NFS服务端(A)172.16.1.31
NFS客户端(B)172.16.1.7
NFS客户端(C)172.16.1.8
1.在NFS服务端(A)上共享/data/baimei(可写)及/data/oldgirl(只读)
2.在NFS客户端7挂载/data/baimei
3.在NFS客户端8挂载/data/oldgirl 分别进行测试

服务端配置:
1.安装服务
[root@nfs ~]#yum -y install nfs-utils
2.配置服务
[root@nfs ~]# cat /etc/exports
/data/baimei  172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/oldgirl 172.16.1.0/24(ro,sync,all_squash,anonuid=666,anongid=666)
3.启动服务
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs

客户端配置:
1.安装nfs-utils
[root@nfs ~]# yum -y install nfs-utils
2.查看服务端共享的目录
[root@nfs ~]# showmount -e 172.16.1.31

3.挂载对应的目录
[root@nfs ~]# mount -t nfs 172.16.1.31:/data/baimei /mnt

02.Sersync实时同步

NFS服务器: 10.0.0.31
BACKUP服务器: 10.0.0.41
WEB01: 10.0.0.7
WEB02: 10.0.0.8

10.0.0.31服务器:
1. 安装NFS服务 10.0.0.31
[root@nfs ~]# yum -y install nfs-utils
2. 配置NFS服务
[root@nfs ~]# cat /etc/exports
/data  172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
创建目录和用户
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 -M -s /sbin/nologin www
[root@nfs ~]# mkdir /data
[root@nfs ~]# chown www.www /data

3.启动NFS服务
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs

WEB: 10.0.0.7 10.0.0.8
1.安装nfs-utils
[root@web01 ~]# yum -y install nfs-utils
[root@web02 ~]# yum -y install nfs-utils
2.查看后挂载
[root@web01 ~]# showmount -e 172.16.1.31
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web02 ~]# showmount -e 172.16.1.31
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /mnt

BACKUP服务器配置: 10.0.0.41
1.安装rsync
[root@backup ~]# yum -y install rsync

2.配置rsync
[root@backup ~]# cat /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 = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to baimeiedu backup!
path = /backup

3.根据配置文件创建必要数据
1)创建用户
[root@backup ~]# groupadd -g 666 www
[root@backup ~]# useradd -u 666 -g666 -M -s /sbin/nologin www
2)创建密码文件
[root@backup ~]# echo rsync_backup:123456 > /etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd
3)创建目录
[root@backup ~]# mkdir /backup
[root@backup ~]# chown www.www /backup

4.启动rsync
[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

客户端: 10.0.0.7 10.0.0.8
命令行执行脚本测试:
[root@web01 scripts]# cat backup.sh 
#1.定义目录变量
dir=`hostname`_`hostname -I|awk '{print $2}'`_`date +%F`

#2.创建目录
mkdir -p /backup/$dir
#3.打包重要的数文件
cd /etc/
tar zcf /backup/$dir/etc.tar.gz hosts passwd

#4.推送目录到rsync服务端
export RSYNC_PASSWORD=123456
rsync -avz /backup/$dir rsync_backup@172.16.1.41::backup

#5.查找7天前的文件并且删除
find /backup -mtime +7|xargs rm -rf &>/dev/null

将脚本写入定时任务.

实时监控31的/data目录
1.安装inotify
[root@nfs ~]# yum -y install inotify-tools
2.下载sersync服务
可以通过windows上传的方式
可以在命令行直接下载
[root@nfs server]# cd /server
[root@nfs server]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

[root@nfs server]# ll
total 712
drwxr-xr-x 2 root root     41 Oct 26  2011 GNU-Linux-x86
drwxr-xr-x 2 root root     23 Mar 28 09:42 scripts
-rw-r--r-- 1 root root 727290 Mar 29 10:22 sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs server]# ll GNU-Linux-x86/
total 1772
-rwxr-xr-x 1 root root    2214 Oct 26  2011 confxml.xml
-rwxr-xr-x 1 root root 1810128 Oct 26  2011 sersync2

3.修改目录名称
[root@nfs server]# mv GNU-Linux-x86/ sersync

4.修改配置文件:
....
    <inotify>
	<delete start="true"/>
	<createFolder start="true"/>
	<createFile start="true"/>
	<closeWrite start="true"/>
	<moveFrom start="true"/>
	<moveTo start="true"/>
	<attrib start="false"/>
	<modify start="false"/>
.....
    <sersync>
	<localpath watch="/data">
	    <remote ip="172.16.1.41" name="nfs"/>
	    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
	    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
	</localpath>
	<rsync>
	    <commonParams params="-avz"/>
	    <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pas"/>
	    <userDefinedPort start="false" port="874"/><!-- port=874 -->


5.配置密码文件: 31使用sersync执行推送时候需要使用密码文件
[root@nfs ~]# echo 123456 > /etc/rsync.pas
[root@nfs ~]# chmod 600 /etc/rsync.pas
[root@nfs ~]# ll /etc/rsync.pas
-rw------- 1 root root 7 Mar 29 10:36 /etc/rsync.pas


-------------------------------------------------------
6.修改BACKUP服务器的配置文件增加nfs模块
[root@backup ~]# tail -3 /etc/rsyncd.conf
path = /backup
[nfs]
path = /data

创建目录
[root@backup ~]# mkdir /data
[root@backup ~]# chown  www.www /data

重启rsync服务生效
[root@backup ~]# systemctl restart rsyncd
找个客户端测试nfs模块是否正常:
web01:
[root@web01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::nfs
--------------------------------------------------------

最后一步: 运行sersync服务
[root@nfs sersync]# ./sersync2 -h 显示帮助信息

[root@nfs ~]# /server/sersync/sersync2 -dro /server/sersync/confxml.xml

查看进程:
[root@nfs ~]# ps axu|grep sersync
root       2406  0.0  0.0  92324   716 ?        Ssl  10:45   0:00 /server/sersync/sersync2 -dro /server/sersync/confxml.xml

杀死进程:
[root@nfs ~]# kill -9 2406

注意: 修改文件前先杀死进程 修改完成后在启动进程

测试: 测试在web01或者web02创建或上传视频 查看backup下面的/data是否有数据


backup服务器安装NFS服务共享/data 作为主NFS的备用服务器
1.安装nfs-utils
[root@backup ~]# yum -y install nfs-utils
2.配置nfs
[root@backup ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

3.启动nfs
[root@backup ~]# systemctl start nfs
[root@backup ~]# systemctl enable nfs

停止NFS主服务器 web01重新挂载到backup服务器

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章