# Externe Daten in einer VM nutzen > von [Ulrich Hilger](https://uhilger.de), 21. Februar 2020 Virtualisierung ist ein gutes Mittel zur Abgrenzung einzelner Rechnerkonfigurationen: Mit ihr können unterschiedlichste Lösungen die Ressourcen eines Rechners gemeinsam nutzen ohne sich gegenseitig zu beeinträchtigen. Während Programme und Konfigurationen in einer VM gekapselt werden, sollten Daten aber auch anderen Aufgaben und Zwecken zur Verfügung stehen und an einem zentralen Ort ausserhalb der VM gespeichert sein können. Dieser Beitrag beschreibt die Nutzung außerhalb einer VM gespeicherter Daten am Beispiel von [Alpine Linux](https://alpinelinux.org) und [VirtualBox](https://virtualbox.org). ### Externen Speicherort einbinden Ausgangspunkt der Betrachtung ist eine VM wie sie im Beitrag [VirtualBox Gastererweiterungen auf Alpine Linux installieren](/data/ulrich/artikel/2020/02/vbox-gast-erweiterungen.md) beschrieben ist. Ausgehend von dieser VM wird * auf dem Wirtsrechner (Host) ein neuer Ordner als externer Speicherort für Daten angelegt * eine neue VM erstellt, * der externe Speicherort angebunden, * die VM gestartet und * aufgerufen. Die folgenden Kommandos führen diese Schritte aus ``` mkdir /media/extssd/vdata vboxmanage clonevm basis-vbox-guest-adds --name basis-shared-data --register vboxmanage sharedfolder add basis-shared-data --name vdata --hostpath /media/extssd/vdata vboxmanage startvm basis-shared-data --type headless ssh -l fred -p 2222 localhost ``` Die VM enthält bereits eine Portweiterleitung von 2222 (Host) nach 22 (Gast) und einen Benutzer, hier beispielhaft `fred`. Nun wird noch innerhalb der VM der wie oben angelegte Ablageort eingerichtet: ``` su mkdir /media/rdata nano /etc/fstab ``` In der VM wird mit obigen Befehlen ein neues Verzeichnis namens `/media/rdata` angelegt und die Datei `/etc/fstab` im Editor nano geöffnet. Der Datei `/etc/fstab` wird der folgende Eintrag hinzugefügt: ``` vdata /media/rdata vboxsf defaults 0 0 ``` `Strg-O` speichert die Ergänzung und `Strg-X` beendet den Editor. Der Eintrag in der Datei `/etc/fstab` bewirkt, dass die so entstandene Verknüpfung zum Host-Ordner auch über einen Neustart hinaus bestehen bleibt. ### Kopiervorlage Die VM `basis-shared-data` kann nun als Vorlage dienen wann immer eine VM mit Anbindung an einen externen Datenspeicher benötigt wird. Vom Host kann ohne weiteren Eingriff in die Konfiguration der VM ein beliebiger Ablageort als Datenspeicher angebunden werden. Wird beispielsweise eine neue VM benötigt, die als externe Datenablage den Ordner `/opt/neuer/ablageort` verwenden soll, genügen zu deren Verwendung die folgenden Kommandos auf dem Host: ``` mkdir /opt/neuer/ablageort vboxmanage clonevm basis-shared-data --name neue-vm --register vboxmanage sharedfolder remove neue-vm --name vdata vboxmanage sharedfolder add neue-vm --name vdata --hostpath /opt/neuer/ablageort ``` ## Schlussbemerkungen Viele Lösungen zur Virtualisierung liefern so wie VirtualBox jeweils ihren eigenen Ansatz zur Verwendung externer Daten. Zudem gibt es je nach Aufgabenstellung weitere Möglichkeiten Daten zentral und getrennt von einer bestimmten Lösung bereitzuhalten, beispielsweise das [Network File System (NFS)](https://wiki.ubuntuusers.de/NFS/), [sshfs](https://wiki.ubuntuusers.de/FUSE/sshfs/) uvm. Unabhängig vom gewählten Ansatz sollte eine Virtualisierung stets die getrennte Ablage und Nutzung von Daten in der Lösungsarchitektur berücksichtigen. Ist eine virtuelle Maschine mit dem Ansatz getrennter Daten aufgesetzt, lässt sich einfacher deren Ablageort sowie die Form des Zugriffs auf Daten über Anpassungen an der Konfiguration verändern ohne weiter in die fertige Lösung einzugreifen.