J'essaie d'exposer une hiérarchie de répertoires de départ à un certain nombre de jails FreeBSD. Les répertoires de base sont configurés de sorte que chacun constitue un jeu de données ZFS unique. Les prisons sont utilisées pour des travaux de développement et sont donc créées et détruites régulièrement.
Ma première idée était simplement d’utiliser nullfs pour monter /home
à l’intérieur de la prison, mais nullfs ne fournit aucun moyen d’accéder aux systèmes de fichiers subordonnés.
Ma deuxième pensée a été d’exporter les répertoires via NFS, puis d’exécuter le démon automounter (amd) à l’intérieur de chaque prison. Cela aurait juste fonctionné ... s'il était possible d'effectuer des montages NFS dans une prison. Mais ce n'est pas.
Ma troisième idée était d'exécuter amd sur l'hôte et de mettre à disposition nullfs dans les jails ... mais le support amd pour nullfs n'existe pas.
Ma quatrième idée était de revenir à l'exportation des répertoires à l'aide de NFS, car bien entendu, amd fonctionne avec NFS, n'est-ce pas? Malheureusement, plutôt que de monter un répertoire sur le point de montage cible, amd aime monter des objets dans un emplacement temporaire ( /.amd_mnt/...
), puis créer un lien symbolique ... ce qui, bien sûr, est inutile dans l'environnement jail.
Alors peut-être que vous pourriez utiliser nullfs pour exposer un sous-répertoire de /.amd_mnt
la prison? Non! Cela nous ramène à ma première tentative, dans laquelle nous constatons qu'il est impossible d'accéder aux systèmes de fichiers subordonnés à l'aide de nullfs .
Et puis ma tête a explosé.
Existe-t-il une bonne solution à ce que j'essaie de faire? Une mauvaise solution serait d’exécuter un script après le démarrage de la prison, ce qui créerait plusieurs points de montage nullfs pour chaque répertoire de base, mais c’est assez maladroit - il faudrait l’exécuter périodiquement pour prendre en compte les nouveaux répertoires ou les répertoires supprimés. Donc, fondamentalement, je devrais écrire un mauvais montage automatique.
Il doit y avoir un meilleur moyen. Aidez-moi, Serverfault, vous êtes mon seul espoir!
MISE À JOUR 1 : Je me suis dit que je pourrais peut-être résoudre une partie du problème pam_mount
, même si cela serait au mieux incomplet. En outre, la documentation pam_mount
n'indique pas clairement si le point de montage cible peut être créé automatiquement. Si le point de montage doit exister à priori, cette solution ne serait pas meilleure que le mauvais montage automatique que j'ai déjà proposé.
MISE À JOUR 2 : Comme indiqué dans les réponses ci-dessous, la définition VFCF_JAIL
du système de fichiers NFS permet aux jails d’effectuer des montages NFS. Malheureusement, le système de montage automatique continue à se comporter de manière inutile et, lorsqu'il est exécuté dans une prison, il semble très efficace pour se coincer de telle sorte qu'un redémarrage du système est nécessaire pour supprimer l'entrée de processus.
Réponses:
Salut Lars! C'est une question fascinante que vous avez posée et, après quelques recherches, j'ai peut-être trouvé une réponse pour vous.
Selon cela et d'autres publications, il pourrait être possible de définir l'
VFCF_JAIL
attribut sur le fournisseur de système de fichiers NFS, ce qui permettrait en théorie aux jails d'effectuer des montages NFS. Cela peut, à son tour, permettre de courir dans la prison… ce qui résoudrait parfaitement ce problème.Je vais essayer de reconstruire le noyau ce soir pour voir comment les choses se passent. Ce n'est pas nécessairement la meilleure solution (car cela signifie que vous devez vous assurer que ce changement persiste dans les futures mises à jour du noyau), mais ce serait intéressant si cela fonctionnait.
Et rappelez-vous...
la source
VFCF_JAIL
en place des montages NFS a fonctionné, mais l’auto-monte continue de me calmer.