码迷,mamicode.com
首页 > 其他好文 > 详细

test

时间:2020-04-26 01:55:30      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:sync   tab   blog   备份方式   删除   实时监控   存在   同步服务   moved   

第一章 实时同步服务介绍

1.1 需求背景

1.11,rsync的优点与不足
与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。
随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足。首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时的去监测、同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用故障时完全的恢复数据。基于以上原因,rsync+inotify组合出现了

1.13, 初识inotify
inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。
我们讲到,rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题。

1.14,sersync
sersync是基于前两者开发的工具,不仅保留了优点同时还强化了实时监控,文件过滤,简化配置等功能,帮助用户提高运行效率,节省时间和网络资源

1.2 rsync+inotify+sersync原理

1.21 原理图

技术图片

监控目录数据变化---inotify
将数据进行传输---rsync
将监控和传输进行整合---rersync

1.22 部署流程

1,部署好rsync守护进程服务,实现数据传输
2,部署好inotify服务,实现目录种数据变化监控
3,将rsync服务和inotify服务建立联系,将变化的数据进行实时备份传输

第二章 实时同步服务部署

2.1 部署rsync守护进程

第一步,服务端配置操作

第二步,客户端配置操作

过程参照:https://www.cnblogs.com/nsthink-666/p/12764665.html

2.2 部署inotify监控服务

客户端操作:
# 第一步 安装软件
yum install -y inotify-tools

# 第二步 熟悉命令的使用
/usr/bin/inotifywait  ---监控目录数据信息变化
/usr/bin/inotifywatch ---对监控的变化信息进行统计

# inotify命令使用方法:
inotifywait [参数] 监控的目录
-m|--monitor //实现一直监控目录的数据变化
-r|--recursive //进行递归监控
-q|--quiet //尽量减少信息的输出
--format <fmt> //指定输出的时间信息格式
-e|--event //指定监控的事件信息

# inotify常用监控命令格式:
ininotifywait -mrq --timefmt "%F" --format "%T %w %f 事件信息:%e" /data -e CREATE
常用事件:create创建、delete删除、moved_to移入、close_write修改

# inotify企业应用:防止系统重要文件被破坏,做到实时监控
用inotify进行实时监控一些重要文件:
/etc/passwd  /var/spool/cron/root

2.3 部署sersync同步服务

客户端操作:

# 第一步:下载软件包
软件链接:https://github.com/wsgzao/sersync
ps:软件尽量都同意保存在/server/tools目录中

# 第二步:解压软件压缩包,将解压的数据进行保存
[root@nfs01 tools]# unzip sersync_installdir_64bit.zip
[root@nfs01 tools]# tree sersync_installdir_64bit
sersync_installdir_64bit
└── sersync
├── bin      --- sersync软件命令目录
│    └── sersync
├── conf     --- sersync软件配置目录
│    └── confxml.xml
└── logs     --- sersync软件日志目录
[root@nfs01 tools]# mv sersync_installdir_64bit/sersync/ /usr/local/

# 第三步:编写配置文件
vim conf/confxml.xml
1
vim conf/confxml.xml
6 <filter start="false">
7 <exclude expression="(.*)\.svn"></exclude>
8 <exclude expression="(.*)\.gz"></exclude>
9 <exclude expression="^info/*"></exclude>
10 <exclude expression="^static/*"></exclude>
11 </filter>
说明:排除指定数据信息不要进行实时传输同步

test

标签:sync   tab   blog   备份方式   删除   实时监控   存在   同步服务   moved   

原文地址:https://www.cnblogs.com/nsthink-666/p/12776507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!