Cred că știu ce se întâmplă aici și de ce wiki-ul Arch este confuz.
Versiunile antice de NFS din anii 1990 (versiunea 3 și anterioară) puteau pur și simplu să exporte directoare arbitrare care se aflau oriunde în sistemul de fișiere. Acest lucru s-a schimbat cu NFSv4, care necesită ca toate directoarele exportate să fie subdirectoare ale unui export „rădăcină” de nivel superior, care este definit de administratorul de sistem și are opțiunea de export fsid=0
pentru a o deosebi ca rădăcină. Nu există rădăcină predefinită; administratorul face o alegere explicită pentru a defini rădăcina.
Astfel dacă definiți /srv/nfs
ca rădăcină, toate celelalte exporturi NFSv4 trebuie să fie subdirectoare ale acelui director.
Cu toate acestea, este probabil ca directorul pe care doriți să-l exportați să nu se afle de fapt /srv/nfs
. De exemplu, poate doriți să exportați /var/lib/docker/volumes
. Pentru a face acest lucru, în loc să mutați fișierele în jurul cărora ar putea distruge lucrurile care depind de faptul că acestea se află în locația lor inițială, puteți crea o montare de legătură, astfel încât fișierele să rămână în locul lor inițial în sistemul de fișiere, dar să fie și vizibile sub bind- cale montată.
mkdir /srv/nfs/volumes
mount --bind /var/lib/docker/volumes /srv/nfs/volumes
Acum fișierele sunt disponibile în ambele locuri din arborele sistemului de fișiere și, din această cauză, NFSv4 le poate exporta.
Singurul lucru despre care sunt încă confuz este de ce wiki-ul Arch o numește o „bună practică de securitate” atunci când este exact cum funcționează NFSv4.