GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Synchronisierte Ordner gehen verloren, wenn ein Vagrant-Computer mit dem Ansible-Provisioner neu gestartet wird

Vagrant kann während der Bereitstellung nicht wissen, dass der Computer neu gestartet wird.

Wenn möglich, wäre es das Beste, hier einen Neustart ganz zu vermeiden. Beispielsweise sollten Kernel-Updates bereits beim Bau der Basisbox durchgeführt werden.

Eine weitere einfache (aber nicht sehr bequeme) Möglichkeit besteht darin, dies mit Protokollausgaben oder Dokumentationen oder mit einem Wrapper-Skript zu handhaben, das vagrant up && vagrant reload aufruft .

Und schließlich könnten Sie ein Plug-in schreiben, das alle erforderlichen Mounting-Aktionen usw. nach der Bereitstellung in den Vagrant-Middleware-Stack einfügt, aber Sie müssten immer noch darüber nachdenken, wie Sie das Plug-in wissen lassen, dass die Maschine gebootet wurde. Eine weitere Herausforderung besteht darin, dass dies leicht anbieterspezifisch wird.


Sie sollten in der Lage sein, die Dateisysteme zu /etc/fstab hinzuzufügen, um sie beim Booten zu mounten.

Hier ist mein Beispiel:

vagrant /vagrant    vboxsf  defaults    0   0
home_vagrant_src    /home/vagrant/src   vboxsf  defaults    0   0
home_vagrant_presenter-src  /home/vagrant/presenter-src vboxsf  defaults    0   0

Ihr Vagrant-Verzeichnis sollte ein verstecktes .vagrant-Verzeichnis enthalten, und darin sollten Sie einen Pfad zur Datei "synced_folders" finden (in meinem Fall:/vagrant/.vagrant/machines/default/virtualbox/synced_folders ).

Diese Datei sollte Ihnen dabei helfen, herauszufinden, was die Labels und ihre Einhängepunkte sind:

{"virtualbox":{"/home/vagrant/src":{"guestpath":"/home/vagrant/src","hostpath":"/home/rkomorn/src","disabled":false,"__vagrantfile":true},"/home/vagrant/presenter-src":{"guestpath":"/home/vagrant/presenter-src","hostpath":"/home/presenter/src","disabled":false,"__vagrantfile":true},"/vagrant":{"guestpath":"/vagrant","hostpath":"/home/rkomorn/vagrant","disabled":false,"__vagrantfile":true}}}

Es ist nicht am einfachsten zu lesen, aber unter Verwendung der Python-Terminologie scheinen die Labels die Schlüssel des inneren Wörterbuchs zu sein, mit / übersetzt in _ (z. B.:der Schlüssel /home/vagrant/presenter-src wurde zum Label home_vagrant_presenter-src).

Ich bin mir eigentlich nicht sicher, warum Vagrant nicht einfach /etc/fstab für freigegebene Ordner verwendet, aber ich vermute, dass es einen guten Grund gibt.


Linux
  1. Wann haben Sie das letzte Mal Windows verwendet?

  2. Wie kann ich die Anzahl der Ordner in einem Laufwerk unter Linux zählen?

  3. Kopieren einer Datei nur, wenn sie neuer als das Ziel ist

  4. Kann nach dem Ruhezustand (oder wenn die Verbindung unterbrochen wird) nicht auf Ordner zugreifen, die von sshfs gemountet wurden

  5. Soll ich die Verwendung von Ifconfig beenden?

Vagrant hängt beim Mounten von freigegebenen NFS-Ordnern – wie kann man das beheben?

So automatisieren Sie Systemneustarts mit dem Ansible-Neustartmodul

So arbeiten Sie mit Ansible Provisioner in Vagrant

Terraform vs. Ansible:Was ist der Unterschied und welches sollten Sie verwenden?

Wenn ich CPAN in Linux Ubuntu verwende, sollte ich es mit sudo / als root oder als meinen Standardbenutzer ausführen

Zeitüberschreitung während des Wartens auf das Hochfahren des Computers beim Herauffahren