首页 > 系统相关 >linux之lsync服务

linux之lsync服务

时间:2024-12-05 21:42:57浏览次数:3  
标签:rsync 服务 lsyncd lsync root 172.16 nfs linux backup

Lsync服务

  • Lrsync来监视对本地文件和目录的更改

  • Lsyncd是一个轻量级的实时镜像解决方案,同步方式rsync

  • 安装容易,配置使用lua语言

  • Lsyncd 2.2.1需要在所有源机器和目标机器上rsync >= 3.1

1.安装
2.配置
3.创建必要的数据目录文件
4.启动
5.测试

#安装版本 lsyncd>2.2.1 rsync>=3.1
[root@nfs ~]# lsyncd --version
Version: 2.2.3 
[root@nfs ~]# rsync --version
rsync  version 3.1.3  protocol version 31

#安装
[root@nfs ~]# yum install lsyncd

#配置 lua脚本语法
[root@nfs ~]# cat /etc/lsyncd.conf
settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd-status.log",
    --statusInterval = 2, --2秒同步一次
    maxProcesses = 1, --当前主机处理同步任务的线程,一般与内核一样
    nodaemon = false, --启动守护进程模式
}

sync {
   default.rsync,
   source="/data",
   target="rsync_backup@172.16.1.41::backup",
   delete=true, --使用rsync --delete同步
   delay=1,     --1秒同步一次
   rsync = {
      binary = "/usr/bin/rsync",
      password_file = "/etc/rsyncd.pwd", --lsyncd服务,通过rsync服务,向41服务器同步,使用的密码文件 权限为600
      archive = true,
      compress = true,
   }
}

#修改rsyncd.pwd密码权限
chmod 600 /etc/rsyncd.pwd

#创建/data目录,此目录是web网站挂载的目录,权限是nfs进程虚拟用户www
mkdir /data && chown www.www /data

lsyncd -rsync 1.png rsync_backup@172.16.1.41::backup

基于NFS、Lsyncd部署案例

image

1.web服务器 172.16.1.7
2.nfs服务器 172.16.1.31
3.backup服务器 172.16.1.41
4.测试均需关闭防火墙及selinux

1. web
yum -y install nfs-utils
mount -t nfs 172.16.1.31:/data

2.0 nfs
#添加nfs进程虚拟用户www uid 777 gid 777
groupadd -g 777 www && useradd -u777 -g777 -M -s /sbin/nologin www

#安装nfs
yum -y install nfs-utils

#编辑nfs配置文件并写入
/data 172.16.1.0/24(rw,all_squash,anonuid=777,anongid=777)

#查看/var/lib/nfs/etab 是否共享成功
[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=777,anongid=777,sec=sys,rw,secure,root_squash,all_squash)

#创建data并修改属主属组
mkdir /data && chown www.www /data

#启动nfs
systemctl start nfs
systemctl enable nfs

#在web上查看并挂载
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /www/
[root@web01 ~]# tail -1 /proc/mounts 
172.16.1.31:/data /www nfs4 rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.7,local_lock=none,addr=172.16.1.31 0 0
[root@web01 ~]# df -h |grep data
172.16.1.31:/data   49G  3.8G   46G   8% /www

#在web测试写入
[root@web01 ~]# echo hello> /www/index.html
#在nfs查看
[root@nfs ~]# ll /data/ |grep index
-rw-r--r-- 1 www    www    6 Dec  5 11:52 index.html

2.1 nfs 服务器部署lsyncd服务(提前在backup服务器部署rsyncd服务)
#安装lsyncd服务
yum -y install lsyncd

#配置 使用lua脚本语法
[root@nfs ~]# cat /etc/lsyncd.conf
settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd-status.log",
    --statusInterval = 2,
    maxProcesses = 1,
    nodaemon = false,
}

sync {
   default.rsync,
   source="/data", #data目录在nfs服务部署时 已创建
   target="rsync_backup@172.16.1.41::backup", #bakcup服务器配置的账号密码
   delete=true,
   delay=1,
   rsync = {
      binary = "/usr/bin/rsync",
      password_file = "/etc/rsyncd.pwd", #本地连接backup rsyncd服务身份认证密码文件 权限600
      archive = true,
      compress = true,
   }
}

#启动lsyncd服务
systemctl start lsyncd
systemctl enable lsyncd

3. backup
#安装
yum -y install 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 = false
 auth users = rsync_backup 
 secrets file = /etc/rsync.passwd 
 log file = /var/log/rsyncd.log
 
 [backup] 
 path = /backup

#rsyncd服务端账号密码文件及权限600
[root@backup ~]# cat /etc/rsync.passwd 
rsync_backup:123456 
[root@backup ~]# ll /etc/rsync.passwd 
-rw------- 1 root root 20 Dec  4 11:10 /etc/rsync.passwd 

#启动服务
systemctl start rsyncd
systemctl enable rsyncd

5. 测试从web服务器的www目录,创建文件,看是否实时同步到backup服务器

6. 模拟nfs服务器挂了,web服务器自动切换挂载到backup服务器nfs
#在backup服务器部署nfs服务
[root@backup ~]# yum -y install nfs-utils
[root@backup ~]# systemctl start nfs
[root@backup ~]#  rpcinfo -p |grep nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
#配置
[root@backup ~]# cat /etc/exports
/backup 172.16.1.41(rw,sync,all_squash,anonuid=777,anongid=777)

[root@backup ~]# showmount -e
Export list for backup:
/backup 172.16.1.41

#web服务器测试挂载
[root@web01 ~]# mount -t nfs 172.16.1.41:/backup /www
[root@web01 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             459M     0  459M   0% /dev
tmpfs                475M     0  475M   0% /dev/shm
tmpfs                475M   13M  462M   3% /run
tmpfs                475M     0  475M   0% /sys/fs/cgroup
/dev/sda3             49G  3.8G   46G   8% /
tmpfs                475M     0  475M   0% /tmp
/dev/sda1            195M  122M   74M  63% /boot
tmpfs                 95M     0   95M   0% /run/user/0
172.16.1.41:/backup   49G  3.8G   46G   8% /www

#正常情况下web挂载nfs服务器,现在主动让nfs网卡离线,由web服务器监控脚本检测到nfs挂载失败,自动切换backup服务器的nfs服务
[root@web01 script]# cat monitor_nfs_health.sh 
#!/bin/bash

showmount -e 172.16.1.31

if [ $? -eq 1 ];then
    umount -f /www
    sleep 1
    mount -t nfs 172.16.1.41:/backup /www
fi

#写入定时任务
#nfs health monitor task
*/1 * * * * sh /server/script/monitor_nfs_health.sh

NFS、Lsyncd服务
基于web服务器、nfs服务器、backup服务器联动部署,从web挂载nfs实时同步backup。

标签:rsync,服务,lsyncd,lsync,root,172.16,nfs,linux,backup
From: https://www.cnblogs.com/sharecorner/p/18589473

相关文章

  • 【C语言】在 Linux 终端编写、编译并运行 Hello world 程序
    步骤创建并打开hello-world文件夹mkdirhello-worldcdhello-world使用vim创建main.cvimmain.c写入代码并保存#include<stdio.h>intmain(){printf("Hello,world!\n");return0;}#include<stdio.h>是一个预处理命令,用于包含标准输入输......
  • 电商项目-微服务网关使用的问题
    一、微服务网关跨域问题项目采用前后端分离架构,前段存在自己的前段系统,并且会单独部署,同样后端系统也都是单独部署,这样就一定存在跨域问题。可以在controller类上添加注解来进行解决,但是现在的访问都是基于网关进行操作,所以还需要在网关系统上对跨域问题进行解决......
  • SSM汽车4S店服务管理系统rn6a1程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着汽车市场的日益繁荣,汽车4S店作为汽车销售与服务的重要渠道,其服务质量和效率直接影响到客户的满意度和企业的竞争力。然而,传统的服......
  • 电商项目-微服务网关介绍
    一、微服务网关Gateway介绍在本项目中采用微服务架构开发,所以当前项目中存在很多微服务,不同的微服务一般部署在不同的服务器,因此每一个服务都会有自己的网络地址,假设当客户端要完成某一个功能的时候,它可能需要调用多个服务才能完成,如果让客户端直接与各个微服务......
  • 抖音服务器带宽有多大,才能供上亿人同时刷?
    每天无数人拿起手机,打开抖音,滑动指尖,短视频接踵而来。你是否想过,当我们尽情刷视频时,抖音的服务器背后在经历怎样的“狂风暴雨”?一个平台同时支撑上亿用户实时访问,服务器的带宽需求究竟有多夸张?抖音究竟是如何实现如此庞大的并发支持?它的服务器带宽究竟有多大,才能确保每个人在......
  • 在 Windows 10 11中,索引文件功能(Windows Search Indexing )是通过 Windows 搜索服务提
    在Windows10和Windows11中,索引文件功能的英文全称是"WindowsSearchIndexing",简称为"WindowsSearch"或"SearchIndexing"。英文全称: WindowsSearchIndexing简称: WindowsSearch 或 SearchIndexing该功能用于加速文件和数据的搜索,通过创建一个索引数据库......
  • Connected User Experiences and Telemetry 服务是 Windows 操作系统中的一个系统服务
    ConnectedUserExperiencesandTelemetry服务是Windows操作系统中的一个系统服务,旨在收集有关用户设备使用情况、性能、错误报告等的数据,并将这些信息传输回微软。这些数据有助于微软改进操作系统和其他应用程序的性能、稳定性和安全性。具体功能用户体验数据收集:该服......
  • 上千人挑战,用通义灵码从 0 开始打造一款 App 爆火 | 第二课:搭建本机服务
    通义灵码携手科技博主@玺哥超carry打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。上节课我们完成了从0开始打造一款App的前端代码的生成,超过1000多人参与体验互动,反响非常好!本节课我......
  • 上千人挑战,用通义灵码从 0 开始打造一款 App 爆火 | 第二课:搭建本机服务
    通义灵码携手科技博主@玺哥超carry打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。上节课我们完成了从0开始打造一款App的前端代码的生成,超过1000多人参与体验互动,反响非常好!本节课我......
  • 上千人挑战,用通义灵码从 0 开始打造一款 App 爆火 | 第二课:搭建本机服务
    通义灵码携手科技博主@玺哥超carry打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。上节课我们完成了从0开始打造一款App的前端代码的生成,超过1000多人参与体验互动,反响非常好!本节课我......