linux nfs同步,NFS 及 nfs+sersync实现实时同步

NFS介绍:

全名 NETWORK FILE system

软件组成:rpcbind、NFS-utils

rpc 在centos 5中叫 portmap

NFS 服务名叫做nfsd

rpc 服务端口号:111

配置文件:/etc/eports

NFS服务部署:

1、安装

服务端安装rpc 服务:yum install -y rpcbind nfs-utils

客户端:yum install -y nfs-utils

2、安装完成后查看:

查看服务状态:systemctl is-active rpcbind

查看rpc服务信息:rpcinfo -p ip地址

查看NFS服务共享了多少个目录:showmount -e IP地址

3、编辑配置文件,默认没有内容需要自己添加。

[root@NFS01 ~]# vim /etc/exports

#share /data to web /upload

/data 172.16.1.0/24(rw)

/web_data 172.16.1.0/24(rw)

4、创建目录

mkdir -p /web_data

chown nfsnobody.nfsnobody /web_data

chmod +777 /web_data

5、启动服务端、和客户端服务并查看

systemctl start nfs

showmount -e IP

rpcinfo -p

6、本地测试

本地挂载:mount -t nfs 172.16.1.41:/data /mnt

文件写入测试 touch /mnt/test{01..10}

7、客户端挂载 mount -t nfs 172.16.1.41:/data /mnt (这里的ip指向服务端的IP)

注意:nfs服务修改配置文件,需要重启时,如果使用 systemctl restart nfs 来重启 会有 90s 的无敌时间(或者叫死亡时间),在90s内不会响应。所以尽量使用平滑重启 来重读配置文件即可,Systemctl reload nfs

NFS配置文件里各参数详解:

参数

含义

no_all_squash

所有都不压缩

root_squash

只将root用户压缩为nfsnobody

all_squash

将所有用户都压缩为nfsnobody

anonuid=888

nfsnobody用户UID为888

anongid=888

nfsnobody用户GID为888

sync

同步IO

async

异步IO

rw

读写权限

ro

只读权限

NFS用户压缩:

1、安装NFS服(rpcbind、nfs-utils)

yum install -y rpcbind nfs-utils

2、创建虚拟用户

groupadd -g 888 www

useradd -s /sbin/nologin -M -u 888 -g www www

3、创建nfs 存放文件的目录 web_data

mkdir /web_data

4、修改nfs配置文件 /etc/exports

[root@NFS01 ~]# cat /etc/exports

#share /data to web /upload

/web_data 172.16.1.0/24(rw,sync,all_squash,anonuid=888,anongid=888)

[root@NFS01 ~]#

5、测试

NFS开机自启动及共享目录自动挂载

思路:

1、服务端rpcbind 和NFS服务处于开机自启动状态

2、客户端自动挂载

排坑:

在centos6 中因为系统从守护进程(init进程)之后,各服务程序开始串行启动,在C6中,先执行挂载,然后启动网络服务,而NFS的挂载又恰好需要网络服务,所以会导致挂载失败。

解决办法:将启动命令写入 /etc/rc.local,或者启动一个netfs的服务

NFS 排错流程:

NFS故障排查思路:

1、检查防火墙 selinux

2、ping 路是否通畅

3、rpcinfo -p ip

4、showmount -e ip

5、查看客户端/proc/mounts

6、查看服务端的/proc/mounts 、/var/lib/nfs/etab

7、查看配置文件

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

NFS使用mount 挂载时需要使用的一些参数(为了安全,和相对好的性能)

安全相关:

noexec :执行权限相关

nosuid:特殊权限相关

nodev:特殊设备相关

性能相关(至少大于131072)

rsize:每一次读写是的大小

wsize:每一次读写是的大小

时间戳相关

noatime:不更改时间戳,

linux中时间戳包括

mtime:文件内容的更改时间

ctime:文件属性的更改时间

atime:文件的访问时间

磁盘的故障案例 readonly file system

排查思路

1、查看 /proc/mounts 文件中是不是有ro的参数

2、如果有ro 的参数 ,使用 mount 挂载时加上rw参数,mount -o rw ...

3、若查看/proc/mounts 时没有发现挂载点没有ro这个参数,还有可能是磁盘问题导致

汇总mount 命令使用 -o 选项后常用的一些参数

参数

含义

noexec

执行权限相关

nosuid

特殊权限相关

nodev

特殊设备相关

noatime

不更改时间戳

rw

读写权限

ro

只读权限

sersync部署

sersync介绍

功能:实现实时同步

sersync 由rsync+inotify组成

rsync 实现推送功能

inotify 用来监控某个目录下面文件/目录是否发生变化

sersync原理就是,监控到发生变化的文件或目录,就使用rsync直接推送走

1、搭建好rsync守护进程模式

2、下载sersync_installdir_64bit 软件包(在GitHub上)

3、给这个文件加上执行权限sersync

chmod +x sersync

4、将这个文件软连接至/sbinz中(使用绝对路径)

ln -s /application/sersync/bin/sersync /sbin/

5、编辑vim sersync/conf/confxml.xml

2bdfa10beee2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

sersync_installdir_64bit配置文件.png

6、 启动:sersync -rdo /application/sersync_installdir_64bit/sersync/conf/confxml.xml

2bdfa10beee2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

全网备份

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值