您的位置 首页 linux云计算

Sersync实时同步 集群篇(原)

Sersync实时同步 集群篇(原)

Sersync 实时同步实战(原 html)

sersync + rsync 实现linux 的实时同步

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 baimeidashu 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云计算: 白眉大叔

热门文章