blog.dasrecht.net

With a min of max the opt!

Vagrant – NFS


Ich nutze für Webentwicklungs-Tasks seit längerer Zeit Vagrant. So kann ich meine Entwicklungsumgebung ohne grosse Umstände schnell und automatisiert auf einen klar definierten Stand zu bringen.

Aus flexibilitätsgründen liegt der Sourcecode ausserhalb der VM und wird mittels einem Mount in die Virtuelle Maschine gebracht. Leider ist die native Variante von Virtualbox nicht so performant (siehe Performance Benchmarks in der Vagrant Dokumentation).

Aus diesem Grund kann man die Verzeichnisse über NFS einbinden. Dazu ergänzt man die Konfiguration im Vagrantfile folgendermassen.

config.vm.share_folder("v-root", "/vagrant", ".", :nfs => true)

Respektive Vagrant ab Version 1.1.x

  config.vm.synced_folder ".", "/vagrant",  :nfs => true

Da jetzt bei jedem Start der Box die /etc/exports angepasst und der NFS Deamon neu gestartet wird, fragt das System nach dem Passwort – da der normale Benutzer zu wenig Rechte besitzt.

Einfache Abhilfe schaffen folgende Zeilen im Sudoders File (via sudo visudo)

# Allow passwordless startup of Vagrant when using NFS.
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/su root -c echo '*' >> /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -e /*/ d -ibak /etc/exports
%staff ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE

Danach sollte das Starten der Vagrant-Boxen kein Passwort mehr benötigen.

Update: Waldvogel hat mich noch darauf Aufmerksam gemacht, dass dieser Kniff vermutlich rein OSX Spezifisch ist, da die Commands auf Linux anders sind.

 

via Github


3 responses to “Vagrant – NFS”