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