test
Posted nsthink-666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了test相关的知识,希望对你有一定的参考价值。
第一章 实时同步服务介绍
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的主要内容,如果未能解决你的问题,请参考以下文章