集群搭建个人总结(nfs服务器与backup服务器之间的实时备份监控服务)

集群搭建nfs与backup数据实时备份之前的基础知识

了解inotify与sersync的区别

他们都是实时备份监控服务工具,原理一样,sersync的功能更强大。首先基于inotify,做nfs与backup服务器

之间的实时备份,了解搭建过程与工作原理,在步步深入。

前提:backup rsync服务端部署好

1)部署NFS客户端,定义密码变量到bashrc,同时进行推送测试

[root@nfs01 ~]# echo 'export RSYNC_PASSWORD=oldboy' >>/etc/bashrc

[root@nfs01 ~]# source /etc/bashrc

[root@nfs01 ~]# echo $RSYNC_PASSWORD

oldboy

测试推送

[root@nfs01 ~]# rsync -avz /data [email protected]::backup/

2)查看inotify支持情况

[root@nfs01 ~]# uname -r

3.10.0-957.5.1.el7.x86_64

[root@nfs01 ~]#  ls -l /proc/sys/fs/inotify/

总用量 0

-rw-r--r-- 1 root root 0 4月  19 09:45 max_queued_events

-rw-r--r-- 1 root root 0 4月  19 09:45 max_user_instances

-rw-r--r-- 1 root root 0 4月  19 09:45 max_user_watches

3)安装inotify-tools工具同时查看安装情况

yum install epel-release -y

yum install inotify-tools -y

[root@nfs01 ~]# rpm -ql inotify-tools|head -2

[root@nfs01 ~]# rpm -qa inotify-tools

4)命令参数和事件知识

5)测试实践(监控/data目录,实时同步/data目录增加情况)

inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create /data

6)思考:实现数据复制

监控哪些事件?

增 改 删 需要监控

[root@nfs01 ~]# inotifywait -mrq --format '%w%f' -e close_write,delete /data

说明:监控目录或文件的增删改只需要添加close_write,delete参数即可。close_write

      参数包含增加和修改两个意思

7)编写脚本

mkdir /server/scripts -p

rsync -az --delete /data/ [email protected]::backup

后台执行脚本的命令

[root@nfs01 /server/scripts]# /bin/sh /server/scripts/monitor1.sh & <<---“&”的作用为后台执行

=========================================================================================================================

***********集群搭建将nfs服务器的数据实时备份到backup服务器

=========================================================================================================================

前提:backup rsync服务端部署好

使用sersync部署:

1)部署NFS客户端!!!

  定义密码变量到/etc/bashrc

[root@nfs01 ~]# echo 'export RSYNC_PASSWORD=oldboy' >>/etc/bashrc

[root@nfs01 ~]# source /etc/bashrc

[root@nfs01 ~]# echo $RSYNC_PASSWORD

oldboy

2)nfs端推送到backup端测试

rsync -az /data [email protected]::backup

3)部署sersync服务(NFS)

在/server/tools/目录下用wget工具下载sersync服务的压缩包

[root@nfs01 /server/tools]# wget https://github.com/wsgzao/sersync/blob/master/sersync2.5.4_64bit_binary_stable_final.tar.gz

tar xf 命令加压到当前路径

4)移动目录

[root@nfs01 /server/tools]# mkdir /application -p

[root@nfs01 /server/tools]# mv application/sersync /application/

[root@nfs01 /server/tools]# tree /application/

5)sersync配置文件:干两件事:

完成监控配置:

vim /application/sersync/conf/confxml.xml

把里面的配置修改为和以下命令相同的意思

(inotifywait -mrq --format '%w%f' -e createFolder,close_write,delete,moveFrom,moveTo /data)

完整命令拼接:

(rsync -az /data --timeout=100 [email protected]::backup)

4)启动服务                              -------------------

[root@nfs01 /application/sersync/conf]# |../bin/sersync -h|(开启监控服务)

set the system param                    -------------------

execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches

execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events

parse the command param

_______________________________________________________

参数-d:启用守护进程模式

参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍

c参数-n: 指定开启守护线程的数量,默认为10个

参数-o:指定配置文件,默认使用confxml.xml文件

参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块

参数-m:单独启用其他模块,使用 -m socket 开启socket模块

参数-m:单独启用其他模块,使用 -m http 开启http模块

不加-m参数,则默认执行同步程序

________________________________________________________________

                                        -------------------------------------

[root@nfs01 /application/sersync/conf]# |/application/sersync/bin/sersync -d|(默认参数开启监控服务,默认参数启动守护进程)

                                        ------------------------------------- 

[root@nfs01 /application/sersync/conf]# pkill sersync(关闭监控服务)

二进制程序,不是yum安装的,所以不能systemctl start sersync

那么我们就修改配置把sersync软件以服务的形式添加到系统服务,即使用systemctl控制(使sersync服务开机自启动)

1.在/etc/rc.d/init.d/sersync目录编写脚本

[root@nfs01 ~]# vim /etc/rc.d/init.d/sersync

#!/bin/bash

# chkconfig: 2345 21 81

# description: rsync service start and stop scripts

# Author: oldboy

# Organization: www.oldboyedu.com

start(){

    /application/sersync/bin/sersync -d -o /application/sersync/conf/confxml.xml &>/dev/null

}

stop(){

    killall sersync 2>/dev/null

}

case "$1" in

    start)

        start

        ;;

    stop)

        stop

        ;;

    restart)

        stop

        sleep 2

        start

        ;;

    *)

        echo $"Usage:$0 {start|stop|restart}"

        exit 1

esac

2.给脚本添加执行权限

chmod +x /etc/rc.d/init.d/sersync

3.编辑/usr/lib/systemd/system/sersync.service

[root@nfs01 ~]# vim /usr/lib/systemd/system/sersync.service

[Unit]

Description=sersyncd service

After=network.target

[Service]

Type=forking         

ExecStart=/etc/rc.d/init.d/sersync start 

ExecReload=/etc/rc.d/init.d/sersync restart

ExecStop=/etc/rc.d/init.d/sersync stop   

PrivateTmp=true

[Install]

WantedBy=multi-user.target

4.给文件添加执行权限

chmod +x /usr/lib/systemd/system/sersync.service

5.完成

[root@nfs01 ~]# systemctl status sersync.service

[root@nfs01 ~]# systemctl restart sersync.service

[root@nfs01 ~]# systemctl enable sersync.service

查看是否启动监控程序:

[root@nfs01 ~]# ps -ef|grep sersync|grep -v grep

你可能感兴趣的:(集群搭建个人总结(nfs服务器与backup服务器之间的实时备份监控服务))