Подкаталоги NFS, предлагаемые Ubuntu, не могут быть прочитаны

ФАКТЫ

Ранее работающий файл / etc / exports, отлично работающий на Debian, не работает должным образом на Ubuntu. Я могу экспортировать каталог верхнего уровня; клиенты могут монтировать его и видеть один уровень каталога вниз; но они не могут видеть другие подкаталоги, и они не могут монтировать подкаталоги.

DISCUSSION

Во-первых, что-то, что работает немного:

/archive 192.168.0.0/255.255.255.0(fsid=root,crossmnt,rw,sync,no_root_squash,no_subtree_check)

fsid = root является обязательным, видимо - не так. Debian - и crossmnt есть для тестирования.

Я могу монтировать / архивировать на клиенте. Я могу спуститься в / archive / dir1. Однако, когда клиенты пытаются прочитать каталог / архив / dir1, каталог отображается как пустой.

Далее я попробую двухстрочную версию / etc / exports:

/archive 192.168.0.0/255.255.255.0(fsid=root,crossmnt,rw,sync,no_root_squash,no_subtree_check) /archive/dir1/dir2/dir3 192.168.0.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)

Первая строка такая же, как и ранее, а вторая строка экспортирует подкаталог как отдельный объект. Опять же, это прекрасно работает при экспорте из Debian.

На этом этапе все попытки монтировать / архив / dir1 / dir2 / dir3 терпят неудачу. На клиенте Debian клиент пытается использовать версию NFS 4.2, жалобы на устаревший дескриптор файла, возвращается к версии 3 и циклически работает на версии 3 бесконечно.

На клиенте Ubuntu попытка монтировать с ошибкой «Stale file handle» с использованием NFS версии 4; возвращается к версии 3 и циклам между протоколами 6 и 17; и в конечном итоге не удается.

Обратите внимание: * Все клиенты находятся за одним и тем же брандмауэром. * В машине нет внутреннего брандмауэра (например, ufw отключен или выключен)

rpcinfo на сервере :

# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100005 1 udp 51505 mountd 100005 1 tcp 33248 mountd 100005 2 udp 59490 mountd 100005 2 tcp 46113 mountd 100005 3 udp 59750 mountd 100005 3 tcp 38367 mountd 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 100227 3 tcp 2049 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 100227 3 udp 2049 100021 1 udp 55501 nlockmgr 100021 3 udp 55501 nlockmgr 100021 4 udp 55501 nlockmgr 100021 1 tcp 37597 nlockmgr 100021 3 tcp 37597 nlockmgr 100021 4 tcp 37597 nlockmgr

rpcinfo на клиенте:

program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 100227 3 tcp 2049 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 100227 3 udp 2049 100021 1 udp 56523 nlockmgr 100021 3 udp 56523 nlockmgr 100021 4 udp 56523 nlockmgr 100021 1 tcp 37425 nlockmgr 100021 3 tcp 37425 nlockmgr 100021 4 tcp 37425 nlockmgr 100024 1 udp 39290 status 100024 1 tcp 37851 status 100005 1 udp 52528 mountd 100005 1 tcp 43547 mountd 100005 2 udp 36593 mountd 100005 2 tcp 34609 mountd 100005 3 udp 42349 mountd 100005 3 tcp 45613 mountd

Наконец,

RPCMOUNTDOPTS="--manage-gids"

в файле / etc / default / nfs-kernel-server [ ! d14]

EDIT

Возможным симптомом является то, что / var / lib / nfs / rmtab не обновляется. Я ожидаю, когда nfs-kernel-server будет остановлен, rmtab будет обновлен; или когда я экспортирую файловые системы (exportfs -ua); или когда я размонтирую клиента. Вместо этого rmtab продолжает сохранять устаревшую информацию.

ACTIONS

Я хотел бы предложить предложения по отладке этой проблемы.

EDIT

Еще несколько точек:

Я проверил списки ACL (не заданы) и разрешения файлов, и они выглядят правильно. Даже после холодного отключения клиента и сервера, выполненного по другим причинам, я по-прежнему получаю ошибки «устаревшего файла». Если я включу rpcdebug для поиска NFS-proc, я вижу жалобу на отсутствие обратного пути к клиенту Linux NFSv4.2

, но эта ошибка не появляется, например, для клиентов MacOS или Ubuntu.

Я проверил списки ACL (не заданы) и разрешения файла, и они выглядят корректно.

не работает.

Резюме: эта проблема остается неразрешимой, и IMO - это не простая проблема с разрешениями - если только мне не хватает настроек где-либо или даже всей программы или файла конфигурации.

0
задан 29 July 2017 в 00:59

2 ответа

После обширных проб и ошибок я обнаружил, что, по-видимому, является причиной неудачи. Глядя на /archive, я заметил, что у меня есть подкаталог с тем же именем, то есть /archive/arhive.

Когда я удалил /archive/archive, мои проблемы были остановлены по большей части. Основываясь на содержании и разрешениях того, что я видел, экспорт /archive фактически экспортировал /archive/archive.

Дальше: Дальше: я заметил, что при экспорте /archive клиент монтируется как NFS версии 4. Когда я монтирую подкаталог, а именно /archive/dir1/dir2/dir3, этот подкаталог (тот же диск и, следовательно, одна и та же файловая система) монтируется как версия 3! Я все еще гоняюсь за этим, но в то же время я бегу.

Если этот «подкаталог с тем же именем вызывает плохое монтирование» требует отчета об ошибке, я могу воспроизвести это по своему желанию и записать его.

0
ответ дан 18 July 2018 в 10:30

После обширных проб и ошибок я обнаружил, что, по-видимому, является причиной неудачи. Глядя на /archive, я заметил, что у меня есть подкаталог с тем же именем, то есть /archive/arhive.

Когда я удалил /archive/archive, мои проблемы были остановлены по большей части. Основываясь на содержании и разрешениях того, что я видел, экспорт /archive фактически экспортировал /archive/archive.

Дальше: Дальше: я заметил, что при экспорте /archive клиент монтируется как NFS версии 4. Когда я монтирую подкаталог, а именно /archive/dir1/dir2/dir3, этот подкаталог (тот же диск и, следовательно, одна и та же файловая система) монтируется как версия 3! Я все еще гоняюсь за этим, но в то же время я бегу.

Если этот «подкаталог с тем же именем вызывает плохое монтирование» требует отчета об ошибке, я могу воспроизвести это по своему желанию и записать его.

0
ответ дан 24 July 2018 в 19:35

Другие вопросы по тегам:

Похожие вопросы: