nfs 文件访问统计

Mat*_*att 4 linux nfs analysis

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

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

我想要的是一种研究 NFS 文件访问模式的方法,以便我可以“调整大小”缓存。

Eri*_* L. 5

我一整天都在为这个问题绞尽脑汁,却没有找到解决办法。

  1. 您可以打开NFS 服务器的调试,但这不会提供太多详细信息(如果该示例准确的话),并且可能会占用繁忙的 NFS 服务器的磁盘,除了裸文件名之外还记录了无用的行李。

  2. 另一个解决方案是向auditd/auditctl 添加规则以记录对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/ -p r -k read -k home
    -w /auto/ -p w -k write -k home
    -w /auto/ -p xa -k other -k home
    
    Run Code Online (Sandbox Code Playgroud)

...我已经给出了读取、写入和执行/更改属性的单独密钥。我的客户端通过 autofs 挂载一些不同的 NFS 目录(包括它们的主目录),并/auto/通过软链接将客户端计算机/home/users/指向/auto/. 我记录了很多东西,但用户自己似乎没有修改任何文件。

ausearch -k read | aureport -f例如,使用 来跟踪审计日志。grepping .ODT 或 .PDF 没有任何结果,唯一的结果是 metacity 的配置、Chrome 的垃圾等等。

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

如果您能找出正确的审核方法或专用解决方案,请分享!你可能认为这个问题在 1993 年就已经得到解决。