2019-07-08

                                nfs共享实时同步

一,开始部署NFS服务器端nfs共享

第一步:NFS软件包安装
yum -y install nfs-utils rpcbind
第二步:创建uid=666,gid=666的用户nfsnobody
[root@nfs01 ~]# useradd -u 666 -s /sbin/nologin -M nfsnobody
[root@nfs01 ~]# id nfsnobody
uid=666(nfsnobody) gid=666(nfsnobody) 组=666(nfsnobody)
第三步:修改/etc/exports配置文件
[root@nfs /]# vim  /etc/exports
/data   172.16.1.0/24(rw,sync)
/data/r  172.16.1.0/24(ro,sync,all_squash)
/data/w  172.16.1.0/24(rw,sync,all_squash)
~                                                                               
~                                                                               
~                                                                               
"/etc/exports" 3L, 117C written                      
第四步:启动NFS相关服务
[root@nfs01 ~]# /etc/init.d/rpcbind start
正在启动 rpcbind:                                         [确定]
[root@nfs01 ~]# /etc/init.d/nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
Starting RPC idmapd:                                       [  OK  ]
[root@nfs01 ~]# 
第五步:设置共享目录/data的属主和属组为指定用户
[root@nfs01 ~]# chown -R nfsnobody.nfsnobody/data
[root@nfs01 ~]# ll -d /data
drwxr-xr-x. 2 nfsnobody nfsnobody 4096 7月  20 11:36 /data
第六步:进行本地挂载测试
[root@nfs01 ~]# mount 172.16.1.31:/data /mnt
[root@nfs01 ~]# ll -d /mnt
drwxr-xr-x. 2 chensiqi chensiqi 4096 7月  20 12:14 /mnt
[root@nfs ~]# df
Filesystem        1K-blocks    Used Available Use% Mounted on
/dev/sda3          19706880 1843236  17863644  10% /
devtmpfs             487952       0    487952   0% /dev
tmpfs                498976       0    498976   0% /dev/shm
tmpfs                498976    7884    491092   2% /run
tmpfs                498976       0    498976   0% /sys/fs/cgroup
/dev/sda1            201380  104248     97132  52% /boot
tmpfs                 99796       0     99796   0% /run/user/0
172.16.1.31:/data  19706880 1843200  17863680  10% /mnt
第七步:设置rpcbind和nfs服务开机启动
[root@nfs01 ~]# tail -3 /etc/rc.local
#start up nfs service by nfsnobody at 20190708
/etc/init.d/rpcbind start
/etc/init.d/nfs start
[root@nfs01 ~]# 

二,开始部署web端NFS客户端共享挂载

配置web01服务器:

第一步:nfs客户端需要安装nfs-utils软件包
yum -y install nfs-utils
第二步:挂载共享目录
[root@web01 ~]# mkdir -p /var/html/www
[root@web01 ~]# mount 172.16.1.31:/data /var/html/www
[root@web01 ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      18003272 4815804  12266280  29% /
tmpfs                   502068       0    502068   0% /dev/shm
/dev/sda1               487652   34856    427196   8% /boot
172.16.1.31:/data     18003328 4154240  12928000  25% /mnt
172.16.1.31:/data     18003328 4154240  12928000  25% /var/html/www
第三步:测试写入数据
[root@web01 ~]# cd /var/html/www
[root@web01 www]# ll
总用量 4
-rw-r--r--. 1 nfsnobody nfsnobody 0 7月  9 19:27 csfdsf
-rw-rw-r--. 1 nfsnobody nfsnobody 0 7月 9 00:14 test2
-rw-rw-r--. 1 nfsnobody nfsnobody 4 7月  9 00:14 test.txt
[root@web01 www]# touch 11111
[root@web01 www]# ll
总用量 4
-rw-r--r--. 1 nfsnobody nfsnobody 0 7月  9 19:34 11111
-rw-r--r--. 1 nfsnobody nfsnobody 0 7月  9 19:27 csfdsf
-rw-rw-r--. 1 nfsnobody nfsnobody 07月  9 00:14 test2
-rw-rw-r--. 1 nfsnobody nfsnobody 4 7月 9 00:14 test.txt 
第四步:配置开机自动挂载
[root@web01 www]# tail -1 /etc/rc.local 
mount -t nfs -o nodev,noexec,nosuid,rw  172.16.1.31:/data /var/html/www
配置web02服务器:配置方式同web01服务器

三,配置Rsync备份服务器

第一步:在配置文件/etc/rsyncd.conf里添加nfsbackup新模块

在配置文件里添加如下内容
[nfsbackup]
# 使用目录
path = /data/
# 有错误时忽略
ignore errors
# 可读可写(true或false)
read only = false
# 阻止远程列表(不让通过远程方式看服务端有啥)
list = false
# 允许IP
hosts allow = 172.16.1.0/24
# 禁止IP
hosts deny = 0.0.0.0/32
# 虚拟用户
auth users = rsync_backup
# 存放用户和密码的文件
secrets file = /etc/rsync.password

第二步:启动rsync服务

方法一:如果没有编写rsync启动脚本
[root@backup ~]# rsync --daemon
[root@backup ~]# ss -antup | grep rsync
tcp    LISTEN     0      5                     :::873                  :::*      users:(("rsync",7098,5))
tcp    LISTEN     0      5                      *:873                   *:*      users:(("rsync",7098,4))
方法二:如果已经编写了启动脚本
[root@backup ~]# /etc/init.d/rsyncd start
Starting Rsync:                                            [确定]
[root@backup ~]# ss -antup | grep rsync
tcp    LISTEN     0      5                     :::873                  :::*      users:(("rsync",7098,5))
tcp    LISTEN     0      5                      *:873                   *:*      users:(("rsync",7098,4))

第三步:rsync服务加入开机启动

[root@backup ~]# echo ". /etc/init.d/rsyncd start" >> /etc/rc.local
[root@backup ~]# tail -1 /etc/rc.local 
. /etc/init.d/rsyncd start

四,在NFS服务端配置inotify事件监控工具

第一步:安装inotify事件监控工具

此工具需要安装epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@nfs01 ~]# yum -y install inotify-tools

第二步:进行rsync + inotify时时推送测试

开两个shell窗口
[root@nfs01 ~]# inotifywait -mrq --format '%w%f' -e delete,close_write,create /data
输入后,shell处于阻塞状态(时时监控)

在另一个窗口的/data目录进行创建,修改,删除测试:
此时我们可以发现当前处于阻塞状态的shell窗口会记录所有目录发生改变的情况

命令说明:
inotifywait:监控命令
-m:持续不断的进行监控(处于阻塞状态)
-r:递归监控,监控目录及目录的所有子目录
-q:只输出简单的监控信息
--format:指定监控数据输出的格式
-e:指定监控的事件类型
delete:删除事件
close_write:文件写入的关闭事件(其实就是监控修改文件)
create:创建事件

第三步:编写inotify + inotify 时时同步推送脚本

#!/bin/bash

Path=/data
backup_Server=172.16.1.41


/usr/bin/inotifywait -mrq --format '%w%f' -e create,close_write,delete /data | while read line
do
        if [ -f $line ];then
                rsync -az $line --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password
        else
                cd $Path &&\
                rsync -az ./ --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password
        fi
done

第四步:脚本加入开机(后台)启动

[root@nfs01 ~]# echo "sh /server/scripts/inotify.sh &" >> /etc/rc.local

第五步:进行同步测试

NFS存储服务器:进行如下操作
[root@nfs01 data]# ll
总用量 4
-rw-r--r--. 1 root root 4 7月  9 21:02 aaa
[root@nfs01 data]# touch nfsnobody  #创建
[root@nfs01 data]# ll
总用量 4
-rw-r--r--. 1 root root 4 7月  9 21:02 aaa
-rw-r--r--. 1 root root 0 7月  9 21:16 nfsnobody
[root@nfs01 data]# echo 1111 >> nfsnobody #修改
[root@nfs01 data]# ll
总用量 8
-rw-r--r--. 1 root root 4 7月  9 21:02 aaa
-rw-r--r--. 1 root root 5 7月  9 21:17 nfsnobody
[root@nfs01 data]# rm -rf aaa  #删除

rsync备份服务器:查看目录同步效果

[root@backup ~]# cd /data
[root@backup data]# ll
总用量 4
-rw-r--r--. 1 rsync rsync 5 7月  9 2019 nfsnobody
[root@backup data]# cat nfsnobody
1111
[root@backup data]# 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容

  • 一.rsync服务端(backup服务端) (1)配置rsyncd.conf配置文件 (2)创建rsync账户及共...
    奶橙_d390阅读 117评论 0 0
  • 所以一个完整的爬虫一般会包含如下三个模块: 网络请求模块 爬取流程控制模块 内容分析提取模块 网络请求 我们常说爬...
    钟文晶阅读 156评论 0 1
  • 1.我的朋友圈规划表 感觉端银老给到的这个表格就很适合,所以就选用老师的这个规划表 2.一天互动的朋友圈截图 互动...
    卢利霞阅读 345评论 1 2
  • 今天,我和阿姨一家一起到了嵊州吾悦广场。在我的死缠烂打下,老妈终于同意让我体验VR眼镜,用来玩真人体感游戏...
    静心修安阅读 361评论 0 1