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

Каков текущий статус pNFS в Ubuntu?

По pNFS есть много запутанной информации, и у меня есть несколько очень простых вопросов:

pNFS является необязательной частью спецификации NFSv4.1. IOW, вам нужны сервер и клиент nfs, чтобы общаться с nfsv4.1 +, чтобы использовать его. Поскольку это дополнительная функция, ваш клиент и сервер должны ее поддерживать. Ядро Linux поддерживает pNFS с версии 3.9, и с каждым новым выпуском оно становится все более зрелым.

В общем, pNFS позволяет распространять запрос одного файла на несколько так называемых серверов данных. Например, приложение выдает чтение 16 МБ, но сервер NFS отправляет чтение 2 МБ 8 различным серверам, у которых есть необходимые блоки. Существует несколько реализаций сервера, поддерживающих pnfs:

  • Linux-сервер; поддерживает только блочную раскладку
  • Реализации на основе Gangesha nfs
  • NetApp 8.1+
  • HammerSpace
  • dCache (проект, в котором я участвую)
  • FreeBSD

Я не могу говорить о других системах, но мы перемещаем терабайты данных в день в системах с сотнями серверов данных pNFS, представленных как один сервер NFS.

Проверьте свой сервер NFS на возможность использования pNFS. На стороне клиента убедитесь, что сервер смонтирован с nfsv4.1 или выше. Если сервер поддерживает pNFS, вы должны увидеть соответствующий драйвер компоновки, загруженный как модуль ядра:

$ lsmod | grep layout
nfs_layout_nfsv41_files    36864  0
nfs_layout_flexfiles    53248  0
nfsv4                 708608  11 nfs_layout_flexfiles,nfs_layout_nfsv41_files
nfs                   323584  3 nfsv4,nfs_layout_flexfiles,nfs_layout_nfsv41_files
sunrpc                454656  22 nfsv4,auth_rpcgss,nfs_layout_flexfiles,lockd,nfs_layout_nfsv41_files,rpcsec_gss_krb5,nfs
$

а также соответствующее сообщение ядра:

$ dmesg  | grep Layout
[41827.049921] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
$

Тип макета определяет, как клиенты взаимодействуют с различными серверами данных. Проверить Протоколы хранения в RFC 5661.