Bonjour à tous,
Depuis quelques temps, j'utilise Vagrant et VirtualBox pour virtualiser mes environnements de développement (principalement des environnements LAMP). C'est une solution pratique, tant pour éviter certains casses-têtes que pour partager un environnement commun entre plusieurs développeurs travaillant potentiellement sous des OS différents, mais qui présentent quelques défauts.
Mon principale problème se situe au niveau du partage de fichiers entre l'hôte et la machine virtuelle. Vagrant propose à ce niveau deux solutions : vboxfs et NFS.
Vboxfs est relativement simple à mettre en place et son usage via Vagrant permet de définir l'utilisateur et le groupe propriétaires des répertoires partagés du point de vue de la VM (via un chown exécuté automatiquement après le montage). Ainsi je peux m'assurer de ne pas rencontrer de problèmes de droits lors de l'exécution des scripts ou de l'écriture de fichiers par Apache.
Le défaut de cette solution est quelle est très lente dés qu'il s'agit de partager un grand nombre de fichiers et qu'elle induit un niveau de cache supplémentaire pour les fichiers dont le comportement est pour le moins étrange (fichiers tronqués après modifications par exemple). Ce second point est contournable en désactivant certains options d'optimisation d'Apache, mais cela ne fait qu'accentuer encore le premier problème.
De l'autre côté, il y a NFS. Performant, mais qui ne propose à ma connaissance pas d'options, ni au niveau de la configuration client ni du montage, pour définir uid et gid des fichiers partagés et via lequel un chown ne fonctionne pas.
D'où ma question : Connaissez-vous un moyen qui me permettrait d'obtenir les avantages des deux solutions, rapidité et simplicité de gestion des droits ?
Merci d'avance :o)
# NIS ?
Posté par olaf . Évalué à 1.
[^] # Re: NIS ?
Posté par Folken Laëneck . Évalué à 1.
Je ne penses pas que ce soit applicable.
Les VM doivent pouvoir être remontées par n'importe quel nouvel intervenant sur un projet sans forcement qu'il appartienne au même réseau local. Il est aussi exclu de modifier la configuration des machines déjà existantes, ne serait-ce que parce qu'au bureau le réseau est 100% Mac (à mon grand regret...) tandis que chez moi... on ne peux pas vraiment parler d'un réseau avec une seule machine sous Linux :]
Je peux installer de nouveaux services du côté des VM, mais idéalement la solution ne devrait pas toucher à l'hôte ni au réseau.
[^] # Re: NIS ?
Posté par Folken Laëneck . Évalué à 1.
# Recherches supplémentaires
Posté par Folken Laëneck . Évalué à 1.
map_static permet en théorie de définir une carte de correspondance entre les id du serveur et les id des clients. Mais c'est une fausse réponse car cette option ne semble exister que sur Linux (or je dois trouver une solution qui fonctionne aussi pour des postes sous Mac OS X à défaut d'être 100% universelle) et n'est apparemment plus supportée depuis quelques temps (Toutes mentions à cette option disparaissent dans les man d'Ubuntu entre la 8.04 et la 8.10 par exemple).
map_daemon ne semble pas mieux lotie et dépend de plus d'un démon ugidd qui map automatiquement uid et gid vers le nom de l'utilisateur ou du groupe, ce qui ne m'arrange pas plus car les utilisateurs ne portent pas le même nom (l'utilisateur par défaut dans une VM Vagrant se nomme vagrant) ni n'appartiennent au même groupe (users, staff, etc. Verser deux doses de Linux et une de Mac OS X et secouer très fort).
Il semblerait que NFS4 apporte quelque chose à ce niveau mais j'ai beau fouiller les manpages, je ne trouve rien de concret.
Bref, du côté des options de NFS cela semble réellement compromis.
Pensez-vous que l'on puisse jouer côté client avec des montages et des binds qui permettrait de mimer le comportement attendu ?
# Bindfs
Posté par Folken Laëneck . Évalué à 2.
Or aujourd'hui je suis tombé sur bindfs ( http://code.google.com/p/bindfs ), qui semble faire tout ce que j'attend ! :)
Je testerais cette solution dés que possible (ce soir sans doute) mais en attendant y'en a-t-il parmi vous qui l'aurait déjà utilisé ? Qu'en avez-vous pensé ?
[^] # Re: Bindfs
Posté par Folken Laëneck . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.