Думаю, я понимаю, как работает экспорт до 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