Montage du répertoire interne sur un dossier monté avec NFS

0

Je suis confronté au scénario suivant:

Je montais un dossier sur /datade host1.

Ce dossier a un sous - répertoire: /data/internal/config.

Je veux remplacer le chemin de montage de ce répertoire host2.

J'utilise NFSv4 est-ce possible?

Motivation : Je monte /datasur de nombreuses machines de sorte que chacune d’elles a besoin d’obtenir le /configdossier de l’hôte distant. Le /configdossier est assez lourd, ce qui entraîne une charge importante sur le système (taille du répertoire * nombre de machines). Je souhaite monter ce dossier dans un emplacement plus proche et remplacer le montage de toutes les machines vers cet emplacement plus proche afin de réduire la charge du réseau.

Anton.P
la source

Réponses:

0

Après avoir monté /datadepuis host1, vous pouvez monter quelque chose d'autre /data/internal/config(même si ce répertoire host1n'est pas vide):

mount -t nfs host2:/foo/bar/config /data/internal/config

Deux questions:

  1. Vous devez monter config après avoir monté data. Vous devriez démonter configavant de démonter data. Utilisez cette approche ou configurez correctement les systemddépendances des unités (le cas échéant).
  2. Vous devez exécuter / configurer ce montage supplémentaire sur chaque machine.

Le premier numéro peut être contourné. Au lieu de monter de host2la /data/internal/config, monter dans un répertoire vide qui existe localement pour assurer (juste créer), que ce soit /mnt/config. Ensuite, préparez un lien symbolique approprié sur host1:

mv /whatever_the_share_is/internal/config /elsewhere  # just to free the name 'config'
ln -s /mnt/config /whatever_the_share_is/internal/config

Ce lien symbolique peut être cassé sur host1(ou il ne le peut pas; vous devez savoir si host1cette configuration est nécessaire; placez-la /mnt/configsur host1ou montez-la host2si c'est le problème, le lien symbolique est donc valide).

Sur chaque machine qui monte le partage, le lien symbolique sera résolu localement. Il pointera vers le local sur /mnt/configlequel est déjà monté host2ou sera éventuellement monté. Maintenant, la séquence de montage n'a pas d'importance.


La deuxième question reste. Peut-être que vous vous attendiez à pouvoir reconfigurer uniquement host1 pour rediriger toutes les machines de montage, afin qu'elles obtiennent config directement de host2. Je ne pense pas que cela soit possible (mais je ne choisirai aucune solution saine qui me prouve le contraire).

Kamil Maciorowski
la source