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

Сервер NFS экспортирует неправильные каталоги

Это немного неловко признать, но у меня проблемы с тем, чтобы мой сервер NFS экспортировал нужные каталоги. Я использую последнюю версию CentOS 6.2 как на клиенте, так и на сервере.

Сервер запущен, брандмауэр был отключен во время тестов.

На стороне сервера я создал это /etc/exports:

/home/user1/documents/   *(ro,sync)

этот каталог является корнем тома программного рейда. mount вывод следующим образом:

/dev/mapper/lvm--raid-lvol0 on /home/user1/documents type ext4 (rw,nosuid,nodev)

команда showmount -e на сервере показывает правильный вывод:

Export list for servername:
/home/user1/documents (everyone)

Я пытаюсь смонтировать этот общий ресурс от клиента и получаю следующий результат:

mount.nfs: access denied by server while mounting servername:/home/user1/documents

Однако, когда я потом смотрю на сервере в файле /proc/fs/nfsd/exports Я вижу несколько точек монтирования, но не ту

# Version 1.2
# Path Client(Flags) # IPs
/       *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home   *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home/user1     *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)

Откуда берутся эти записи и почему нет строки, начинающейся с /home/user1/documents ? Я пробовал установить /home/user1 вместо того /home/user1/documents от клиента, и это странным образом работает.

UID пользователя одинаковы на сервере и на клиенте. Может быть проблема, что экспортируемый каталог смонтирован сам?

редактировать

Файл /var/lib/nfs/xtab пусто.

Я вижу, вы используете NFSv4 (fsid = 0 в выводе / proc / fs / nfsd / exports выдает это). Для NFSv4 требуются корни NFS. Возможно, вам повезет больше с файлом / etc / exports.

/home                    *(ro,fsid=0)
/home/user1/documents/   *(ro,sync)

Вам также может потребоваться отредактировать домен в /etc/idmapd.conf для сервера и клиентов.

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

У меня была проблема с:

/my/dir1 *(rw,sync,fsid=0,crossmnt,no_subtree_check)
/my/dir2 *(rw,sync,fsid=0,crossmnt,no_subtree_check)

и оба крепления появились для /my/dir1.

Я пытался использовать те же параметры по умолчанию, что и в Ubuntu 16.04. nfs-kernel-server пакет /etc/exports пример файла: https://unix.stackexchange.com/questions/198009/what-provides-etc-exports-and-how-do-i-find-that-out

Решением было удалить fsid=0,crossmnt и используйте только:

/my/dir1 *(rw,sync,no_subtree_check)
/my/dir2 *(rw,sync,no_subtree_check)

Это также упоминается в: https://forums.opensuse.org/showthread.php/481263-NFS-directs-to-the-wrong-shared-folder/page2?s=ae345ec054b854b5cf036cd1816626f4

Я действительно не знаю, что все они делают, однажды я изучу NFS. Может быть.