回顾:
1.rsync
统一备份各个服务器的配置文件或重要文件
系统配置文件
日志文件
系统日志文件
messages、secure、cron
服务日志文件
access_log、access.log
服务配置文件/etc/rsyncd.conf、/etc/exports...
2.NFS
网络文件系统,提供共享存储服务
3.sersync
提供实时同步服务
实验组合:
1.rsync
实验环境:
rsync服务器
rsync客户机
实验需求:
rsync服务器提供同步模块,rsync客户端可以通过推拉实现数据备份
2.nfs
实验环境:
nfs服务器
nfs客户机(apache)
实验需求:
nfs服务器提供共享目录
客户机通过挂载共享目录实现web页面的访问
3.rsync+nfs
实验环境:
rsync服务器
nfs服务器(rsync客户机)
nfs客户机(apache)
实验需求:
rsync服务器提供同步模块
nfs服务器提供共享目录
客户机通过挂载共享目录,上传文件至nfs服务器
nfs服务器通过手动rsync命令将文件推送到rsync服务器上
4.rsync+sersync+nfs
实验环境:
rsync服务器
nfs服务器(rsync客户机)
nfs客户机(apache)
实验需求:
rsync服务器提供同步模块
nfs服务器提供共享目录
客户机通过挂载共享目录,上传文件至nfs服务器
nfs服务器通过sersync实时同步数据到rsync服务器
模拟nfs服务器故障,通过将rsync服务器变成nfs服务器,实现故障切换
完整实验文档
实验拓扑
实验需求
实验步骤
实验组合一:
实验步骤:
1.搭建rsync服务器
1yum install -y rsync2)修改配置文件rsyncd.conf
[[email protected]~]# cat >/etc/rsyncd.conf<
uid=rsync
gid=rsync
port=873fake super=yes
usechroot=no
max connection=200timeout=600ignore errors
read only=falselist= falseauth users=rsync_backup
secretsfile=/etc/rsync.passwdlogfile=/var/log/rsyncd.log
#!module
[backup]
comment=commit
path= /backup
EOF3mkdir /chown -R rsync.rsync /backup/echo ‘rsync_backup:1‘ > /etc/rsync.passwdchmod 600 /etc/rsync.passwd
4systemctl enable rsyncd5)验证
客户端:
安装rsync软件包
[[email protected]~]# yum install -y rsync
实验rsync-passwd rsync_backup@172.16.1.51::backup
可以使用两种方式实现免密
创建password-fileecho ‘1‘ >/etc/rsync.passwdchmod 600 /etc/rsync.passwdfile=/etc/rsync.passwd给环境变量RSYNC_PASSWORD赋值
[[email protected]~]# export RSYNC_PASSWORD=1
实验组合二:
2.搭建NFS服务器
1).安装nfs-utils,rpcbind软件包
[[email protected]~]# yum install -y nfs-utils.x86_642).启动nfs和rpcbind服务
[[email protected]~]# systemctl start rpcbind nfs &&systemctl enable nfs
注意:1.启动顺序,先rpcbind,再nfs2.rpcbind开启之后,就是永久启动,所以只需将nfs设置为永久启动3).修改配置文件/etc/exportsecho "/data 172.16.1.0/24(rw,all_squash,sync)" > /etc/exports4mkdir -p /chown -R nfsnobody.nfsnobody /data/
5arv6).验证
客户端:
安装nfs-yum install -y nfs-utils.x86_64
启动rpcbind服务
[[email protected]~]# systemctl start rpcbind
查看nfs服务端挂载信息
[[email protected]~]# showmount -e 172.16.1.41Export listfor 172.16.1.41:/data 172.16.1.0/24mount 172.16.1.41:/data /var/www/echo ‘172.16.1.41:/data /var/www/html nfs defaults 0 0‘ >> /etc/mount -a
实验组合三:
rsync+nfs
web01(nfs客户端的)配置
1)安装httpdyum install -y httpd2)启动httpd服务
systemctl start httpd&&systemctl enable httpd3)将nfs共享目录挂载到/var/www/htmlecho ‘172.16.1.41:/data /var/www/html nfs defaults 0 0‘ >> /etc/fstabmount -a
注意:
这里添加多台web服务器,操作步骤是一模一样
问题:如果nfs服务故障,会导致所有web服务器的页面都无法访问
解决方案:1.将nfs共享目录里的内容,推送至rsync服务器2.将rsync服务器临时变成nfs服务器
问题:nfs和rsync的程序用户不一致,会导致权限问题(甚至web服务器的程序用户也不一样)
解决方案:
将nfs rsync web的程序用户统一即可
操作步骤:
rsync服务器
[[email protected]~]# groupadd -g 666666 -g 666 -M -s /sbin/sed -ri ‘s#(.*)rsync$#\1www#g‘ /etc/chown -R www.www /backup/ /data/echo "/data 172.16.1.0/24(rw,all_squash,sync,anonuid=666,anongid=666)" > /etc/]# systemctl restart rsyncd
nfs服务器
[[email protected]~]# groupadd -g 666666 -g 666 -M -s /sbin/chown -R www.www /data/echo "/data 172.16.1.0/24(rw,all_squash,sync,anonuid=666,anongid=666)" > /etc/666666 -g 666 -M -s /sbin/nologin www
缺点:需要人为手动将nfs的共享目录的内容推送到rsync服务器,实现同步
4.sersync
需要在nfs服务器上安装sersync,对nfs共享目录进行实时监控,当出现文件的增加,删除,修改后,自动触发rsync
将变换后的内容推送至rsync服务器,实现实时同步
1).安装sersync
#sersync需要依赖inotify和rsync,所以需要安装对应软件
[[email protected]~]# yum install rsync inotify-tools -mkdir /server/tools -wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz
[[email protected] tools]# tar xf sersync2.5.4_64bit_binary_stable_final.tarmv GNU-Linux-x86/ /usr/local/sersync
[[email protected] tools]# cd/usr/local/sersync/
2).修改配置文件
[[email protected] sersync]# vim confxml.xml<?xml version="1.0" encoding="ISO-8859-1"?>
#监控对象 false改成true
#监控信息
#命令选项#rsync的认证信息
echo "1" >/etc/nfs.passwdchmod 600 /etc/nfs.passwd
3)启动服务
#将sersync2执行脚本链接到系统路径
[[email protected] sersync]#ln -s /usr/local/sersync/sersync2 /usr/bin/[[email protected] sersync]# sersync2-h
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________
[[email protected] sersync]# sersync2-dro /usr/local/sersync/confxml.xml
原文:https://www.cnblogs.com/xmtxh/p/12229931.html