Je pense comprendre le fonctionnement des exportations pré-NFS4, en particulier l'espace de noms du point exporté.

(c'est-à-dire exportez /mnt/blah sur le serveur, utilisez mount server:/mnt/blah /my/mnt/point sur le client)

Cependant, j'ai du mal à comprendre les exportations NFS4.

Ce que j'ai pu comprendre jusqu'à présent, c'est que vous exportez une 'racine' en la marquant avec fsid=0, que vous importez ensuite côté client en l'appelant '/'.

(c'est-à-dire exportfs -o fsid=0 /mnt/blah sur le serveur, monter le serveur :/ sur le client)

Cependant, après cela, cela devient un peu bizarre. D'après mon jeu, il semble que je ne puisse rien exporter d'autre qui ne soit pas sous /mnt/blah. Par exemple, exportfs /home/user1 échoue lors de la tentative de montage à partir du client à moins que /mnt/blah/home/user1 n'existe sur le serveur.

Si tel est le cas, quelle est la différence entre exportfs /mnt/blah/subdir1 sur le serveur et mount server:/subdir1 sur le client et sauter simplement l'exportfs et monter le sous-répertoire de /mnt/blah que vous voulez ?

Pourquoi auriez-vous besoin d'exporter autre chose que la racine ? Tout est dans le même espace de noms de toute façon.

answer

Le but de ceci est d'ajouter une couche d'abstraction qui vous donne plus de flexibilité ; vous pouvez déplacer des éléments sur le serveur sans avoir à reconfigurer tous les clients pour refléter les nouveaux chemins.

Vous pouvez exporter des éléments à l'extérieur /mnt/blahen les fixant à l'intérieur de blah, par exemple

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