• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

【Linux运维架构】Sersync实时同步架构实战

Linux架构 lixian 4年前 (2020-02-17) 852次浏览 2个评论 扫描二维码
文章目录[隐藏]

项目架构图

【Linux运维架构】Sersync实时同步架构实战

环境准备

【Linux运维架构】Sersync实时同步架构实战

一、web01客户端配置:

1.安装web服务httpd和PHP

[root@web01 ~]# yum install -y httpd php

2.创建www用户

[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3.修改httpd配置文件参数user和group改为www

[root@web01 /var/www/html]# vim /etc/httpd/conf/httpd.conf
User www
Group www
[root@web01 /var/www/html]# systemctl restart httpd

4.部署web项目

[root@web01 ~]# cd /var/www/html/
[root@web01 /var/www/html]# wget https://www.lixian.fun/data/kaoshi.zip
[root@web01 /var/www/html]# unzip kaoshi.zip
[root@web01 /var/www/html]# chown -R www:www /var/www/html/
[root@web01 /var/www/html]# systemctl restart httpd

二、NFS服务器配置:

1.安装nfs和rpcbind

[root@nfs ~]# yum install -y nfs-utils rpcbind

2.创建www用户

[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3.创建data目录

[root@nfs ~]# mkdir /data
[root@nfs ~]# chown -R www:www /data/

4.编写nfs配置文件

[root@nfs ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

5.检验nfs配置文件是否成功

[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# cat /var/lib/nfs/etab 
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)

三、web01客户端挂载:

1.查看NFS服务器有哪些可挂载点

[root@web01 /var/www/html]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

2.挂载目录并检查

[root@web01 /var/www/html]# mount -t nfs 172.16.1.31:/data /var/www/html/upload
[root@web01 /var/www/html]# df -h
172.16.1.31:/data   18G  1.5G   17G   9% /var/www/html/upload

四、backup服务器配置:

1.安装rsync服务

[root@backup ~]# yum install -y rsync

2.创建www用户

[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3.创建backup目录

[root@backup ~]# mkdir /backup
[root@backup ~]# chown -R www:www /backup/

4.编写rsync虚拟用户密码文件

[root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd

5.编写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 = true
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
[backup]
comment = welcome to oldboyedu backup!
path = /backup

6.启动rsync服务

[root@backup ~]# systemctl restart rsyncd

五、NFS服务器安装配置sersync:

1.安装rsync和inotify

[root@nfs ~]# yum install rsync inotify-tools

2.下载sersync

[root@nfs ~]# wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

3.对sersync压缩包解压、移动、重命名操作

[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync

4.修改sersync的配置文件

[root@nfs ~]# vim /usr/local/sersync/confxml.xml
#修改confxml.xml配置文件以下几个参数
<inotify>
        <!--把inotify所有参数的值改为true-->
        <delete start="true"/>
        <createFolder start="true"/>
        <createFile start="true"/>
        <closeWrite start="true"/>
        <moveFrom start="true"/>
        <moveTo start="true"/>
        <attrib start="true"/>
        <modify start="true"/>
    </inotify>

    <sersync>
        <!--watch的值为所要检测的目录,也就是nfs服务器上的/data目录-->
        <localpath watch="/data">
            <!--ip地址为backup服务器ip,name为backup服务器rsync的模块名-->
            <remote ip="172.16.1.41" name="backup"/>
        </localpath>
        <rsync>
            <!--params参数为-az-->
            <commonParams params="-az"/>
            <!--true开启,users为backup服务器rsync的虚拟用户,passwordfile为虚拟用户密码文件-->
            <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.passwd"/>
            <userDefinedPort start="false" port="874"/><!-- port=874 -->
            <timeout start="false" time="100"/><!-- timeout=100 -->
            <ssh start="false"/>
        </rsync>

5.编写rsync密码文件

[root@nfs ~]# echo "123456" >/etc/rsync.passwd
[root@nfs ~]# chmod 600 /etc/rsync.passwd 

6.启动sersync

[root@nfs ~]# /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml

六、验证

1.浏览器访问10.0.0.7 上传文件
2.查看web01客户端/var/www/html/upload目录有没有上传的文件,如果有,则成功。
3.查看nfs服务器/data目录有没有上传的文件,如果有,则成功。
4.查看backup服务器/backup目录有没有上传的文件,如果有,则成功。


本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:【Linux运维架构】Sersync实时同步架构实战
喜欢 (38)

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽
  1. lixian
    自己给自己点个赞!好好哈哈哈哈哈哈哈哈哈哈哈哈嗝~ :mrgreen:
    lixian2020-02-17 23:28
  2. Great content! Super high-quality! Keep it up! :)