Назад | Перейти на главную страницу

статистика доступа к файлу nfs

Для сервера Linux NFSv3 есть ли способ увидеть статистику по фактическим доступ к файлам? Другими словами, я хотел бы видеть журнал с метками времени для каждого прочитанного или записанного файла.

Мотивация: у меня есть несколько серверов NFS, которые планируется заменить какой-то системой хранения «большого железа». В моем конкретном случае нагрузка клиента NFS составляет практически всю читает больших файлов (в среднем около 700 МБ). Решение одного поставщика использует большой RAM-диск в качестве кеша, чтобы обеспечить нужную мне массовую пропускную способность произвольного чтения.

Мне нужен способ изучить, как выглядит шаблон доступа к файлам NFS, чтобы я мог «подобрать размер» кеша.

Я весь день бился головой об эту проблему, но решения не нашел.

  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
    

... где я дал отдельные ключи для чтения, записи и выполнения / изменения атрибутов. Мои клиенты автоматически монтируют несколько разных каталогов NFS, включая их домашний каталог, в /auto/ с программными ссылками, указывающими на клиентский компьютер /home/users/ вернуться к /auto/. Я веду журнал множества вещей, но, похоже, ни один из файлов не изменяет сами пользователи.

Прокрутите журналы аудита с помощью ausearch -k read | aureport -f, например. grepping для .ODT или .PDF ничего не дает, единственные результаты - для конфигураций metacity, хрени Chrome и т. д. и т. д.

Естественно, включение аудита на сервере, указывающее на настоящие /home/users/XYZ показывает только доступ от вещей, напрямую взаимодействующих с сервером (почтовые клиенты) или пользователей, подключенных к серверу по SSH.

Если вы смогли придумать верный рецепт аудита или отдельное решение вместе, пожалуйста, поделитесь, пожалуйста! Можно было подумать, что это было решено в 1993 году.

Взгляните на nfstrace https://github.com/epam/nfstrace. Он захватывает сетевой трафик и выполняет глубокую проверку пакетов. Он находит процедуры NFSv3 / v4 (READ, WRITE и т. Д.) И отслеживает их статистику. Также вы можете разрабатывать новые подключаемые модули для nfstrace.

Взгляните на nfsstat. Он может производить статистику как для клиента, так и для сервера NFS. Это часть nfs-common в Ubuntu Linux. Вы также можете посмотреть на iotop на стороне сервера, но он сообщает обо всех дисковых операциях ввода-вывода, а не только о NFS.