Virtualisierungslösungen auf Linux-Systemen – KVM und VirtualBox

Virtualisierungspakete sind Mittel für Benutzer, um verschiedene Betriebssysteme ohne „Bare-Metal“ -Hardware auszuführen – grundsätzlich können Sie mehr als ein Betriebssystem auf einem einzigen Computer ausführen, ohne Dual-Boot oder ähnliche Ansätze. Virtualisierungssoftware emuliert eine echte Maschine und „täuscht“ das Gastbetriebssystem vor, dass es auf einem echten Computer läuft. Neben den offensichtlichen Vorteilen tragen virtuelle Maschinen dazu bei, eine umweltfreundlichere und einfacher zu verwaltende Computerumgebung zu schaffen. Mit Blick auf die Trends in der IT-Branche hat die Virtualisierung in den letzten Jahren einen ziemlichen Boom erlebt, da sie zu den Konzepten von Utility Computing und / oder Software as a Service passt. Virtualisierung kann für Sie nützlich sein, wenn Sie ein Unternehmensarchitekt, Entwickler, Heimanwender oder im Grunde alles dazwischen sind. Wir werden mit einer kurzen Einführung über Virtualisierung im Allgemeinen beginnen, dann werden wir speziell VirtualBox und KVM behandeln, da sie die beliebtesten Open-Source-Vollvirtualisierungslösungen zu sein scheinen. Es wird erwartet, dass Sie sich mit Linux-Systemen auskennen, wie Sie eine Linux-Distribution installieren und wie Sie Software darauf installieren, obwohl wir Ihnen zeigen, wie Sie die beiden oben genannten Virtualisierungspakete auf einigen der beliebtesten Linux-Distributionen installieren.

Es gibt zwei Arten der Virtualisierung : eine, die das Gastsystem so ausführen kann, wie es ist (wie in, unverändert), und eine andere, die einen modifizierten Kernel auf der Gastseite anfordert, um ausgeführt zu werden. Die erste Kategorie heißt Full Virtualization, weil sie eine komplette Hardwareumgebung emuliert, die zweite heißt Paravirtualization , weil sie keine Hardware emuliert und daher spezielle Modifikationen auf Gastebene benötigt, ein gutes Beispiel für diese Art der Virtualisierung ist Xen. Diese sind Teil einer größeren Kategorie namens Hardware-Virtualisierung, aber es gibt auch andere Virtualisierungstypen (unter anderem Software, Netzwerk oder Speicher), auf die wir hier nicht näher eingehen werden. Die beiden Softwareteile, über die wir sprechen werden, passen in die Kategorie der vollständigen Virtualisierung. Andere beliebte Hardware-Virtualisierungstechnologien sind QEMU, Bochs, VMware, Parallels, HyperV oder OpenVZ.

ABONNIEREN SIE den NEWSLETTER & RSS
Abonnieren Sie RSS und NEWSLETTER und erhalten Sie die neuesten Linux-Nachrichten, Jobs, Karriereberatung und Tutorials.

Wann ist Virtualisierung sinnvoll?

Linux-Distributionen

Die Linux-Welt ist voll von interessanten und verlockenden Angeboten. Es gibt über 600 (!) Linux-Distributionen zur Auswahl, was es für eine Person, die nur einen Computer hat, schwierig macht, sie alle oder nur einige wenige auszuprobieren. LiveCDs sind nicht immer hilfreich, daher muss man sie möglicherweise installieren, um das Wesentliche zu erfahren. Jede Linux-Distribution Release bringt neue und spannende Features, und Sie können den Nervenkitzel und den Impuls, es zu installieren und zu testen fühlen. Geben Sie Virtualisierung ein. Sie laden die ISO herunter, installieren die Distribution in einer virtuellen Umgebung und können in kurzer Zeit loslegen. Sie mögen es nicht, Sie löschen es. Besonders wenn Sie neu in der Linux-Welt sind und durch die große Anzahl verfügbarer Distributionen verwirrt sein könnten, ist dies möglicherweise genau das, was Sie brauchen. Wenn Sie ein Entwickler sind und den Entwicklungszweig Ihrer Distribution ausführen müssen (denken Sie an Fedora Rawhide oder Debian Sid), der jedoch für den täglichen Gebrauch zu instabil ist, installieren Sie ihn in einer VM und beginnen Sie mit der Entwicklung.

Andere Betriebssysteme

Dies gilt auch für andere Betriebssysteme, die Sie möglicherweise benötigen: Vielleicht haben Sie ein Propgram, das nur unter Windows ausgeführt wird, und Sie möchten Windows nicht nur für dieses eine Programm installieren. Vielleicht möchten Sie Solaris lernen, aber es fehlt die Hardware. Vorausgesetzt, Sie verfügen über die entsprechende Computerkonfiguration, die die Virtualisierung unterstützt, können Sie dies jetzt tun.

Was Sie brauchen

Moderne Prozessoren verfügen über spezielle CPU-Anweisungen für die Hardware-Emulation. Sie können ohne leben, wollen es aber wirklich nicht, da das Host-Betriebssystem die fehlende Virtualisierungsanweisung emulieren muss und dies Ihre Gäste erheblich verlangsamt. Wir gehen davon aus, dass auf Ihrem Host-Betriebssystem Linux installiert ist und Ihre CPU über die erforderlichen Virtualisierungsfunktionen verfügt. Der einfachste Weg, um zu überprüfen, ob Ihre CPU das Zeug dazu hat,

 $ egrep '(vmx|svm)' /proc/cpuinfo 

und wenn dies entweder vmx (Intel-CPUs) oder svm (AMD-CPUs) zurückgibt, können Sie loslegen. Aber das ist natürlich nicht die einzige Anforderung auf der Hardwareseite. Überprüfen Sie die Webseite des Systems, das Sie als Gast installieren möchten, um zu überprüfen, ob Sie die Hardwareanforderungen erfüllen. Wir empfehlen mindestens 20 GB freien Speicherplatz in Ihrem Home-Verzeichnis und mindestens 2 GB Arbeitsspeicher auf dem Host, damit Sie dem Gast für eine optimale Leistung durchschnittlich 768 MB zuweisen können. Wenn Sie mehrere virtuelle Maschinen (möglicherweise parallel) ausführen möchten, steigen diese Anforderungen natürlich erheblich.

KVM oder VirtualBox?

Warum sollten wir Ihnen zunächst zwei Virtualisierungspakete anbieten? Warum nicht eine für alle Ihre Bedürfnisse? Nun, wir glauben an das Konzept „das richtige Werkzeug für den Job“. KVM bietet einige Funktionen, die VirtualBox nicht bietet, und umgekehrt. In der IT-Welt gibt es kein universelles Werkzeug, daher ist es wichtig, etwas zu verwenden, das Ihren Anforderungen entspricht. Die Grundidee ist : wenn Sie eine binäre Linux-Distribution als Gast installieren möchten, verwenden Sie KVM. Es ist schneller und seine Treiber sind im offiziellen Kernel-Baum enthalten. Wenn Ihr Gast viel Kompilieren erfordert und erweiterte Funktionen benötigt und / oder kein Linux-System ist, sollten Sie sich für VirtualBox entscheiden.

Die technischen Gründe sind ganz einfach: KVM ist besser in Linux integriert, es ist kleiner und schneller, und obwohl Sie es mit anderen Gästen als Linux verwenden können, fanden wir die Erfahrung ziemlich problematisch : BSDs neigen dazu, langsame E / A zu haben, und Solaris (OpenIndiana, um genau zu sein) neigt dazu, unmittelbar nach dem Booten der Installations-ISO in Panik zu geraten. Da wir AKTUELLE Versionen von BSD verwenden (und das System häufig aus dem Quellcode kompilieren / aktualisieren) und auch Solaris benötigen, fanden wir VirtualBox eine bessere Option.

Ein weiteres Plus für Oracle VirtualBox ist die Tatsache, dass es Suspend unterstützt, dh Sie können den Maschinenstatus auf der Festplatte des Hosts speichern und VirtualBox schließen. Deshalb haben wir uns auf die Quellzusammenstellung bezogen : wenn Sie eine laute Maschine haben, die Sie nicht über Nacht eingeschaltet lassen möchten, aber Ihre Gentoo Virtual Machine kompiliert einfach eine neue gcc-Version, setzt den Maschinenstatus aus, fährt den Host herunter und fährt morgen fort.

Was Sie lernen

Wir zeigen Ihnen, wie Sie KVM und VirtualBox installieren und wie Sie einen Linux-Gast auf einem Linux-Host installieren und konfigurieren. Beispiele mit anderen Unices sind sehr ähnlich, so dass wir keine Notwendigkeit sehen, uns zu wiederholen.

Installation

Obwohl KVM Solaris, BSD, ReactOS, Windows und andere als unterstützte Gäste bewirbt, waren unsere Erfahrungen weniger als fruchtbar. Dies ist keine Kritik, da wir uns ehrlich gesagt nicht zu sehr mit dem Thema befasst haben. Aber das ist nicht aus Faulheit : Nachdem wir mit anderen Leuten im Netz gesprochen hatten, stellten wir fest, dass wir neben Linux nicht die einzigen sind, die Probleme mit Unix-ähnlichen Gästen haben, also haben wir uns einfach für VirtualBox entschieden. Wie immer kann Ihr Kilometerstand variieren : Auch wir möchten KVM ausschließlich verwenden, weil es „freier“ ist, aber aufgrund der oben genannten Probleme, die natürlich nur für unser Setup spezifisch sein könnten, mussten wir VirtualBox verwenden. Derzeit wird KVM von Red Hat entwickelt und kann auf den meisten Linux-Distributionen problemlos installiert werden. Wie bereits erwähnt, werden wir nur die Installationsverfahren für wichtige Linux-Distributionen skizzieren.

Fedora

Da Red Hat, der Sponsor von Fedora, jetzt KVM entwickelt, bietet Fedora eine Vielzahl von Tools für die Virtualisierung. Die offizielle Dokumentation, obwohl für Fedora 13, gilt für spätere Versionen. Sie können KVM einfach mit

 # yum install kvm 

installieren, um die Befehlszeile zu verwenden, oder Sie können einige grafische Tools installieren, mit denen Sie Ihre virtuellen Installationen verwalten können :

 # yum install virt-manager libvirt libvirt-python python-virtinst 

Sie müssen keine weiteren Befehle ausführen, da der Installationsprozess auf Fedora das KVM-Modul für das automatische Laden markiert. Wenn Sie nicht neu starten möchten, verwenden Sie modprobe, um das Modul an Ort und Stelle zu laden.

Debian

Debians Wiki kommt noch einmal zur Rettung, und wenn man den Anweisungen folgt, hat man KVM installiert und kann in kürzester Zeit loslegen. Es geht darum,

 # apt-get install qemu-kvm libvirt-bin 

zu installieren, einzurichten und das KVM- (amd | intel) Kernelmodul beim Booten zu laden.

Slackware

Slackbuild für KVM, das Sie gemäß dieser Anleitung verwenden können. Wenn Sie einen modifizierten Kernel haben oder nur sicherstellen möchten, dass Ihr Kernel KVM aktiviert hat, geben Sie

 $ cat /boot/config |grep -i kvm 

ein und überprüfen Sie auch /etc/rc.d/rc.module, um zu sehen, ob das KVM-Modul so eingestellt ist, dass es beim Booten geladen wird.

Arch

Das Wiki Arch Linux ist ein guter Leitfaden für alles, was mit KVM zu tun hat. Da Arch wie Slackware eine DYI-Distribution ist, müssen Sie möglicherweise einige zusätzliche Schritte ausführen, um KVM zu verwenden. Die Installation ist so einfach wie

 # pacman -S qemu-kvm 

Die gleichen Schritte sind hier wie auf einer Slackware-Maschine auszuführen: Fügen Sie Ihren Benutzer hinzu, überprüfen Sie, ob Ihre CPU Virtualisierung unterstützt und KVM in Ihrem Kernel aktiviert ist.

VirtualBox

Fedora

Die VirtualBox-Site bietet eine Repo-Datei an, die in / etc/yum hinzugefügt werden kann.repos.d / und führen Sie dann eine

 # yum update

aus, um yum über Ihr neues Repo zu informieren und es zu indizieren. Dann führen Sie eine

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

und du solltest eingestellt sein.

Debian

Wir wollen hier nicht Partei ergreifen, aber es sieht so aus, als ob Debians Dokumentation besser und gründlicher ist. Geben Sie zur Installation einfach

 # apt-get install linux-headers-$version virtualbox-ose 

ein, um alle erforderlichen Pakete zu installieren, das Kernelmodul für Sie zu kompilieren und beim Start zu laden.

Slackware

SlackBuilds.org hat eine VirtualBox (die Open Source Edition, die einzige, über die wir hier sprechen werden) Eintrag. Ein HOWTO zur Verwendung von Slackbuilds finden Sie hier. Weitere Informationen finden Sie auf linuxquestions.org, Informationen, die Sie besonders nützlich finden könnten, wenn Sie auf einem Slackware 13.37 64-Bit-Rechner sind. Denken Sie daran, die README des Slackbuild zu lesen, und es sollte in Ordnung sein.

Arch

Die Dokumentation von Arch ist hilfreich und vollständig und entspricht der von Debian, sodass Sie keine Probleme haben sollten, die benötigten Informationen zu finden. Alles, was Sie installationsweise tun müssen, ist

 # pacman -S virtualbox qt 

und Sie sind fertig. Sie benötigen Qt für die GUI, wenn Sie nur CLI benötigen, installieren Sie es nicht.Der Rest der Konfigurationsschritte ähnelt Fedoras, verwenden Sie also die Dokumentation, um loszulegen.

ABONNIEREN SIE den NEWSLETTER & RSS
Abonnieren Sie RSS und NEWSLETTER und erhalten Sie die neuesten Linux-Nachrichten, Jobs, Karriereberatung und Tutorials.

Verwendung

Wie Sie vielleicht bemerkt haben, sind wir dagegen, blind von einer Handbuchseite zu kopieren und zu versuchen, dieses Handbuch zu ersetzen. Wir werden allgemeine und übliche Optionen und Befehlszeilenflaggen skizzieren (ja, wir empfehlen die Verwendung von CLI bei der Arbeit mit KVM und GUI bei der Arbeit mit VirtualBox), aber Sie lesen die Handbuchseite ist wichtig, vor allem, wenn es um ein Stück geht etwas komplexe Software wie diese.

Storage

Wir empfehlen Ihnen, ein separates Verzeichnis zu erstellen, in dem Sie die Images der virtuellen Festplatte speichern, und ein weiteres separates Verzeichnis, in dem die für die Installation verwendeten ISO-Dateien gespeichert sind. Am Ende wissen nur Sie am besten, wie Sie Ihre Dateien organisieren, aber dieses Setup wird Ihnen das Leben leichter machen. Nehmen wir zum Beispiel an, wir möchten Fedora installieren. Bei der Verwendung von KVM ist uns eine etwas geringere Bandbreite als bei unserem ISP aufgefallen, ein Problem, das VirtualBox nicht zu haben scheint. Also installieren wir von DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

Wenn Sie Curl, kget oder einen anderen Download-Manager bevorzugen, verwenden Sie ihn natürlich. Gleiches gilt für den Spiegel : Verwenden Sie einen in Ihrer Nähe, um das Herunterladen zu beschleunigen. So richten Sie nun unsere Umgebung für virtuelle Festplatten ein :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

Bevor Sie fortfahren, empfehlen wir Ihnen, kvm-img ohne Argumente auszuführen, um die wichtigsten Optionen und Festplattenformate anzuzeigen. Was die zweite Zeile oben macht: Sie erstellt eine virtuelle Festplattendatei (IMG-Format) mit dem Namen fedora15 und einer Größe von 15 Gigabyte.

Installation

Jetzt können wir die Installation von Fedora 15 auf unserer neu erstellten Festplatte starten :

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

Was wir gerade gemacht haben : -m steht für die Größe des zugewiesenen Speichers in Megabyte, -boot teilt kvm das primäre Startgerät mit (denken Sie an Windows-Laufwerksbuchstaben), -cdrom ist offensichtlich, -hda ist die erste Festplatte (Sie können mehr als eine Festplatte verwenden, wenn Sie Platz haben, wobei -hdb die zweite Festplatte ist usw.), und wir haben das kaufmännische Und am Ende der Befehlszeile verwendet, um die Kontrolle über das Terminal wiederzugewinnen. Strg + Alt gibt / übernimmt die Kontrolle über / von der virtuellen Maschine in Bezug auf die Mauserfassung.

Verwenden der virtuellen Maschine

 $ kvm -m 768 -boot c -hda fedora15.img & 

Vorschlag: erstellen Sie eine Datei im kvmhdd (oder den Namen, den Sie für das Arbeitsverzeichnis gewählt haben) mit dem Namen fedora15.sh das enthält die obige Zeile, macht sie ausführbar und führt sie bei Bedarf einfach aus :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

Das war’s. Sollten Sie weitere Optionen benötigen, lesen Sie die kvm-Handbuchseite, da sie gut geschrieben ist und Ihnen mit Sicherheit helfen wird.

VirtualBox

Erstellen einer virtuellen Maschine

Die Benutzeroberfläche von VirtualBox verwendet den Assistenten-Ansatz, um Ihnen beim Erstellen einer neuen virtuellen Maschine zu helfen. Drücken Sie Strg + N, um eine neue VM zu erstellen, und geben Sie dann den Namen ein, den Sie ihr geben möchten (verwenden Sie etwas Suggestives wie „Fedora15x86_64“. Basierend auf dieser Benennung bestimmt VirtualBox automatisch, welche Art von System Sie einrichten möchten, und passt sich automatisch an.

Wählen Sie als Nächstes die Speichermenge aus, die Fedora haben soll, und VirtualBox versucht, je nach Betriebssystem und Architektur einen Wert vorzuschlagen. Wir empfehlen Ihnen, nicht viel tiefer zu gehen, da Ihre VM aufgrund von Speicherproblemen einfrieren kann (Anaconda weigert sich übrigens, die Installation im Grafikmodus mit weniger als 768 MB zu starten). Erstellen Sie dann die Festplatte, geben Sie ihre Größe ein (die Empfehlung zu Vorschlägen gilt auch hier) und weisen Sie sie dynamisch zu (kein großes Problem, wenn Sie dies nicht tun, nur dass wir diese Methode gefunden haben) etwas schneller in Bezug auf E / A) und du bist fertig. Im Hauptfenster von VirtualBox sehen Sie Ihre neue virtuelle Maschine aufgelistet und rechts die Einstellungen. Ändern Sie sie nach Belieben und achten Sie darauf, von DVD zu booten. Wenn Sie mehrere Kerne haben und diese verwenden möchten, ist der Abschnitt System der richtige Ort.

Ausführen einer virtuellen Maschine

Halten Sie nach der Installation die VM an und ändern Sie die Startreihenfolge, damit Sie von der Festplatte booten können. Wenn alles in Ordnung ist, starten Sie Fedora 15 jetzt in einer VirtualBox-Umgebung. Wir haben bereits gesagt, dass das Gastbetriebssystem auf KVM und VBOX keine Änderungen benötigt. Während wir Recht hatten, kann das Gasterlebnis in VirtualBox mit Dingen wie Vollbildansicht oder freigegebenen Ordnern verbessert werden, indem die VirtualBox Guest Additions installiert werden. Dies ist im Grunde ein Kernelmodul und einige Xorg-Treiber für den Gast, die Sie auf Ihrem neuen Fedora installieren können, indem Sie die folgenden Schritte ausführen :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

Starten Sie die VM nach der Installation neu, gehen Sie zum Menü Geräte, wählen Sie „Install Guest Additions“, wodurch das vorhandene Guest Additions-ISO-Image auf dem Gast (on / media) bereitgestellt wird, und führen Sie als root einfach

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

aus Starten Sie anschließend erneut und Sie haben erweiterte Funktionen von VirtualBox zur Verfügung.

Fazit

Wenn es um die Auswahl von Virtualisierungslösungen geht, wie bei Editoren, Desktop-Umgebungen oder sogar Betriebssystemen, hat jeder eine persönliche Meinung, die auf Erfahrung, Lesen und dem basiert, was seine Freunde verwenden. Dies ist unsere Erfahrung und wir laden Sie ein, zu experimentieren und zu optimieren, bis Sie den besten Weg gefunden haben. Es gibt natürlich auch andere Virtualisierungssoftware-Pakete, aber der begrenzte Platz würde uns nicht über alle schreiben lassen. Dies sind die am besten geeigneten Lösungen für einen Heimanwender (Open Source), aber das bedeutet nicht, dass sie nicht auch auf Unternehmensebene verwendet werden. Wir hoffen nur, dass dies Ihnen hilft, loszulegen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.