Linux NFS挂载优化,inotify+rsync实时备份

查看客户端挂载的参数

强制卸载

高并发情况下,可以通过明确加上noatime,以达到提升优化I/O性能

ro:以只读方式挂载一个文件系统

rw:   以可写的方式挂载一个文件系统

defaults(默认):这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、and async。

默认情况下,都用的默认。

mount挂载性能优化参数选项

1、禁止更新目录及文件时间戳挂载:

mount -t nfs -o noatime,nodiratime 172.16.1.31:/data /mnt

2、安全加优化的挂载方式

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 172.16.1.31:/data /mnt

3、默认挂载

mount -t nfs 172.16.1.31:/data /mnt

如果是本地文件系统

mount /dev/sdb1 /mnt -o defaults,async,noatime,data=writeback,barrier=0

一般6.6系统可使用如下参数

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime, rsize=131072,wsize=131072 172.16.1.31:/data /mnt

不过CentOS6.6默认的挂载参数性能还不错

具体的要根据业务需要来设定

NFS内核优化建议(服务器端):

NFS内核调优;调整接收/发送套接字缓冲区大小 
cat /proc/sys/net/core/rmem_default  默认
cat /proc/sys/net/core/rmem_max    最大

cat /proc/sys/net/core/wmem_default  默认
cat /proc/sys/net/core/wmem_max    最大

上述文件对应命令如下:

cat >>/etc/sysctl.conf<<EOF

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.wmem_max = 16777216

net.core.rmem_max = 16777216

EOF

执行sysctl -p生效

企业场景NFS共享存储优化:

1、ssd,多块,raid5/raid10。网卡至少千兆(多块bond)

2、配置文件:

all_squash 不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody

anonuid 可以自行设定这个UID的值,这个UID必需要存在于你的/etc/passwd当中
anongid 同anonuid,但是变成groupID就是了 
sync 资料同步写入到内存与硬盘当中 
async 资料会先暂存于内存当中,而非直接写入硬盘

3、客户端挂载优化配置命令:

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime, rsize=131072,wsize=131072 172.16.1.31:/data /mnt

兼顾性能安全

NFS优点:

简单,容易上手

NFS文件系统内数据是在文件系统之上的,也就是说数据是能看得见的

部署快速,维护简单方便,可控

可靠,从软件层面上看,数据可靠性高

服务非常稳定

NFS局限:

存在单点故障,如果NFS Server宕机了,都不能访问(可通过高可用弥补)

大数据高并发场合,性能有限(2千万/日以下PV的网站不是瓶颈)

客户端认证是基于ip和主机名,权限要根据ID识别,安全性一般(用于内网则问题不大)

NFS数据是明文的,NFS本身不对数据完整性作验证

多台客户机挂载一个NFS服务器时,连接管理维护麻烦(耦合度高),尤其NFS服务端出问题后,

所有客户端都处于挂掉状态(测试环境可用autofs自动挂载解决,正式环境可修复NFS或强制卸载)

生产场景应该多把数据的访问往前推,尽量把静态存储里的资源通过CDN或缓存服务器提供服务

showmount一般用于从NFS客户端检查NFS服务器共享目录的情况,其常用参数如下

-e 显示NFS服务器输出的目录列表

-d 显示NFS服务器提供的共享目录

exportfs命令

exportfs -rv 命令相当于/etc/init.d/nfs reload

exportfs -o rw,sync,all_squash,anonuid=888,anongid=888 10.0.0.0/24:/data

有啥卵用???

防火墙控制

一般内网环境,不需要,如果要配置的话,两选一



这个源比较特殊

inotify 可以监视的文件系统常见事件包括:
IN_ACCESS:文件被访问
IN_MODIFY:文件被修改
IN_ATTRIB,文件属性被修改
IN_CLOSE_WRITE,以可写方式打开的文件被关闭
IN_CLOSE_NOWRITE,以不可写方式打开的文件被关闭
IN_OPEN,文件被打开
IN_MOVED_FROM,文件被移出监控的目录
IN_MOVED_TO,文件被移入监控着的目录
IN_CREATE,在监控的目录中新建文件或子目录
IN_DELETE,文件或目录被删除
IN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己

测试创建

测试删除

测试关闭-写

测试关闭-写时,创建也能监测

简化输出

有时重启会失效,所以放rc.local里

原文地址:http://blog.51cto.com/11755576/2070141

时间: 2024-11-09 00:32:09

Linux NFS挂载优化,inotify+rsync实时备份的相关文章

【运维小实验】数据镜像备份实验inotify+rsync实时备份

数据镜像备份实验inotify+rsync实时备份 本文是基于VM搭建的虚拟集群环境,全部虚拟机网卡模式为NAT方式相连,处于同一网段. 搭建环境: 使用redhead 2.6.32-431.el6.x86_64版本的linux,创建两台,配置相关网络信息,确保同一网段下. 安装配置rsync+inotify Rsync一般系统默认安装了,如果没有安装的去相关网站下载安装包解压安装即可 Inotify登陆https://github.com/rvoicilas/inotify-tools/wik

inotify+rsync实时备份总结

第1章 inotify简介 1.1 rsync+inotify组合的起源Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据增量备份同步,但是rsync自身也有瓶颈,同步数据时,rsync采用核心算法对远程服务器的目标文件进行对比,只进行差异同步,如果服务器文件的数量达到百万甚至是千万量级,那么文件对比将是非常耗时的,而且发生变化的往往只是其中很少的一部分,这是非常低效的方式,Inotify的出现,可以缓解rsync的不足之处,取长补短1.2 Inotify介

inotify +rsync 实时同步

1.1 inotify简介 inotify是一种强大的,细粒度的,异步的文件系统时间监控机制,Linux内核从2.6.13加入了inotify支持,通过inotify可以监控文件系统汇中添加,删除,修改,移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正式实施这样的监控的软件,国人周洋在金山公司开发了类似的实时同步软件sersync. 1.1.1 安装inotify 在安装inotify-tools前请先确认你的Linux内核是否达

Linux下同步工具inotify+rsync使用详解

Linux下同步工具inotify+rsync使用详解 Posted on 2014-12-12 |  In Linux|  9|  Visitors 438 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的"Rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行Rsync serve

配置inotify+rsync实时同步

对rsync服务及命令不熟悉的,可以参考博文通过rsync实现远程同步这里就不多说了! Linux内核从2.6.13版本开始就已经提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动.修改等.利用这一机制,可以非常方便的实现文件异动告警.增量备份,并针对目录或文件的变化及时作出响应. 将inotify机制与rsync工具相结合,可以实现出发时备份(实时同步)--只要原始位置的文档发生变化,则立即启动增量备份,否则处于静默等待状态,如图所示:这样,就避免了按固定周期

Inotify+rsync实时同步工具实战

Inotify+rsync实时同步工具实战 分别有机器:server-178/24,client-b-179/24,client-c-180/24 中心分发服务器Master:client-c-180/24 备份服务器    :client-b-179/24和server-178/24 基于备份服务器已经提供rsync --daemon的基础上,在中心分发服务器(rsync客户端)配置inotify,监控的目录设置为/www/ 1.查看当前系统是否支持inotify ls -l /proc/sy

web+nfs+rsync实时备份

网络结构 服务器及IP主机名称规划 使用的4台服务器主机名IP对应信息见下表 服务器说明 外网IP 内网IP 主机名称 web服务器 10.0.0.8/24 172.16.1.8/24 web01 web服务器 10.0.0.7/24 172.16.1.7/24 web02 NFS存储服务器 10.0.0.31/24 172.16.1.31/24 nfs01 rsync备份服务器 10.0.0.41/24 172.16.1.41/24 backup 实例1-2 搭建网站集群后端NFS共享存储搭建

真正的inotify+rsync实时同步 彻底告别同步慢

我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题.但当web文件越来越多(百万级数量html,jpg等小 文件),同步就越来越慢,根本做不到实时,按照网上的调优方法都尝试过,问题根本没有解决.经过我一翻细致研究,终于把慢的核心问题研究明白,先总结一句 inotifywait响应不会有延迟,rsync也很快.大家同样有慢的烦恼,那是因为网上的inotify+rsync的教程都是坑.下面我们来分 析. inotifywait 单独分析 /usr/local/bin/

centos 7配置inotify+rsync实时同步

Linux内核提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动.修改等.利用这个机制,可以非常方便地实现文件异动告警.增量备份,并针对目录或文件的变化及时作出响应. 将inotify机制和rsync工具相结合,可以实现触发式备份(实时同步)--只要原始位置的文档发生变化,则立即启动增量备份操作,否则处于静默状态,这样,避免了周期性备份时存在的延迟性.周期过密等问题. 在Linux内核中,默认的inotify机制提供了三个调控参数: [[email protec