Virtuelle Systeme mittels vagrant
¶
Computer-Netzwerke setzen mehrere Rechner voraus. Möchte man mit einem einzelnen
Rechner auf weitere Rechner als Test-Plattformen zugreifen, so kann man dies
mittels vagrant
und virtuellen Betriebsystemen sehr einfach erreichen.
Als Shell-Anwendung greift vagrant
auf die Virtualisierungs-Software
VirtualBox zurück, vereinfacht
allerdings die Einrichtung und Nutzung des Zielsystems erheblich.
Mittels aptitude kann vagrant
folgendermaßen installiert
werden:
sudo aptitude install virtualbox virtualbox-dkms vagrant
Hierdurch wird auch Virtualbox automatisch mitinstalliert.
Virtuelles Betriebsystem initialisieren
Um ein neues virtuelles Betriebsystem einzurichten, legt man zunächst ein neues Verzeichnis für so genannte „Vagrantfiles“ an:
mkdir ~/playbooks
cd ~/playbooks
Alle folgenden vagrant
-Anweisungen müssen aus diesem Verzeichnis heraus
ausgeführt werden.
Zunächst wird festgelegt, welches Zielsystem installiert werden soll. Eine Liste mit verfügbaren Systemen gibt es hier. Um beispielsweise Ubuntu Xenial (16.04 LTS) zu installieren, gibt man zunächst folgendes ein:
# Virtuelles System hinzufügen:
vagrant box add ubuntu/xenial64
Diese Anweisung bewirkt, dass im playbooks
-Verzeichnis eine Datei
namens Vagrantfile
angelegt wird. Der überwiegende Teil dieser Datei besteht
aus Kommentar-Zeilen, die mit einem #
-Zeichen beginnen; der einzige
wesentliche Eintrag ist config.vm.box = "ubuntu/xenial64"
. Die eigentliche
Installation startet man wie folgt:
# Virtuelles System installieren:
vagrant init ubuntu/xenial64
Falls bei der Installation eine 404
-er Fehlermeldung auftritt, so genügt es
ans Ende der Vagrantfile
folgende Zeile einzufügen:
Vagrant::DEFAULT_SERVER_URL.replace('https://vagrantcloud.com')
Schließlich ist es noch empfehlenswert, folgendes Plugin zu installieren:
vagrant plugin install vagrant-vbguest
Damit ist die Installation abgeschlossen.
Vagrant benutzen
Um das virtuelle Betriebsystem zu starten, genügt folgende Anweisung:
vagrant up
Wiederum muss man sich für diesen Aufruf im playbooks
-Verzeichnis befinden.
Man erhält dabei etwa folgende Ausgabe:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
(...)
Nun kann man sich folgendermaßen via ssh
mit der virtuellen Maschine
verbinden:
vagrant ssh
Ein Dateiaustausch mit dem Host-System ist im virtuellen Betriebsystem über das
Verzeichnis /vagrant
möglich. Jede Datei, die in diesem Verzeichnis erstellt
beziehungsweise dorhin kopiert wird, wird automatisch mit dem
playbooks
-Verzeichnis des Host-Systems synchronisiert.
Mit exit
kann die Sitzung wie jede gewöhnliche ssh
-Sitzung wieder
beendet werden. Anschließend kann vagrant
in ähnlicher Form auch wieder
beendet werden:
vagrant halt
Mit vagrant reload
kann das virtuelle Betriebsystem bei Bedarf auch neu
gestartet werden. Soll das virtuelle Betriebsystem nicht nur heruntergefahren,
sondern komplett entfernt werden, ist dies mittels vagrant destroy
möglich.
Links: