So erstellen Sie virtuelle VirtualBox-Maschinen vom Linux-Terminal

Inhalt

VirtualBox-Logo

Die meisten Cloud-Anbieter mieten virtuelle Server statt echter Hardware. Wenn Sie dasselbe auf Ihren eigenen Servern tun möchten, ob verschiedene Betriebssysteme ausgeführt oder mehrere Umgebungen verwaltet werden sollen, Sie können es vollständig von Ihrem Terminal aus tun.

Wenn Sie planen nur mit virtuellen Maschinen, Sie könnten an einem Hypervisor interessiert sein. Ein Hypervisor ersetzt Ihr Host-Betriebssystem und wurde speziell für die Verwaltung mehrerer virtueller Maschinen entwickelt. Sie können keine Anwendungen auf dem Host-Betriebssystem ausführen, aber Sie können Ubuntu Server oder so etwas ganz einfach virtualisieren und die Anwendungen auf dem Hypervisor ausführen.

Installieren von VirtualBox und dem VBox-Erweiterungspaket

VirtualBox ist eine kostenlose GUI-basierte Virtualisierungssoftware, die als Anwendung auf Ihrem Host-Betriebssystem ausgeführt wird (ein Hypervisor vom Typ 2). Möglicherweise haben Sie es schon einmal auf einem PC verwendet, um eine virtuelle Maschine einzurichten, aber VirtualBox hat tatsächlich eine vollständige Befehlszeilenschnittstelle und kann nur von einem Terminal aus vollständig verwendet werden, was es perfekt für diesen Anwendungsfall macht. Eine andere Lösung wäre QEMU, aber VirtualBox ist getestet und unschlagbar, weil es kostenlos und Open Source ist.

Trotz dieses, VirtualBox CLI ist etwas schwierig zu handhaben, also wenn du nur auf einem Homeserver spielst und ein wenig RAM übrig hast, Sie können eine schlanke Desktop-Umgebung auf Ihrem Server installieren und VirtualBox wie gewohnt konfigurieren. Sie können virtuelle Maschinen weiterhin im Headless-Modus ausführen, um sie nach dem Abmelden von DE am Laufen zu halten.

Wenn Sie sich an die CLI . halten möchten, die Installation ist ganz einfach, da es direkt von aktiviert wird apt:

sudo apt-get install virtualbox

Trotz dieses, Sie sollten sich die installierte Version notieren ( VBoxManage -v ), da musst du noch ein paar dinge installieren. Weil wir im Headless-Modus einrichten, Wir benötigen eine Möglichkeit, eine Verbindung zum Computer herzustellen, bevor SSH konfiguriert werden kann / EPLR.

Gehe zu VirtualBox-Downloadseiteund suchen Sie den Link zum Erweiterungspaket für die Version, auf der es ausgeführt wird. Laden Sie es herunter mit wget:

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

Und installiere es:

sudo VBoxManage extpack installieren Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Aus irgendeinem Grund, VRDE schien bei uns nicht zu funktionieren, wenn das integrierte VNC-Erweiterungspaket installiert war. Das Entfernen dieses Pakets hat das Problem behoben:

sudo VBoxManage extpack deinstallieren VNC

Richten Sie eine virtuelle Maschine ein

Anfangen, Wir erstellen eine neue virtuelle Maschine mit dem Namen “Ubuntu”. Sie können eine Liste der unterstützten Betriebssystemtypen anzeigen 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 beides kann später erweitert werden. Bitte beachten Sie, dass die Festplatte eine virtuelle Festplatte ist und nicht vorbelegt ist.

sudo VBoxManage modifyvm "Ubuntu" --Erinnerung 4096
sudo VBoxManage createhd --Dateiname "Ubuntu.vdi" --Größe 32000

Festlegen der Anzahl virtueller CPUs. Dies wird in Threads gemessen, nicht auf vollen CPU-Kernen.

sudo VBoxManage modifyvm "Ubuntu" --Cpus 2

Im Folgenden finden Sie eine weitere Konfiguration für die Festplatte. Im Allgemeinen, Dies geschieht automatisch, wenn Sie Computer aus der GUI erstellen, Sie müssen jedoch manuell einen SAS-Treiber erstellen und ihn mit der VM verbinden, damit die Festplatte ordnungsgemäß funktioniert.

sudo VBoxSpeicher verwaltenctl "Ubuntu" --Name "SAS-Controller" --add sas --controller LSILogicSAS
sudo VBoxManage storageattach "Ubuntu" --storagectl "SAS-Controller" --Hafen 0 --Gerät 0 --Geben Sie hdd ein --medium "Ubuntu.vdi"
sudo VBoxSpeicher verwaltenctl "Ubuntu" --Name "SAS-Controller" --hostiocache auf

Wir werden dasselbe mit der Festplatte tun, die die ISO enthält, um das Betriebssystem zu installieren. Dies setzt voraus, dass Ihre ISO bei /home/user/Ubuntu.iso, Ändern Sie es daher entsprechend.

sudo VBoxSpeicher verwaltenctl "Ubuntu" --Name "IDE-Controller" --add ide --controller PIIX4
sudo VBoxManage storageattach "Ubuntu" --storagectl "IDE-Controller" --Hafen 0 --Gerät 0 --Typ dvddrive --medium "/home/user/Ubuntu.iso"

Nach, Aktivieren Sie einige leistungsbezogene Schalter, um Verlangsamungen durch übermäßige RAM-Auslastung zu vermeiden:

sudo VBoxManage modifyvm "Ubuntu" --nestedpaging on
sudo VBoxManage modifyvm "Ubuntu" --großeSeiten auf

Nächste, Wir werden das Netzwerk erstellen, das diese virtuelle Maschine verwenden wird. Es gibt viele Möglichkeiten für diesen Schritt:

  • NAT, das einfachste, die es der VM einfach ermöglicht, über die Netzwerkadressübersetzung mit der Außenwelt zu kommunizieren (NAT). Dadurch können virtuelle Maschinen nicht miteinander kommunizieren und kein Host-zu-Gast-Kontakt zugelassen werden, es sei denn, der Port wird weitergeleitet.
  • NAT-Netzwerk entspricht NAT, außer dass das Netzwerk von den virtuellen Maschinen geteilt wird und sie miteinander kommunizieren können. Das NAT-Netzwerk fungiert als virtuelles Subnetz.
  • Überbrückt, die die physische Verbindung direkt an die VM bindet. Die virtuelle Maschine hat eine echte IP-Adresse in Ihrem Netzwerk. Dies kann sogar mit einer einzigen Wi-Fi-Verbindung funktionieren / Ethernet, aber wenn Sie eine Netzwerkkarte mit vielen Ethernet-Ports haben, kann eine vollständige Schnittstelle direkt einer virtuellen Maschine zuweisen.
  • Rot virtuell, Verbinden mehrerer Instanzen in einem isolierten virtualisierten Netzwerk. Dies ist nützlich, um reale Netzwerke zu modellieren, aber nicht für die meisten Anwendungsfälle geeignet.
  • Nur-Host-Adapter, entspricht dem virtuellen Netzwerk, ermöglicht es aber, mit dem Gastgeber zu sprechen (nicht mit dem Internet).

Für dieses Beispiel, Wir werden das NAT-Netzwerk verwenden, da es einfach zu konfigurieren und das vielseitigste der Gruppe ist, bietet ein ausgewogenes Verhältnis von Konnektivität und Isolation.

Erstellen Sie ein neues Netzwerk im 10.0.0.0/24 Subnetz, Anfangen:

sudo VBoxManage natnetwork add --netname natnet1 --network "10.0.0.0/24" --enable
sudo VBoxManage natnetwork start --netname natnet1

Und fügen Sie es an die VM an:

sudo VBoxManage modifyvm "Ubuntu" --NIC1 NATNETWORK --NAT-NETZWERK1 NATNET1

Nächste, wir müssen konfigurieren, wie wir auf diese Instanz zugreifen. Weil wir dies auf einem Headless-Server installieren (keine Videoausgabe), wir können den Installationsvorgang nicht abschließen und einen RDP-Client auf dem Gastbetriebssystem installieren. Um das zu lösen, Wir werden den VirtualBox VRDE-Server verwenden, der Hauptgrund, warum wir das VirtualBox-Erweiterungspaket früher installiert haben. Dieser erfasst die virtuelle Bildschirmausgabe und stellt sie über RDP zur Verfügung.

Schalten Sie dies ein und legen Sie einen Port dafür fest. Sie sollten sicherstellen, dass dieser Port auf dem Hostbetriebssystem geöffnet ist.

sudo VBoxManage modifyvm "Ubuntu" --vrde on
sudo VBoxManage modifyvm "Ubuntu" --vrdeport 5587

Schließlich, Wir können die virtuelle Maschine im Headless-Modus starten und die Installation des Betriebssystems starten.

sudo VBoxManage startvm "Ubuntu" --Typ kopflos

Beachten Sie, dass der Headless-Modus bedeutet, dass Sie auf einem Headless-Server ausgeführt werden, und nicht, dass das Gastbetriebssystem keinen Videoausgang hat.

Es dauert ein oder zwei Sekunden, um zu beginnen, und Sie können einen RDP-Client starten und über den von Ihnen angegebenen Port eine Verbindung herstellen. Sie können einen Benutzernamen und ein Passwort anfordern; VRDE ist standardmäßig “Administrator” kein Passwort.

Portweiterleitung nach Konfiguration

Sobald die Installation des Betriebssystems abgeschlossen ist, Sie müssen eine Portweiterleitung durchführen, um den Zugriff nach dem Herunterfahren von VRDE aufrechtzuerhalten, im Wesentlichen wie das Öffnen von Firewall-Regeln. Wenn Sie eine Headless-Umgebung wie Linux einrichten, Sie müssen nur SSH weiterleiten. Der folgende Befehl fügt Ihrem NAT-Netzwerk eine Portweiterleitungsregel hinzu, um den Port weiterzuleiten 2200 auf dem Host-Betriebssystem zum Standard-SSH-Port auf dem Gast. Beachten Sie, dass dieser Port in der Firewall Ihres Hosts geöffnet sein muss, damit dies funktioniert.

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "ssh:tcp:[]:2200:[10.0.0.2]:22"

Wenn Sie RDP konfigurieren, Sie müssen den RDP-Server im Gastbetriebssystem konfigurieren und sicherstellen, dass der RDP-Port in der Gast-Firewall geöffnet ist. Danach, Sie können den Port auf die gleiche Weise weiterleiten:

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "rdp:tcp:[]:5589:[10.11.0.2]:3389"

Wenn Sie Portweiterleitungsregeln löschen müssen, Sie müssen sie mit diesem ziemlich unhandlichen Befehl nach Namen löschen (Die erste Zeichenfolge vor dem Doppelpunkt):

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp / sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp, sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp:

sudo VBoxManage modifyvm "Ubuntu" --sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp

Wenn Sie diese virtuelle Maschine für längere Zeit über RDP verwenden möchten, Vielleicht möchten Sie die VirtualBox Guest Additions-Suite für Ihr Gastbetriebssystem installieren.


Wenn Sie sich entscheiden, VirtualBox über die GUI zu verwalten, nachdem Sie diese VM über CLI . konfiguriert haben, Beachten Sie, dass diese VM erstellt wurde als root, Sie müssen also die VirtualBox-GUI starten als root um diese virtuelle Maschine in der Liste zu sehen. Gegenteiliger Fall, sollte regelmäßig arbeiten.

Zur selben Zeit, wenn Sie möchten, dass der Computer läuft, während Ihre Desktop-Umgebung ausgeschaltet ist, Sie müssen mit der rechten Maustaste klicken, um die Maschine im Headless-Modus zu starten.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.