Wie Erstellen VirtualBox VMs vom Linux Terminal

0
47

Die meisten cloud-Anbieter mieten virtuelle Server eher als die eigentliche hardware. Wenn Sie wollen, um die gleiche Sache auf Ihrem eigenen Server laufen unterschiedliche Betriebssysteme oder die Verwaltung mehrerer Umgebungen, die Sie tun können, so völlig von Ihrem terminal.

Wenn Sie planen, nur mit virtuellen Maschinen, die Sie interessieren könnten in einem hypervisor. Ein hypervisor ersetzt Ihr host-Betriebssystem, und ist benutzerdefinierte gebaut für die Verwaltung von mehreren virtuellen Maschinen. Sie werden nicht in der Lage zum ausführen von Anwendungen auf dem host OS, aber Sie können problemlos virtualisieren, Ubuntu Server oder so und die Anwendungen laufen auf der hypervisor.

Die Installation von VirtualBox und der VBox Extension Pack

VirtualBox ist eine freie GUI-basierte Virtualisierungs-software läuft als app auf Ihrem host-OS (eine Typ-2-hypervisor). Sie könnten es benutzt haben, bevor auf einem personal-computer einrichten einer VM, aber VirtualBox hat tatsächlich eine vollständige Kommandozeilen-Schnittstelle und ist voll nutzbar, aus nur einem terminal, so dass Sie perfekt für diesen Anwendungsfall. Eine andere Lösung wäre, QEMU, aber VirtualBox ist erprobt und getestet, und ist unschlagbar für freie und open-source.

Die VirtualBox-CLI ist zwar ein bisschen sperrig, obwohl, so dass, wenn Sie nur über Unordnung auf einem home-server und habe ein bisschen RAM übrig haben, könnten Sie stattdessen installieren Sie eine leichte desktop-Umgebung auf Ihrem server und einrichten der VirtualBox ist der normale Weg. Sie kann noch laufen die VMs im headless-Modus halten Sie ausgeführt nachdem Sie sich aus der DE.

Wenn Sie plan auf das festhalten an der CLI, die installation ist Recht einfach, da es direkt von apt:

sudo apt-get install virtualbox

Sie wollen notieren Sie die version, die installiert ist, obwohl ( VBoxManage -v ), wie Sie benötigen, zu installieren, ein paar mehr Dinge. Denn wir sind einrichten im headless-Modus, wir brauchen eine Möglichkeit, eine Verbindung zu der Maschine, bevor SSH/RDP konfiguriert werden können.

Den Kopf über VirtualBox download-Seite, und finde den link für das extension pack für die version, die Sie ausführen auf. Download mit wget:

wget https://download.virtualbox.org/virtualbox/5.2.42/Oracle_VM_VirtualBox_Extension_Pack-5.2.42.vbox-extpack

Und installieren Sie es:

sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Für einige Grund, VRDE offenbar nicht für uns arbeiten, mit dem eingebauten VNC-extension pack installiert. Das entfernen dieses pack das Problem gelöst:

sudo VBoxManage extpack deinstallieren VNC

Einrichten einer VM

Um zu beginnen, erstellen wir eine neue VM mit dem Namen “Ubuntu.” Sie können eine Liste der unterstützten OS-Arten mit VBoxManage list ostypes.

sudo VBoxManage createvm –name “Ubuntu” –ostype Ubuntu_64 –register

Geben Sie der Maschine etwas RAM, und erstellen Sie eine neue Festplatte. Wir gehen mit 4 GB RAM und 32 GB Festplattenspeicher, aber diese beiden werden später erweitert. Beachten Sie, dass die Festplatte ist eine virtuelle Festplatte, und ist nicht reserviert.

sudo VBoxManage modifyvm “Ubuntu” –Speicher 4096
sudo VBoxManage createhd –mit dem Namen “Ubuntu.vdi” –Größe 32000

Die Anzahl der vCPUs. Gemessen wird diese in threads, nicht die volle CPU-Kerne.

sudo VBoxManage modifyvm “Ubuntu” –cpus 2

Als Nächstes ist etwas mehr Konfiguration für die Festplatte. In der Regel geschieht dies automatisch beim erstellen von Maschinen aus der GUI, aber Sie haben, um manuell einen SAS-controller und befestigen Sie es an der VM für die Festplatte, um richtig zu arbeiten.

sudo VBoxManage storagectl “Ubuntu” –name “SAS-Controller” –add-sas – — – controller LSILogicSAS
sudo VBoxManage storageattach “Ubuntu” –storagectl “SAS-Controller” –port 0 –device 0 –type hdd –medium “Ubuntu.vdi”
sudo VBoxManage storagectl “Ubuntu” –name “SAS-Controller” –hostiocache auf

Wir werden das gleiche tun für die Festplatte, die halten die ISO zum installieren des OS. Dies setzt Voraus, die ISO ist unter /home/user/Ubuntu.iso, so ändern Sie Sie entsprechend.

sudo VBoxManage storagectl “Ubuntu” –name “IDE Controller” –add ide –controller PIIX4
sudo VBoxManage storageattach “Ubuntu” –storagectl “IDE Controller” –port 0 –device 0 –type dvddrive –medium “/home/user/Ubuntu.iso”

Dann, flip-einige performance-bezogenen Schalter, um zu verhindern, dass die Verlangsamungen von der überschüssigen RAM-Auslastung:

sudo VBoxManage modifyvm “Ubuntu” –nestedpaging auf
sudo VBoxManage modifyvm “Ubuntu” –largepages auf

Als Nächstes erstellen wir das Netzwerk, das diese VM verwenden. Es gibt eine Menge von Optionen für diesen Schritt:

  • NAT, die einfachste, die nur ermöglicht der VM kommunizieren mit der Außenwelt mit Hilfe von network address translation (NAT). Dies nicht ermöglichen, VMs, miteinander zu reden, und nicht zulassen, host-zu-Gast-Kontakt, es sei denn, port weitergeleitet.
  • NAT-Netzwerk ist ähnlich wie NAT, außer das Netz ist geteilt zwischen den VMs, und Sie können miteinander reden. Das NAT-Netzwerk wirkt wie ein virtuelles Subnetz.
  • Überbrückt, die Brücken, die physische Verbindung direkt an die VM. Die VM hat eine IP-Adresse auf Ihrem Netzwerk. Diese arbeiten können auch mit nur einem WLAN-/Ethernet-Verbindung, aber wenn Sie haben eine Netzwerk-Karte mit mehreren Ethernet-ports, können Sie eine ganze interface direkt an eine VM.
  • Virtuelles Netzwerk, das verbindet mehrere Instanzen in einer isolierten virtualisierten Netzwerk. Dies ist nützlich für die Modellierung von real networks, ist aber nicht geeignet für die meisten Anwendungsfälle.
  • Host-only-Adapter, ist ähnlich zu virtuellen Netzwerk, sondern ermöglicht es sprechen zu dem host (nicht im internet).

Für dieses Beispiel gehen wir mit NAT-Netzwerk, wie es ist einfach einzurichten und die vielseitigste der Reihe, sollen ein Gleichgewicht der Verbundenheit und isolation.

Erstellen Sie eine neue Netzwerk auf dem 10.0.0.0/24 Subnetz, starten Sie es:

sudo VBoxManage natnetwork hinzufügen –netname natnet1 –Netz “10.0.0.0/24” –enable
sudo VBoxManage natnetwork start –netname natnet1

Und befestigen Sie es an der VM:

sudo VBoxManage modifyvm “Ubuntu” –nic1 natnetwork –nat-network1 natnet1

Als Nächstes müssen wir festlegen, wie wir Zugang zu dieser Instanz. Weil wir installieren diese auf einem headless-server (kein video-Ausgang), werden wir nicht in der Lage sein, um die installation abzuschließen installieren und eine RDP-client auf dem Gast-OS. Um dieses Problem zu lösen, benutzen wir VirtualBox ist VRDE server, der Hauptgrund, warum der Installation des VirtualBox Extension Pack früher. Dieser erfasst die Ausgabe des virtuellen Displays und lässt es über RDP.

Drehen Sie diese auf und legen Sie einen port für Sie. Werden Sie wollen, stellen Sie sicher, dass das host-OS ist dieser port offen ist.

sudo VBoxManage modifyvm “Ubuntu” –vrde auf
sudo VBoxManage modifyvm “Ubuntu” –vrdeport 5587

Endlich sind wir in der Lage zu starten der VM im headless-Modus und beginnen mit OS-installation.

sudo VBoxManage startvm “Ubuntu” –type headless

Beachten Sie, dass headless-Modus bedeutet, es läuft auf einem headless-server, und nicht, dass das Gast-OS hat kein video out.

Es dauert ein oder zwei Sekunden, um zu starten, und Sie werden in der Lage sein, um Feuer auf ein RDP-client, und verbinden Sie es mit dem port, den Sie angegeben haben. Es können Fragen für einen Benutzername und Kennwort; VRDE standardmäßig auf “admin” ohne Kennwort.

Port-Weiterleitung Nach Dem Setup

Nachdem die OS installation abgeschlossen ist, haben Sie zu tun einige port-Weiterleitung zu erhalten Zugang, nachdem VRDE ausgeschaltet ist, im wesentlichen wie öffnen der firewall-Regeln. Wenn Sie die Einrichtung einer headless-Umgebung, wie Linux, müssen Sie einfach die port-Weiterleitung von SSH. Der folgende Befehl fügen Sie einen port-forward-Regel, um Ihr NAT-Netzwerk für die Weiterleitung von port 2200 auf dem host-OS zu den Standard-SSH-port auf den Gast. Beachten Sie, dass dieser port muss geöffnet sein, in Ihrem host-firewall für diese zu arbeiten.

sudo VBoxManage natnetwork ändern –netname natnet1 –port-forward-4 “ssh:tcp:[]:2200:[10.0.0.2]:22”

Wenn Sie die Einrichtung RDP, müssen Sie konfigurieren die RDP-server auf dem Gast-Betriebssystem, und stellen Sie sicher, dass der RDP-port offen ist, in der Gast-firewall). Danach können Sie die port-Weiterleitung in der gleichen Weise:

sudo VBoxManage natnetwork ändern –netname natnet1 –port-forward-4 “rdp:tcp:[]:5589:[10.11.0.2]:3389”

Wenn Sie brauchen, um zu löschen port-forwarding-Regeln Sie haben, um Sie zu löschen von Namen mit diesem eher sperrigen Befehl (der erste Wert vor dem Doppelpunkt):

sudo VBoxManage natnetwork ändern –netname natnet1 –port-forward-4 löschen rdp

Sobald Sie überprüft haben, dass Sie eine Verbindung über SSH/RDP direkt auf das Gast-OS können Sie ausschalten, VRDE:

sudo VBoxManage modifyvm “Ubuntu” –vrde aus

Wenn Sie planen, über die Verwendung dieser VM über RDP für längere Zeiträume, möchten Sie möglicherweise installieren Sie die VirtualBox Guest Additions-suite für Ihr Gast-Betriebssystem.

Wenn Sie sich entschließen zu verwalten VirtualBox mithilfe der GUI nach dem einrichten dieser virtuellen Computers von der CLI, im Hinterkopf behalten, dass diese VM erstellt wurde, als root, so müssen Sie zum starten der VirtualBox-GUI als root zu sehen, diese VM in der Liste. Ansonsten sollte es normal funktionieren.

Auch, Wenn Sie wollen, dass die Maschine zu laufen, während Ihre desktop-Umgebung heruntergefahren haben, müssen Sie mit der rechten Maustaste, um das starten der Maschine im headless-Modus.