搭建远程容灾备份系统

简介:

           搭建远程容灾备份系统

操作系统:centos 5.8

A系统IP地址:192.168.0.189

B系统IP地址:192.168.0.196

1:在A,B上安装rysnc:

[root@varnish ~]# tar zxvf rsync-3.0.9.tar.gz

[root@varnish ~]# cd rsync-3.0.9
[root@varnish rsync-3.0.9]# ./configure && make && make install

2:在A系统上配置rsync:

rsync的配置文件为/etc/rysncd.conf,在安装完rysnc时,默认是没有这个配置文件的,手动建立一个即可。rsyncd.conf文件有一个或多个模块结构构成,包括全局参数和模块参数。一个模块定义从方括弧中的模块名开始,直到下一个模块的定义开始。配置内容如下:

[root@varnish ~]# vi /etc/rsyncd.conf

uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log


uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log


[51auto]
path = /webdata
comment = 51auto file
ignore errors
read only = no
write only = no
hosts allow = *
hosts deny = 192.168.0.199
list = false
uid = root
gid = root
auth users = backup
secrets file = /etc/server.passwd

#########################################################

其中:/etc/server.passwd 中的内容如下:##需要手动建立

[root@varnish ~]# more /etc/server.passwd 
backup:51auto666

[root@varnish ~]# chmod 600 /etc/server.passwd

————————————————————————————————

上面每个选项的含义:

uid:此选项指定当该模块传输文件时守护进程应该具有的用户ID,默认值是nobody。

gid:同上,具有的用户组ID

max connection ,此选向指定模块的最大并发连接数,以保护服务器。超过限制的连接请求将被暂时限制,默认值是0,即没有限制。

strict modes ,此选项指定是否检查口令文件的权限,yes为检查口令文件权限,反之为no。如果设置为yes,密码文件的权限必须为root用户权限。

pid  file ,指定rysnc的守护进程对应发的pid文件路径。

lock file ,指定支持max connection 的锁文件,默认值是/var/run/rsyncd.lock

log file ,指定rsync的日志输出文件路径。

[51auto],表示定义一个模块的开始,51auto就是对应的模块名。

path,指定需要备份的文件或目录,是必须设置的项。

ignore errors ,表示可以忽略一些无关的I/O 错误。

read only ,设置为no表示客户端可以上传文件,设置为yes 表示只读。

write only ,设置为no表示客户端可以下载文件,设置为yes 表示不能下载。

hosts allow ,设置可以连接rsync 服务器的主机,* 表示允许连接任何主机。

hosts deny ,设置禁止连接的主机IP。

list ,此选项用于设置当客户端请求可以使用的模块列表时,该模块是否被列出,默认值是true,如果需要建立隐藏的模块,可以设置为false。

vauth users ,此选项用来定义可以该模块的用户名。多个用户以空格或逗号分隔开,需要注意的是这里的用户和linux系统的用户没有任何关系。这里指定的用户是backup

secrets file ,此选项用于指定一个包含“用户名:密码”格式的文件,用户名就是auth users 选项定义的用户,密码可以随便指定。只要和客户端的scrects file对应起来即可

3:在A系统上启动rsync守护进程:

[root@varnish ~]# /usr/local/bin/rsync --daemon
[root@varnish ~]# ps -ef|grep rsync
root     28544     1  0 22:10 ?        00:00:00 /usr/local/bin/rsync --daemon

4:在B系统上配置rsync:

在备份机上不用做任何的设置,只需执行rsync同步的操作即可。为了在同步过程中不用输入密码,需要在B系统上创建一个secrets file,此文件的内容为A系统rsyncd.conf文件中 “auth users”选项指定的用户的密码。而这个文件的名称及路径可以随意指定。只要在执行rsync同步时指定即可。

执行同步操作的具体指令如下:

[root@varnish-web1 ~]# /usr/local/bin/rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "*debug*" backup@192.168.0.189::51auto /51auto.net --password-file=/etc/server.passwd

##其中/51auto.net 这个目录不用手动创建,当执行该命令时会自动创建。

其中,B服务器(客户端系统)中/etc/server.passwd的内容如下:

[root@varnish-web1 ~]# more /etc/server.passwd 
51auto666
[root@varnish-web1 ~]# chmod 600 /etc/server.passwd

这条指令的含义具体如下:

在“-vzrtopg”中,v是“--verbose”,即详细输出模式;z表示“--compress”,即在传输时对备份的文件进行压缩处理;r,表示“--recursive”,也就是对子目录以递归的模式处理;t即“--times”,用来保持文件时间信息;o即“--owner”,用来保持文件属主信息;p即“--perms”,用来保持文件的权限;g即表示“--group”,用来保持文件的属组信息。

--delete ,指定以rsync服务器端为基准进行数据镜像同步,也就是要保持rsync服务器端目录与客户端目录完全一致。在这里以A服务器为基准进行同步。

--progress ,用于显示数据镜像同步的过程。

--exclude ,用于排除不需要传输的文件的类型。

backup@192.168.0.189::51auto ,表示对服务器189的51auto模块进行备份。也就是指定备份的模块。backup指定用“backup”这个用户对该模块进行备份。

/51auto.net ,用于指定备份文件在客户端机器上的存放路径。

--password-file,用于指定客户机上存放密码文件的位置,这样在客户端执行同步命令时就无需输入交互密码。注意这个文件的名称和位置可以随意指定,但在客户机上要存在此文件。

##如果配置没有错误的话,接下来rsync自动将服务器端的(即A系统)需要备份的数据同步到客户端。rsync指令在客户端执行完数据同步后,将自动停止,以后服务器端目录下有新的数据增加,客户端不会自动同步的。此时还需再次执行rsync的命令。

5:设定备份策略:

我们知道rsync方式的数据备份需要触发同步指令才能完成,触发同步指令的方式有很多种。例如:可以讲同步指令放入客户端的系统的crontab守护进程,设定同步的时间,然后让linux系统触发同步指令,自动完成数据备份。

假如每5分钟同步一次,在B服务器写入crontab -e中。内容如下:


5 * * * * /usr/local/bin/rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "*debug*" backup@192.168.0.189::51auto /51auto.net --password-file=/etc/server.passwd

###############################################

OK Done!!!










本文转自 kuchuli 51CTO博客,原文链接:http://blog.51cto.com/lgdvsehome/826463,如需转载请自行联系原作者
目录
相关文章
|
11月前
|
JavaScript 前端开发
VUE学习三:双向绑定指令(v-mode)、组件化开发(全局组件/局部组卷/组件通信)、组件化高级(slot插槽使用)
这篇文章是关于Vue.js框架中的v-model指令和组件化开发的详细教程,涵盖了从基础使用到高级功能的多个方面。
217 1
|
10月前
|
缓存 JavaScript 前端开发
优化 Redux 的性能
【10月更文挑战第26天】通过以上多种方法的综合运用,可以有效地优化 Redux 的性能,提高应用程序的响应速度和用户体验。在实际项目中,需要根据具体的业务需求和性能瓶颈,有针对性地选择和应用这些优化策略,不断地进行性能调优和改进。
282 24
|
9月前
|
DataWorks 数据可视化 搜索推荐
DataWorks产品体验与评测报告
DataWorks是一款全面的大数据开发治理平台,通过最佳实践测评,展示了其在用户画像分析、数据管理和开发效率提升等方面的强大功能。体验过程中,虽遇到开通流程繁琐、文档不足等问题,但整体功能满足预期。建议增强实时数据处理能力和数据可视化功能,以进一步提升用户体验。与同类工具相比,DataWorks在功能全面性、性能和开放性上表现突出,但也需优化界面设计和价格策略。新版Data Studio中的Notebook和智能助手Copilot提供了优秀的交互式编程和智能辅助,但仍需改善稳定性和集成度。
|
11月前
|
存储 Kubernetes 数据安全/隐私保护
k8s学习--Secret详细解释与应用
Secret 支持四种类型: - **Opaque Secrets**:存储任意类型机密数据,需自行加密。 - **Service Account Token Secrets**:自动管理 API 访问令牌。 - **Docker Registry Secrets**:存储 Docker 私有仓库认证信息。 - **TLS Secrets**:存储 TLS 证书和私钥,用于加密通信。
996 0
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何配置Connector来保持与MySOL一致
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Web App开发 前端开发 JavaScript
React的内存回收方式有哪些
【7月更文挑战第15天】 React内存管理依赖JS的垃圾回收,利用标记-清除算法释放无用对象。组件卸载时,通过`componentWillUnmount`(类组件)或`useEffect`(函数组件)执行清理。Hooks如`useMemo`和`useCallback`减少不必要的内存分配。避免内存泄漏的关键是及时清理副作用和资源。使用Chrome DevTools进行内存分析可提升性能和应用稳定性。
424 7
|
API 数据安全/隐私保护 开发者
​收不到验证码邮件该怎么办?
在日常生活中,收不到邮箱验证码会带来不便。解决方法包括:检查垃圾邮件文件夹并调整过滤设置;确认邮箱地址无误或使用备用邮箱;检查邮箱存储空间并设置自动清理;了解邮件服务提供商状态或尝试其他服务。使用AOKSend可确保验证码邮件顺利送达:注册账户,获取API密钥,配置SMTP设置,并利用分析工具优化邮件发送策略。遵循这些建议,能有效解决收不到验证码的问题。
|
存储 缓存 前端开发
学习和理解前端缓存
前端缓存通过存储重复资源提升网页加载速度,减少服务器压力,优化用户体验。它涉及静态资源(如图片、CSS、JS)的HTTP缓存,动态数据(使用`localStorage`、`IndexedDB`)缓存,用户登录态、页面状态管理,以及预加载缓存。实现方式包括HTTP缓存(强缓存、协商缓存),浏览器存储(localStorage、sessionStorage、IndexedDB),Service Worker和Cache API。在项目中,应根据资源特性和需求选择合适的缓存策略。
|
网络协议 网络架构
TCP-IP四层模型是什么
TCP-IP四层模型是什么
|
JavaScript 前端开发 中间件
redux 有什么优缺点
redux 有什么优缺点
363 0