Я думаю, что знаю, что здесь происходит и почему Arch wiki сбивает с толку.
Древние версии NFS из 1990-х годов (версия 3 и предыдущие) могли просто экспортировать произвольные каталоги, расположенные в любом месте файловой системы. Это изменилось в NFSv4, которая требует, чтобы все экспортируемые каталоги были подкаталогами «корневого» экспорта верхнего уровня, который определяется системным администратором и содержит параметр экспорта. фсид=0
выделить его как корень. Нет предопределенного корня; администратор делает явный выбор для определения корня.
Таким образом, если вы определяете /срв/нфс
как корень, все остальные экспорты NFSv4 должны быть подкаталогами этого каталога.
Однако вполне вероятно, что каталог, который вы хотите экспортировать, на самом деле не находится в /срв/нфс
. Например, вы можете экспортировать /var/lib/докер/тома
. Для этого вместо перемещения файлов, которые могут повредить вещи, которые зависят от их исходного местоположения, вы можете создать привязку, чтобы файлы оставались на своем исходном месте в файловой системе, но также были видны под привязкой. смонтированный путь.
mkdir/srv/nfs/тома
mount --bind /var/lib/docker/volumes /srv/nfs/volumes
Теперь файлы доступны в обоих местах дерева файловой системы, благодаря чему NFSv4 может их экспортировать.
Единственное, что меня все еще смущает, это то, почему Arch wiki называет это «хорошей практикой безопасности», когда именно так работает NFSv4.