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

Понимание экспорта NFS4 и псевдофайловой системы

Думаю, я понимаю, как работает экспорт до NFS4, в частности, пространство имен экспортируемой точки.

(например, экспорт / mnt / blah на сервере, используйте сервер монтирования: / mnt / blah / my / mnt / point на клиенте)

Однако мне сложно осмыслить экспорт NFS4.

На данный момент мне удалось выяснить, что вы экспортируете «корень», отмечая его с помощью fsid = 0, который затем импортируете на стороне клиента, ссылаясь на него как на «/».

(например, exportfs -o fsid = 0 / mnt / blah на сервере, смонтировать сервер: / на клиенте)

Однако после этого все становится немного странно. Судя по моим экспериментам, кажется, что я не могу экспортировать ничего, кроме / mnt / blah. Например, команда exportfs / home / user1 завершается неудачно при попытке монтирования с клиента, если на сервере не существует / mnt / blah / home / user1.

Если это так, то в чем разница между exportfs / mnt / blah / subdir1 на сервере и сервером монтирования: / subdir1 на клиенте и просто пропуском exportfs и монтированием любого подкаталога / mnt / blah, который вы хотите?

Зачем вам нужно экспортировать что-либо, кроме корня? В любом случае, это все в одном пространстве имен.

Цель этого - добавить уровень абстракции, который даст вам большую гибкость; вы можете перемещать объекты на сервере, не перенастраивая всех клиентов для отражения новых путей.

Вы можете экспортировать вещи за пределы /mnt/blah путем привязки его внутри бла, например

mount --bind /home /mnt/blah/home