30.实时备份lsync和搭建数据备份架构

1.lsync命令

  • lsync需要依赖于rsync,所以使用lsync需要对方配置rsync
步骤:
1.yum安装lsync命令
2.定制更改lsync配置文件/etc/lsyncd.conf
3.创建配置文件所需的东西,比如用户,目录等等
4.启动服务
5.配置第二台服务器的rsync,以守护进程的方式


配置文件内容和解释--表示注释:
[root@data-nfs01 ~]# cat /etc/lsyncd.conf 

--全局部分主要配置lsyncd服务,日志,pid文件.
settings {
   --※※※※※日志文件,主要查看日志文件.
   logfile    = "/var/log/lsyncd.log",
   --pid文件
   pidfile    = "/var/run/lsyncd.pid",
   --服务状态文件
   statusFile = "/var/log/lsyncd.status",
   --改为非守护进程模式,默认.rsync命令,lsyncd
   nodaemon   = true,
   --控制最多用于传输数据的进程数量 rsync进程数(最大)
   --※※※※※根据cpu核心数来 1,2倍
   maxProcesses = 2
}

--配置rsync命令,rsync服务端与客户端模式
--sync部分可以有多个.
sync {
    --指定rsync工作模式
    default.rsync,
    --※※※※※ 指定lsyncd监控目录,源目录
    source    = "/data/",
    --※※※※※ 指定目标 rsync服务端    用户名@ip地址::模块名字
    target    = "rsync_backup@172.16.1.41::backup",
    --※※※※※ 每隔15秒同步一次.
    delay     = 15,
    --rsync --delete 选项
    delete    = true,
    -- 配置rsync命令位置,rsync命令选项,
    rsync     = {
        -- 命令位置
        binary   = "/usr/bin/rsync",
        -- rsync -a选项
        archive  = true,
        -- rsync -z选项 压缩
        compress = true,
        -- ※※※※※配置rsync--password-file密码文件
        password_file = "/etc/rsync.passwd"


    }
}

2.架构实战,数据备份安全

架构图:

  • 以下搭建注意:统一使用一个用户,用户一个uid和gid,只要是共享目录统一目录名字路径

nfs搭建:

目的:内网挂载到一台数据服务器,实现数据一致性
web01,web02,web03 和 data服务器实现nfs部署


data服务器:
    1.检查软件有没有:rpm -qa| grep nfs-utils

    2.编辑配置文件: vim /etc/exports 
            写入/data/  172.16.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555) 

    3.创建uig和gid为555名字为www的用户
            groupadd -g555 www
            useradd -s /sbin/nologin -u 555 -g 555 -M  www

    4.创建/data目录,属主属组更改为www
            mkdir /data/ 

    5.启动,并检查/var/bil/nfs/etab
            systemctl enable --now nfs
            cat /var/bil/nfs/etab


三台web服务器:
    1.查看可以共享的目录
            showmount -e 172.16.1.204

    2.创建挂载点
            mkdir /img

    3.网络挂载data服务器的共享nfs目录
            mount -t nfs 172.16.1.204/data  /img

lsync搭建:

使用lsync需要先在目标服务器上搭建rsync,参考28章搭建即可,因为lsync是调用rsync使用
目的:data实时同步给backup备份服务器

backup服务器:
    1.使用守护进程搭建rsync

data服务器:
    1.安装lsync服务
            yum -y install lsync

    2.编辑配置文件/etc/lsyncd.conf(参考上方配置文件)注意--是注释
            vim /etc/lsyncd.conf

    3.创建uig和gid为555名字为www的用户
            groupadd -g555 www
            useradd -s /sbin/nologin -u 555 -g 555 -M  www

    4.启动服务
            systemctl enable --now lsync

    5.创建文件测试

如果data数据服务器挂了,backup通过nfs顶上

配置backup服务器nfs:

backup服务器:
    1.检查软件有没有:rpm -qa| grep nfs-utils

    2.编辑配置文件: vim /etc/exports 
            写入/data/  172.16.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555) 

    3.创建uig和gid为555名字为www的用户
            groupadd -g555 www
            useradd -s /sbin/nologin -u 555 -g 555 -M  www

    4.目录使用lsync共享的目录即可

    5.启动,并检查/var/bil/nfs/etab
            systemctl enable --now nfs
            cat /var/bil/nfs/etab



配置好后不通过手动挂载:
使用检测脚本+定时任务
如果data数据服务器挂了,backup通过nfs顶上

编辑一个backup.sh脚本

#!/bin/bash

showmount -e 172.16.1.206 >/dev/null

if [ $? -ne  0 ];then
umount -f /img
sleep 3
umount -f /img
sleep 3
mount -t nfs 172.16.1.204:/nfs  /img

fi

把这个脚本放在三台web服务器上,使用定时任务每5分钟检测一次

3.lrsync配置多个监控目录

把sync模块往下复制一个即可,然后根据需要配置
监控data和nfs两个目录,只要变化就推过去

[root@nfs data]# vim /etc/lsyncd.conf 
settings {
   logfile    = "/var/log/lsyncd.log",
   pidfile    = "/var/run/lsyncd.pid",
   statusFile = "/var/log/lsyncd.status",
   nodaemon   = true,
   maxProcesses = 2
}
sync {
    default.rsync,
    source    = "/data/",
    target    = "www_backup@172.16.1.204::backup",
    delay     = 1,
    delete    = true,
    rsync     = {
        binary   = "/usr/bin/rsync",
        archive  = true,
        compress = true,
        password_file = "/etc/rsync.password"
    }
sync {
    default.rsync,
    source    = "/nfs/",
    target    = "www_backup@172.16.1.204::nfs",
    delay     = 1,
    delete    = true,
    rsync     = {
        binary   = "/usr/bin/rsync",
        archive  = true,
        compress = true,
        password_file = "/etc/rsync.password"
    }
}


配置完成后重启生效
systemctl restart lsyncd
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇