Linux数据相关-第3个服务-实时同步sersync

news2025/1/12 13:09:51

1、实时同步

背景:

  • 之前我们通过rsync + 定时任务实现定时备份/同步
  • 对于NFS我们需要进行实时同步

选择

  • 分布式存储.。
  • 使用实时同步服务+NFS。
  • 选择公有云对象存储,七牛存储,腾讯存储COS

选择:nfs+实时同步工具

  • inotify(bug需要书写脚本,不推荐使用.):是个命令监控指定目录是否发生变化
  • sersync(国产开源,内置inotify+rsync命令,一个命令+一个配置文件)
  • lsyncd(目前一些公司在使用,课后研究.)

2、Sersync原理

在这里插入图片描述

3、Sersync同步架构

需求:

用户上传文件到web服务器,web服务器挂载nfs,nfs实时同步到备份服务器上.

[项目架构]

项目三步走:

1、配置rsync服务端和客户端

2、配置sersync监控

3、配置NFS服务端和客户端

在这里插入图片描述

4、极速上手指南

4.1、rsync服务准备

a)rsync服务端(backup)
yum install -y rsync
#配置文件
[root@backup ~]# cat /etc/rsyncd.conf 
#created by linux 2024-09-13
##rsyncd.conf start ##
fake super =yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
#hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[nfsbackup]
comment = Real-time synchronization by 14:18 2024-9-13
path = /nfsbackup
#1、添加虚拟用户,用于进程
useradd -s /sbin/nologin -M rsync
#2、创建密码文件,并且修改600权限
echo 'rsync_backup:1' > /etc/rsync.password
chmod 600 /etc/rsync.password 
#3、创建数据文件,修改目录所有者
chown rsync.rsync /nfsbackup
systemctl start rsyncd
systemctl enable rsyncd
b)rsync客户端(nfs01)
echo '1' > /etc/client.rsync
chmod 600 /etc/client.rsync
rsync -avz /etc/passwd rsync_backup@172.16.1.41::nfsbackup --pasword-file=/etc/client.rsync

4.2、sersync部署使用

软件包下载:sersync2.5.4_64bit_binary_stable_final.tar.gz
https://cloud.189.cn/web/share?code=3YZjqmRFJnAv(访问码:bu4i)

sersync Github主页:一键指南

a)部署

#解压目录
├── GNU-Linux-x86
│   ├── confxml.xml
│   └── sersync2
└── sersync2.5.4_64bit_binary_stable_final.tar.gz
#目录规划
/app/tools/sersync
├── bin
│   └── sersync2
└── conf
    └── confxml.xml
b)配置详解
#备份
cp /app/tools/sersync/conf/confxml.xml{,.bak}
#比较修改前和修改后的区别
cd /app/tools/sersync/conf/
vimdiff confxml.xml confxml.xml.bak

在这里插入图片描述

配置详解:

在这里插入图片描述

c)启动sersync

#二进制安装不能systemctl启动,要软连接到/bin或者修改PATH
#创建软连接
ln -s /app/tools/sersync/bin/sersync2 /bin
​
[root@nfs01 bin]# ll -a | grep '/app/tools/'
lrwxrwxrwx   1 root root        31 220 11:54 sersync2 -> /app/tools/sersync/bin/sersync2
#启动服务端
sersync2 -rdo /app/tools/sersync/conf/confxml.xml 
​
[root@nfs01 ~]# ps -ef | grep sersync
root     21905     1  0 11:58 ?        00:00:00 sersync2 -rdo /app/tools/sersync/conf/confxml.xml
#关闭服务需要使用kill+pid或pkill+进程名

在这里插入图片描述

#测试服务
#客户端监看
watch ls -l /nfsbackup/

4.3、接入nfs服务

#服务端
yum install -y nfs-utils
vim /etc/exports
chown nfsnobody.nfsnobody /data/
systemctl reload nfs
#客户端
yum install -y nfs-utils
mount -t nfs 172.16.1.31:/data/ /upload

踩坑指南:

nfs服务的时候,在自己的目录下挂载自己,属于搬起石头砸自己的脚。

[root@web01 upload]# mount -t nfs 10.0.0.12:/data/ /upload

4.4、联调

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2133629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3D点云目标检测数据集标注工具 保姆级教程——CVAT (附json转kitti代码)

前言: 笔者尝试过很多3D标注软件都遇到很多问题,例如CloudCompare不适合做3D目标检测的数据集而且分割地面的时很繁琐;labelCloud没有三视图,视角难以调整标得不够精确;SUSTechPOINTS换帧麻烦、输出时存储在docker里面…

每日OJ_牛客_数字统计(简单模拟)

目录 牛客_数字统计(简单模拟) 解析代码 牛客_数字统计(简单模拟) [NOIP2010]数字统计_牛客题霸_牛客网 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如给定范围[2, 22],数字2在数…

sipp模拟uas发送reinvite

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 在更新了sipp模拟update的配置方案之后,我希望对比一下fs对update和reinvite的处理流程。 本文档记录sipp的配置方案,该方案中包含了update和reinvite的信令。 环境 CentOS 7.9 freeswitch 1…

Linux入门攻坚——32、Mini Linux制作

制作一个mini linux,需要对linux的启动流程很熟悉,这里又一次学习Linux的启动过程。 启动流程:CentOS 6 / 5: POST -->BootSequence(BIOS) --> BootLoader --> kernel (ramdisk) --> rootfs --> /sbin/init …

MySQL——数据类型(二)

目录 一、日期与时间类型 1.1 date 1.2 datetime 1.3 timestamp 二、枚举和联合 2.1 enum 2.2 set 2.2.1 set 的插入 2.2.2 set 的查找 思维导图可以参考如下链接: 数据类型.xmind 夜夜亮晶晶/MySQL - Gitee.com 一、日期与时间类型 1.1 date 日期 yyy…

2024 年最佳 Chrome 验证码扩展,解决 reCAPTCHA 问题

验证码,特别是 reCAPTCHA,已成为在线安全的不可或缺的一部分。虽然它们在区分人类和机器人方面起着至关重要的作用,但它们也可能成为合法用户和从事网络自动化的企业的主要障碍。无论您是试图简化在线体验的个人,还是依赖自动化工…

easy-es动态索引支持

背景 很多项目目前都引入了es,由于es弥补了mysql存储及搜索查询的局限性,随着技术的不断迭代,原生的es客户端使用比较繁琐不直观,上手代价有点大,所以easy-es框架就面世了,学习成本很低,有空大…

Ubuntu下安装最新版本Apache2文件服务器

文章目录 1.最新版本Apache2安装2. Apache2配置2.1 端口配置2.2 创建软连接,生成文件服务2.3 隐藏Apache2服务版本号2.4 添加用户,设置Apache2文件服务密码2.5 重启Apache2服务3. 执行后效果 1.最新版本Apache2安装 注意:安装最新版本必须升级Ubuntu为20…

Linux 中System V IPC的共享内存

1. 概念介绍 System V IPC(Inter-Process Communication)是一组在UNIX系统中用于进程间通信的机制,包括共享内存、消息队列和信号量。这些机制由System V内核提供,并且它们的存在不依赖于创建它们的进程,而是由内核管…

JSON数组

数组作为JSON对象 ["Google","Runoob","Taobao"] JSON数组在中括号中书写。 中括号[]保存的数组是值(value)的有序集合。一个数组以左中括号[开始,右中括号]结束,值之间使用逗号,分隔…

【第28章】Spring Cloud之Sentinel注解支持

文章目录 前言一、注解埋点支持二、SentinelResource 注解三、实战1. 准备2. 纯资源定义3. 添加资源配置 四、熔断(fallback)1. 业务代码1.1 Controller1.2 Service1.3 ServiceImpl 2. 熔断配置3. 熔断测试 总结 前言 上一章我们已经完成了对Sentinel的适配工作,这…

物联网架构

1 三层架构 三层架构就像我们拿着一个设备,通过网络直接连接到服务器获取结果,步骤简单。 举个例子:智能家居的温度监控系统 1. 感知层(设备与传感器) 在智能家居系统中,温度传感器被安装在家里的各个房间…

数据结构C //线性表(顺序表)ADT结构及相关函数

数据结构(C语言版)严蔚敏 吴伟民 线性表(顺序表)ADT结构及相关函数 环境:Linux Ubuntu(云服务器) 工具:vim 代码块(头文件,函数文件,主文件&am…

JVM字节码与局部变量表

文章目录 局部变量表javap字节码指令分类 指令指令数据类型前缀加载和存储指令加载常量算术指令其他指令 字节码示例说明 局部变量表 每个线程的帧栈是独立的,每个线程中的方法调用会产生栈帧,栈帧中保存着方法执行的信息,例如局部变量表。 …

Alinx MPSoC驱动开发第11章异步IO实验按下按键报IO Possibile后结束进程

实验现象 使用Alinux官方提供的驱动和应用程序代码,petalinux工程基于自身需要进行了一定的修改(主要是SD卡根文件系统)。在把petalinux工程编译后打包的boot.scr、BOOT.BIN、image.ub放入FAT分区,把驱动程序与应用程序放在NFS共享…

万界星空科技电池MES具体功能及解决方案

电池的生产工艺具有高度的复杂性和精细度。从原材料的准备、电池的组装到最终的测试与包装,每一道工序都需要严格控制,以确保产品的质量和性能。 万界星空科技在电池MES(制造执行系统)领域提供了全面的解决方案,这些解…

JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)

前言 我们想要部署一个javaWeb项目到tomcat上,需要了解一些概念 什么是tomcat? Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages(…

在 PyCharm 中配置 Anaconda 环境

1. 安装 Anaconda 如果尚未安装 Anaconda,你可以从 Anaconda 官方网站 下载或者从清华镜像网站下载并安装适合你操作系统的版本。 2. 创建 Anaconda 虚拟环境 打开 Anaconda Prompt(Windows)或终端(macOS/Linux)。 …

EmguCV学习笔记 VB.Net 11.6 图像分割

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

如何升级用 Helm 安装的极狐GitLab Runner?

本分分享如何对 Helm 安装的 Runner 进行升级。整个过程分为三步:1、确定 Runner 最新版本或者想要升级的版本是否存在;2、用 Helm upgrade 命令进行升级;3、升级确认。 极狐GitLab 为 GitLab 的中国发行版,中文版本对中国用户更…