nfs文件访问统计

对于Linux NFSv3服务器,有什么方法可以查看实际文件访问的统计信息吗? 换句话说,我想看到每个文件读取或写入的时间戳日志。

动机:我有几个NFS服务器将被某种“大铁”存储系统取代。 在我的情况下,NFS客户端负载实际上是大文件的所有读取 (平均大约700 MB)。 一个供应商的解决scheme使用一个大的RAM磁盘作为caching来提供我需要的那种大量的随机读取吞吐量。

我想要的是一种研究NFS文件访问模式的方式,以便我可以“正确地调整”caching。

我一整天都在对付这个问题,并没有find解决办法。

  1. 你可以打开 NFS服务器的debugging信息,但是没有提供太多的细节(如果这个例子是准确的),并且可能会占用一个繁忙的NFS服务器磁盘,除了没有文件名的情况下,还会logging无用的行李。

  2. 另一种解决方法是在auditd / auditctl中添加规则来logging所有读取或写入到NFS目录,但这对我们的Centos 6.X机器不起作用,原因我还不清楚。 在客户机上的/etc/audit/audit.rules中:

    # First rule - delete all -D # Increase the buffers to survive stress events. # Make this bigger for busy systems -b 8192 # Feel free to add below this line. See auditctl man page -w /auto/ -pr -k read -k home -w /auto/ -pw -k write -k home -w /auto/ -p xa -k other -k home 

…我已经给了读取,写入和执行/更改属性的单独的键。 我的客户机自动将几个不同的NFS目录(包括他们的主目录)挂载到/auto/并将软件链接指向客户机的/home/users/回到/auto/ 。 我logging了很多东西,但没有一个用户自己似乎正在修改的文件。

使用ausearch -k read | aureport -f审核日志来审核日志ausearch -k read | aureport -f 例如ausearch -k read | aureport -f 。 对.ODT或.PDF进行格式化,结果只有metacity的configuration,Chrome的废话等等。

当然,在服务器上启用指向真实/home/users/XYZ审计只显示从与服务器直接连接的东西(邮件客户端)或用户SSH到服务器的访问。

如果你能找出正确的审计方法,或者一起专门的解决scheme,请,请分享! 你会认为这将在1993年解决。

看看nfstrace https://github.com/epam/nfstrace 。 它捕获networkingstream量并执行深度数据包检查。 它findNFSv3 / v4程序(READ,WRITE等)并跟踪其统计信息。 另外,您可以为nfstrace开发新的可插拔模块。

看看nfsstat。 它可以为NFS客户端和服务器产生统计信息。 这是Ubuntu Linux上常见的nfs的一部分。 您也可以在服务器端查看iotop,但是会报告所有磁盘I / O,而不仅仅是NFS。