Überprüfung nützlicher Software zur Verwaltung der Virtualisierung. Mithilfe von KVM virtuelle Maschinen auf dem Server erstellen. Erstellen eines Gastsystems

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Ich schreibe diese Notiz, um es zu demonstrieren Schritt-für-Schritt-Installation und Einrichten einer KVM-basierten virtuellen Maschine unter Linux. Ich habe zuvor über Virtualisierung geschrieben, wo ich die wunderbare .

Jetzt stehe ich vor einem Mietproblem. guter Server mit großem Volumen Arbeitsspeicher und eine große Festplatte. Aber ich möchte Projekte nicht direkt auf dem Host-Rechner ausführen, deshalb werde ich sie in separate kleine virtuelle Server aufteilen, auf denen Linux- oder Docker-Container laufen (ich werde in einem anderen Artikel darüber sprechen).

Alles modern Cloud-Hosting funktionieren nach dem gleichen Prinzip, d.h. Ein Hoster mit guter Hardware bringt einiges ein Virtuelle Server, die wir früher VPS/VDS nannten, und verteilt sie an Benutzer oder automatisiert diesen Prozess (Hallo, DigitalOcean).

KVM (kernelbasierte virtuelle Maschine) ist Software für Linux, die die Hardware x86-kompatibler Prozessoren nutzt, um mit der Intel VT/AMD SVM-Virtualisierungstechnologie zu arbeiten.

KVM installieren

Ich werde alle Machenschaften zum Erstellen einer virtuellen Maschine unter Ubuntu 16.04.1 LTS OS ausführen. Um zu überprüfen, ob Ihre Prozesse Hardwarevirtualisierung unterstützen Intel-basiert VT/AMD SVM, ausführen:

Grep -E "(vmx|svm)" /proc/cpuinfo

Ist das Terminal nicht leer, ist alles in Ordnung und KVM kann installiert werden. Ubuntu unterstützt offiziell nur den KVM-Hypervisor (im Lieferumfang enthalten). Linux-Kernel) und empfiehlt die Verwendung der libvirt-Bibliothek als Werkzeug zur Verwaltung, was wir als Nächstes tun werden.

Sie können die Hardware-Virtualisierungsunterstützung in Ubuntu auch mit dem folgenden Befehl überprüfen:

Bei Erfolg sehen Sie etwa Folgendes:

INFO: /dev/kvm vorhanden KVM-Beschleunigung kann verwendet werden

Installieren Sie Pakete für die Arbeit mit KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder Bridge-Utils

Wenn Sie Zugriff auf die grafische Shell des Systems haben, können Sie den libvirt-GUI-Manager installieren:

Sudo apt-get install virt-manager

Die Verwendung von virt-manager ist recht einfach (nicht schwieriger als VirtualBox), daher werden wir in diesem Artikel über die Konsolenoption zum Installieren und Konfigurieren eines virtuellen Servers sprechen.

Installieren und Konfigurieren eines virtuellen Servers

In der Konsolenversion der Installation, Konfiguration und Systemverwaltung ist das Dienstprogramm virsh (ein Add-on zur libvirt-Bibliothek) ein unverzichtbares Werkzeug. Es verfügt über eine große Anzahl von Optionen und Parametern, detaillierte Beschreibung kann man so erhalten:

Mann Virsh

oder rufen Sie die Standard-Hilfe auf:

Virsh-Hilfe

Bei der Arbeit mit virtuellen Servern halte ich mich stets an folgende Regeln:

  1. Ich speichere ISO-OS-Images im Verzeichnis /var/lib/libvirt/boot
  2. Ich speichere Bilder virtueller Maschinen im Verzeichnis /var/lib/libvirt/images
  3. Über den DHCP-Server des Hypervisors weise ich jeder neuen virtuellen Maschine explizit eine eigene statische IP-Adresse zu.

Beginnen wir mit der Installation der ersten virtuellen Maschine (64-Bit-Server Ubuntu 16.04 LTS):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Nachdem Sie das Image heruntergeladen haben, starten Sie die Installation:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/ lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --disk path=/var/lib/libvirt/images/ubuntu1604. img,size=20,bus=virtio

Wenn wir alle diese Parameter in „menschliche Sprache“ übersetzen, stellt sich heraus, dass wir eine virtuelle Maschine mit dem Betriebssystem Ubuntu 16.04, 1024 MB RAM, 1 Prozessor und einer Standard-Netzwerkkarte erstellen (die virtuelle Maschine greift wie aufgrund von NAT auf das Internet zu ), 20 GB Festplatte.

Es lohnt sich, auf den Parameter zu achten --os-variant, teilt es dem Hypervisor mit, an welches Betriebssystem die Einstellungen angepasst werden sollen.
Eine Liste der verfügbaren Betriebssystemoptionen erhalten Sie, indem Sie den folgenden Befehl ausführen:

Osinfo-Abfrage os

Wenn ein solches Dienstprogramm nicht auf Ihrem System vorhanden ist, installieren Sie Folgendes:

Sudo apt-get install libosinfo-bin

Nach dem Start der Installation erscheint in der Konsole folgende Meldung:

Die Domäneninstallation läuft noch. Sie können sich erneut mit der Konsole verbinden, um den Installationsvorgang abzuschließen.

Dies ist eine normale Situation, wir werden die Installation über VNC fortsetzen.
Schauen wir uns an, welcher Port auf unserer virtuellen Maschine aktiviert wurde (z. B. im nächsten Terminal):

Virsh dumpxml ubuntu1604... ...

Port 5900, auf lokaler Adresse 127.0.0.1. Um eine Verbindung zu VNC herzustellen, müssen Sie die Portweiterleitung über SSH verwenden. Stellen Sie vorher sicher, dass die TCP-Weiterleitung im SSH-Daemon aktiviert ist. Gehen Sie dazu in die SSHD-Einstellungen:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Wenn nichts gefunden wurde oder Folgendes angezeigt wird:

AllowTcpForwarding Nr

Dann bearbeiten wir die Konfiguration

AllowTcpForwarding ja

und sshd neu starten.

Portweiterleitung einrichten

Wir führen den Befehl auf dem lokalen Rechner aus:

Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip

Hier haben wir die SSH-Portweiterleitung vom lokalen Port 5900 zum Server-Port 5900 konfiguriert. Jetzt können Sie mit jedem VNC-Client eine Verbindung zu VNC herstellen. Ich bevorzuge UltraVNC wegen seiner Einfachheit und Bequemlichkeit.

Nach erfolgreicher Verbindung wird das Standard-Willkommensfenster zum Starten der Ubuntu-Installation auf dem Bildschirm angezeigt:

Nach Abschluss der Installation und dem üblichen Neustart erscheint das Anmeldefenster. Nach dem Login ermitteln wir die IP-Adresse der neu erstellten virtuellen Maschine, um diese später statisch zu machen:

Ifconfig

Wir erinnern uns und gehen zur Host-Maschine. Wir ziehen die MAC-Adresse der „Netzwerk“-Karte der virtuellen Maschine heraus:

Virsh dumpxml ubuntu1604 | grep "MAC-Adresse"

Erinnern wir uns an unsere Mac-Adresse:

Bearbeitung Netzwerkeinstellungen Hypervisor:

Sudo virsh net-edit-Standard

Wir suchen nach DHCP und fügen Folgendes hinzu:

Es sollte ungefähr so ​​aussehen:

Damit die Einstellungen wirksam werden, müssen Sie den DHCP-Server des Hypervisors neu starten:

Sudo virsh net-destroy default sudo virsh net-start default sudo service libvirt-bin restart

Danach starten wir die virtuelle Maschine neu, ihr wird nun immer die IP-Adresse zugewiesen – 192.168.122.131.

Es gibt andere Möglichkeiten, eine statische IP für eine virtuelle Maschine festzulegen, beispielsweise durch direktes Bearbeiten der Netzwerkeinstellungen im Gastsystem, aber hier ist alles, was Ihr Herz begehrt. Ich habe gerade die Option gezeigt, die ich am liebsten verwende.

Führen Sie Folgendes aus, um eine Verbindung zum Terminal der virtuellen Maschine herzustellen:

Ssh 192.168.122.131

Das Auto ist kampfbereit.

Virsh: Befehlsliste

So zeigen Sie laufende virtuelle Hosts an (alle verfügbaren können durch Hinzufügen von --all abgerufen werden):

Sudo-Virsh-Liste

Sie können den Host neu starten:

Sudo virsh startet $VM_NAME neu

Stoppen Sie eine virtuelle Maschine:

Sudo virsh stoppt $VM_NAME

Stopp ausführen:

Sudo virsh zerstört $VM_NAME

Sudo virsh start $VM_NAME

Deaktivieren:

Sudo virsh beendet $VM_NAME

Zum Autorun hinzufügen:

Sudo virsh Autostart $VM_NAME

Sehr oft ist es notwendig, ein System zu klonen, um es in Zukunft als Framework für andere virtuelle Betriebssysteme zu verwenden; hierfür wird das Dienstprogramm virt-clone verwendet.

Virt-clone --help

Es klont eine vorhandene virtuelle Maschine und ändert hostsensible Daten, beispielsweise die Mac-Adresse. Passwörter, Dateien und andere benutzerspezifische Informationen im Klon bleiben gleich. Wenn die IP-Adresse auf der geklonten virtuellen Maschine manuell registriert wurde, kann es aufgrund eines Konflikts (2 Hosts mit derselben IP) zu Problemen beim SSH-Zugriff auf den Klon kommen.

Neben der Installation einer virtuellen Maschine über VNC ist es auch möglich, X11Forwarding über das Dienstprogramm virt-manager zu verwenden. Unter Windows können Sie hierfür beispielsweise Xming und PuTTY nutzen.

Heutzutage werden viele Aufgaben, für die traditionell mehrere physische Server erforderlich waren, in virtuelle Umgebungen verlagert. Virtualisierungstechnologien sind auch bei Softwareentwicklern gefragt, da sie ein umfassendes Testen von Anwendungen in verschiedenen Betriebssystemen ermöglichen. Gleichzeitig müssen die Virtualisierungssysteme selbst verwaltet werden, obwohl sie viele Probleme vereinfachen, und dies ist ohne spezielle Lösungen nicht möglich.

Landstreicher

Virtuell VirtualBox-Maschine erfreut sich bei Administratoren und Entwicklern zu Recht großer Beliebtheit, da es Ihnen ermöglicht, schnell die gewünschten Umgebungen über eine grafische Oberfläche oder Schnittstelle zu erstellen Befehlszeile. Wenn die Anzahl der VMs drei nicht übersteigt, treten keine Schwierigkeiten bei der Bereitstellung und Verwaltung auf. Allerdings neigen moderne Projekte dazu, mit Konfigurationen zu überwuchern, und das Ergebnis ist eine sehr komplexe Infrastruktur, die nur schwer zu bewältigen ist. Dieses Problem soll der Vagrant Virtual Environment Manager lösen, der es Ihnen ermöglicht, Kopien virtueller Maschinen mit einer vorgegebenen Konfiguration zu erstellen und VM-Ressourcen je nach Bedarf dynamisch neu zu verteilen (Bereitstellung). Im Basispaket arbeitet Vagrant mit VirtualBox, das Plugin-System ermöglicht jedoch die Anbindung eines weiteren Virtualisierungssystems. Heute ist der Plugin-Code für AWS und Rackspace Cloud offen; ein Plugin zur Unterstützung von VMware Fusion/Workstation ist für ein kommerzielles Abonnement erhältlich.

Vagrant erstellt keine virtuelle Maschine von Grund auf. Der Einfachheit halber bietet das Projekt mehrere Basis-Images (Boxen), die importiert und anschließend für eine schnelle Systembereitstellung verwendet werden; auf Basis der Boxen wird ein Gastbetriebssystem mit der erforderlichen Konfiguration zusammengestellt.

Um die Anwendungsbereitstellung zu vereinfachen, sind Chef und Puppet auf den Boxen vorinstalliert. Darüber hinaus können bei Bedarf die gewünschten Einstellungen vorgenommen werden Shell-Hilfe. Die Umgebungen umfassen einen kompletten Satz zum Starten und Entwickeln von Anwendungen in Ruby. Der Zugriff auf die VM erfolgt über SSH; der Dateiaustausch ist über ein freigegebenes Verzeichnis möglich.

Vagrant ist mit Ruby geschrieben und kann auf jeder Plattform installiert werden, die über VirtualBox- und Ruby-Komponenten verfügt. Auf der Download-Seite stehen Pakete für Windows, Linux (deb und rpm) und OS X zur Verfügung.

Der Installations- und Nutzungsprozess unter Ubuntu ist einfach. Laden Sie die Pakete VirtualBox und Vagrant herunter und installieren Sie:

$ sudo dpkg -i virtualbox-4.2.10_amd64.deb $ sudo dpkg -i vagrant_1.2.2_x86_64.deb

Zum Zeitpunkt des Verfassens dieses Artikels hatte die neueste aktuelle Version von VirtualBox 4.2.14 Probleme beim Ausführen von Vagrant, daher ist es vorerst besser, 4.2.12 zu verwenden oder 4.2.15 zu testen. Alternativ können Sie Folgendes tun:

$ cd ~/.vagrant.d/boxes/BoxName/virtualbox $ openssl sha1 *.vmdk *.ovf > box.mf

Hier ist eine alternative Option zur Installation von Vagrant – mit Ruby:

$ sudo apt-get install ruby1.8 ruby1.8-dev rubygems1.8 $ sudo gem install vagrant

Alle Projekteinstellungen werden in einer speziellen Vagrantdatei vorgenommen. Um die manuelle Erstellung der Vorlage zu vermeiden, können Sie sie wie folgt generieren:

$ mkdir project $ cd project $ vagrant init

Jetzt können Sie in die erstellte Einstellungsdatei schauen und Folgendes ausfüllen: VM-Einstellungen (config.vm. ), SSH-Verbindungsoptionen (config.ssh.), Parameter von Vagrant selbst (config.vagrant). Alle sind gut dokumentiert, die Bedeutung einiger ist ohne Erklärung klar.

Tatsächlich werden beim Start mehrere solcher Dateien verwendet, wobei jede nachfolgende die vorherige überschreibt: in Vagrant integriert (kann nicht geändert werden), mit Boxen geliefert (gepackt mit dem Schalter „--vagrantfile“) und befindet sich in ~/.vagrant .d und die Projektdatei . Mit diesem Ansatz können Sie Standardeinstellungen verwenden und nur das überschreiben, was in einem bestimmten Projekt erforderlich ist.


Alle Installationen werden mit dem Befehl vagrant durchgeführt; die Liste der verfügbaren Schlüssel kann mit „-h“ eingesehen werden. Nach der Installation haben wir kein einziges Image mehr. Beim Ausführen von vagrant box list wird eine leere Liste angezeigt. Die fertige Box kann sich im lokalen Dateisystem oder auf einem Remote-Server befinden; ihr Name wird als Parameter festgelegt, auf den wir in Projekten verweisen. Wir nutzen zum Beispiel die offizielle Box Ubuntu 12.04 LTS, angeboten von den Vagrant-Entwicklern.

$ vagrant box füge precision64 hinzu http://files.vagrantup.com/precise64.box

Jetzt kann über Vagrantfile darauf zugegriffen werden:

Config.vm.box = „precise64“

Obwohl es einfacher ist, es sofort beim Initialisieren des Projekts anzugeben:

$vagrant init precision64

Der einfachste Weg, der kein Erlernen von Chef und Puppet erfordert, besteht darin, Standard-Shell-Befehle zum Konfigurieren der VM zu verwenden, die direkt in die Vagrant-Datei geschrieben oder, noch besser, in einem Skript kombiniert werden können, das wie folgt verbunden ist:

Vagrant.configure("2") führt |config| aus config.vm.provision:shell, :inline => "script.sh" Ende

Jetzt werden alle in script.sh angegebenen Befehle beim Start der VM ausgeführt. Wenn das Projekt startet, wird eine OVF-Datei erstellt; ihre Einstellungen können über die grafische Benutzeroberfläche von VirtualBox oder den Befehl VBoxManage angezeigt werden:

$ VBoxManage import /home/user/.vagrant.d/boxes/precise64/virtualbox/box.ovf Virtuelles System 0: 0: Vorgeschlagener Betriebssystemtyp: „Ubuntu_64“ (Änderung mit „--vsys 0 --ostype "; verwenden Sie „list ostypes“, um alle möglichen Werte aufzulisten) 1: Vorgeschlagener VM-Name „precise64“ (ändern mit „--vsys 0 --vmname ") 2: Anzahl der CPUs: 2 (Änderung mit "--vsys 0 --cpus ") 3: Gastspeicher: 384 MB (Änderung mit "--vsys 0 --memory ")

Sie erfüllen nicht immer die angegebenen Bedingungen, aber mithilfe der Anbietereinstellungen können Sie die Einstellungen einer bestimmten VM problemlos ändern (siehe Tipps „Ändern mit ...“):

Config.vm.provider:virtualbox für |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] Ende

Starten und über SSH mit dem System verbinden:

$vagrant up $vagrant ssh

Um die VM zu stoppen, verwenden Sie den Parameter halt oder destroy (der zweite – beim Löschen aller Dateien werden beim nächsten Mal alle Vorgänge von Anfang an ausgeführt), wenn Sie sie in den Ruhezustand versetzen müssen – vagrant suspend , return – vagrant resume . Als Beispiel für die Arbeit mit Chef können Sie ein vorgefertigtes Rezept zum Konfigurieren von APT und Apache2 verwenden:

Config.vm.provision:chef_solo für |chef| chef.recipe_url = "http://files.vagrantup.com/getting_started/cookbooks.tar.gz" chef.add_recipe("vagrant_main") Ende

Um „von außen“ auf die VM zuzugreifen, müssen Sie die Portweiterleitung konfigurieren. Standardmäßig ist die Weiterleitung 22 -> 2222, sodass Sie eine Verbindung über SSH herstellen können. Zu Vagrantfile hinzufügen:

Vagrant::Config.run do |config| config.vm.forward_port 80, 1111 Ende

Der Webserver kann nun über http://127.0.0.1:1111/ aufgerufen werden. Um die Umgebung nicht jedes Mal neu zu konfigurieren, ist es besser, darauf basierend ein vorgefertigtes Paket zusammenzustellen.

$ vagrant package --vagrantfile Vagrantfile --output project.box

Die project.box-Datei kann nun an andere Administratoren, Entwickler usw. verteilt werden normale Benutzer, wodurch es mit dem Befehl vagrant box add project.box verbunden wird.

ConVirt

Xen/KVM-Virtualisierungssysteme, die unter freien Lizenzen veröffentlicht werden, verfügen nicht über eine benutzerfreundliche Oberfläche, was oft als unvorteilhaft interpretiert wird. Dieser Mangel lässt sich jedoch leicht beheben. Mit ConVirt können Sie mithilfe einer benutzerfreundlichen Oberfläche mit nur einem Klick virtuelle Maschinen auf mehreren Xen- und KVM-Servern bereitstellen. Alle notwendigen Operationen mit virtuellen Maschinen stehen zur Verfügung: Starten, Stoppen, Snapshots erstellen, Ressourcen steuern und neu verteilen, Verbindung zu einer VM über VNC herstellen, Verwaltungsaufgaben automatisieren. Die Ajax-Technologie macht die Benutzeroberfläche interaktiv und ähnelt einer Desktop-Anwendung. Sie können beispielsweise eine VM einfach per Drag & Drop von einem Server auf einen anderen ziehen. Die Benutzeroberfläche ist nicht lokalisiert, aber die Steuerung ist intuitiv.


Das Pooling von Servern ermöglicht die Konfiguration und Steuerung virtueller Maschinen und Ressourcen auf Server-Pool-Ebene und nicht auf der Ebene einzelner Server. Auf virtuellen Systemen werden keine Agenten installiert; auf dem physischen Server ist lediglich das Paket convirt-tool erforderlich. Dies vereinfacht die Verwaltung und Bereitstellung.

Sobald ein neuer Server hinzugefügt wird, erfasst ConVirt automatisch dessen Konfigurations- und Leistungsdaten und stellt zusammenfassende Informationen auf mehreren Ebenen bereit – von der einzelnen virtuellen Maschine über den physischen Server bis hin zum gesamten Pool. Die gesammelten Daten werden verwendet, um neue Gäste automatisch zu bewirten. Diese Informationen werden auch in Form visueller Diagramme angezeigt.

Zum Erstellen virtueller Maschinen werden Vorlagen verwendet – Beschreibungen der Einstellungen der virtuellen Maschine, die Daten zu den zugewiesenen Ressourcen, den Pfad zu den Betriebssystemdateien und zusätzliche Einstellungen enthalten. Nach der Installation sind mehrere verfügbar vorgefertigte Vorlagen, aber bei Bedarf können sie einfach selbst erstellt werden.

Alle Technologien werden unterstützt: Load Balancing, Hot Migration, virtuelle Festplatten mit wachsender Kapazität, sodass Sie Ressourcen nach Bedarf nutzen können, und vielen anderen in Xen und KVM implementierten Funktionen. Die VM muss nicht gestoppt werden, um Ressourcen neu zuzuweisen.

Implementierung der Möglichkeit zur Verwaltung einer virtuellen Umgebung für mehrere Administratoren mit der Möglichkeit, deren Aktionen zu überwachen und zu steuern.

ConVirt wird von Convirture entwickelt und nutzt das Open-Core-Konzept, bei dem nur ein grundlegender Satz an Funktionen zusammen mit dem Quellcode frei verteilt wird, der Rest ist verfügbar kommerzielle Version. Der Open-Source-Version fehlen Hochverfügbarkeitsunterstützung, VLAN-Integration, Sicherung und Wiederherstellung, Befehlszeilenverwaltung, Benachrichtigungen und offizieller Support.

Während der Entwicklung wurden das TurboGears2-Framework, ExtJs- und FLOT-Bibliotheken verwendet, MySQL wurde zum Speichern von Informationen verwendet und dnsmasq wurde als DHCP- und DNS-Server verwendet. Das benötigte Paket finden Sie in den Repositories Beliebte Distributionen Linux.

Karesansui

Alle Funktionen zur Verwaltung virtueller Umgebungen wurden implementiert: Installation des Betriebssystems, Erstellen von Konfigurationen des Festplattensubsystems und der virtuellen Umgebung Netzwerkkarten, Kontingentverwaltung, Replikation, VM-Einfrieren, Snapshot-Erstellung, Anzeige detaillierter Statistiken und Protokolldaten, Lastüberwachung. Von einer Konsole aus können Sie mehrere physische Server und darauf gehostete virtuelle Maschinen verwalten. Mehrbenutzerarbeit mit geteilten Rechten ist möglich. Dadurch ist es den Entwicklern gelungen, eine virtuelle Umgebung im Browser zu implementieren, die ihnen die vollständige Verwaltung der Systeme ermöglicht.

Gepostet von Karesansui am Python-Sprache, SQLite wird als DBMS für ein Einzelknotensystem verwendet. Wenn Sie Karesansui-Installationen verwalten möchten, die auf mehreren physischen Servern gehostet werden, sollten Sie MySQL oder PostgreSQL verwenden.

Sie können Karesansui auf jedem Linux bereitstellen. Die Entwickler selbst bevorzugen CentOS (für das die Website verfügt). detaillierte Anleitung), obwohl Karesansui sowohl unter Debian als auch unter Ubuntu gut funktioniert. Vor der Installation müssen Sie alle in der Dokumentation angegebenen Abhängigkeiten abschließen. Als nächstes wird das Installationsskript gestartet und die Datenbank initialisiert. Wenn eine Multi-Server-Konfiguration verwendet wird, müssen Sie lediglich die externe Datenbank angeben.

Nachfolgende Arbeiten werden die Unannehmlichkeiten der Installation vollständig ausgleichen. Alle Einstellungen sind in sieben Registerkarten unterteilt, deren Zweck aus dem Namen hervorgeht: Gast, Einstellungen, Job, Netzwerk, Speicher, Bericht und Protokoll. Abhängig von der Rolle des Benutzers stehen ihm nicht alle davon zur Verfügung.

Sie können eine neue VM aus einer lokalen ISO-Datei erstellen oder indem Sie eine HTTP/FTP-Ressource mit Installationsimages angeben. Sie müssen auch andere Attribute festlegen: den Systemnamen, der in der Liste angezeigt wird, den Netzwerknamen (Hostname), die Virtualisierungstechnologie (Xen oder KVM), die RAM-Größe usw Festplatte(Speichergröße und Festplattengröße) – und wählen Sie ein Image aus, das dem virtuellen Betriebssystem entspricht, was die schnelle visuelle Auswahl in der Konsole vereinfacht.

WebVirtMgr

Die Fähigkeiten der beschriebenen Lösungen sind häufig redundant und ihre Installation ist für einen Administrator mit wenig Erfahrung nicht immer klar. Aber auch hier gibt es einen Ausweg. Der Dienst zur zentralen Verwaltung virtueller Maschinen WebVirtMgr wurde als einfacher Ersatz für virt-manager entwickelt, der ein komfortables Arbeiten mit VMs über einen Browser mit installiertem Java-Plug-in ermöglicht. Die Verwaltung der KVM-Einstellungen wird unterstützt: Erstellung, Installation, Konfiguration, Start von VMs, Snapshots und Sicherung virtueller Maschinen. Bietet die Verwaltung von Netzwerk- und Speicherpools, die Arbeit mit ISO, das Klonen von Bildern sowie die Anzeige der CPU- und RAM-Auslastung. Der Zugriff auf die virtuelle Maschine erfolgt über VNC. Alle Transaktionen werden in Protokollen aufgezeichnet. Sie können mehrere KVM-Server mit einer einzigen Installation von WebVirtMgr verwalten. Um eine Verbindung zu ihnen herzustellen, verwenden Sie RPC libvirt (TCP/16509) oder SSH.


Die Schnittstelle ist in Python/Django geschrieben. Für die Installation benötigen Sie einen Server unter Linux-Steuerung. Verteilt in Quellcode- und RPM-Paketen für CentOS, RHEL, Fedora und Oracle Linux 6. Der Bereitstellungsprozess selbst ist einfach und in der Projektdokumentation (auf Russisch) gut beschrieben, Sie müssen lediglich libvirt konfigurieren und webvirtmgr installieren. Der gesamte Vorgang dauert fünf Minuten. Nachdem Sie eine Verbindung zum Dashboard hergestellt haben, wählen Sie „Verbindung hinzufügen“ und geben Sie die Knotenparameter an. Anschließend können wir die VM konfigurieren.

Lassen Sie uns die Erstellung einer VM skripten

Das einfachste Skript zum Erstellen und Starten einer virtuellen Maschine mit VirtualBox:

#!/bin/bash vmname="debian01" VBoxManage createvm --name $(vmname) --ostype "Debian" --register VBoxManage changesvm $(vmname) --memory 512 --acpi on --boot1 dvd VBoxManage createhd - -filename "$(vmname).vdi" --size 10000 --variant Behoben VBoxManage storagectl $(vmname) --name "IDE Controller" --add ide --controller PIIX4 VBoxManage storageattach $(vmname) --storagectl "IDE Controller“ --port 0 --device 0 --type hdd --medium "$(vmname).vdi" VBoxManage storageattach $(vmname) --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /iso/debian-7.1.0-i386-netinst.iso VBoxManage modifizierenvm $(VM-Name) --nic1 überbrückt --bridgeadapter1 eth0 --cableconnected1 auf VBoxManage modifizierenvm $(VM-Name) --vrde auf dem Bildschirm VBoxHeadless --startvm $(VM-Name)

Proxmox VE

Die vorherigen Lösungen eignen sich für Situationen, in denen bereits eine gewisse Infrastruktur vorhanden ist. Wenn Sie es jedoch nur bereitstellen müssen, lohnt es sich, über spezielle Plattformen nachzudenken, mit denen Sie schnell zum gewünschten Ergebnis gelangen. Ein Beispiel hierfür ist Proxmox Virtual Environment Linux-Distribution(basierend auf Debian 7.0 Wheezy), das den schnellen Aufbau einer virtuellen Serverinfrastruktur mit OpenVZ und KVM ermöglicht und Produkten wie VMware vSphere, MS Hyper-V und Citrix XenServer praktisch nicht unterlegen ist.


Tatsächlich muss das System nur installiert werden (ein paar einfache Schritte), alles andere funktioniert bereits nach dem Auspacken. Anschließend können Sie über die Weboberfläche eine VM erstellen. Zu diesem Zweck ist es am einfachsten, OpenVZ-Vorlagen und -Container zu verwenden, die mit einem Klick von externen Ressourcen direkt von der Schnittstelle geladen werden (bei manueller Verwendung in das Verzeichnis /var/lib/vz/template kopieren). Aber auch durch das Klonen bereits erstellter Systeme im Linking-Modus können Vorlagen erstellt werden. Diese Option spart Speicherplatz, da alle verknüpften Umgebungen nur eine gemeinsame Kopie der Referenzvorlagendaten verwenden, ohne dass Informationen dupliziert werden. Die Benutzeroberfläche ist lokalisiert und verständlich, sodass Sie bei der Arbeit damit keine besonderen Unannehmlichkeiten verspüren.

Es gibt Unterstützung für Cluster, Tools für Exemplar reservieren In virtuellen Umgebungen ist es möglich, VMs zwischen Knoten zu migrieren, ohne die Arbeit zu unterbrechen. Die Zugriffskontrolle auf bestehende Objekte (VM, Speicher, Knoten) wird rollenbasiert implementiert, verschiedene Authentifizierungsmechanismen werden unterstützt (AD, LDAP, Linux PAM, integriertes Proxmox VE). Über die Weboberfläche können Sie über VNC- und SSH-Konsolen auf die VM zugreifen, Auftragsstatus, Protokolle, Überwachungsdaten und vieles mehr anzeigen. Zwar müssen einige für HA-Systeme spezifische Vorgänge weiterhin auf die altmodische Weise in der Konsole ausgeführt werden, beispielsweise das Erstellen einer autorisierten iSCSI-Verbindung, das Einrichten eines Clusters, das Erstellen eines Multipaths und einige andere Vorgänge.

Die Systemanforderungen sind gering: CPU x64 (vorzugsweise mit Intel VT/AMD-V), 1+ GB RAM. Das Projekt bietet ein fertiges ISO-Image und Repository für Debian.

Abschluss

Alle beschriebenen Lösungen sind auf ihre Art gut und meistern die gestellten Aufgaben gut. Sie müssen nur diejenige auswählen, die am besten zu Ihrer spezifischen Situation passt.

KVM oder Kernel Virtual Module ist ein Virtualisierungsmodul für den Linux-Kernel, mit dem Sie Ihren Computer in einen Hypervisor für die Verwaltung virtueller Maschinen verwandeln können. Dieses Modul arbeitet auf Kernel-Ebene und unterstützt Harwie Intel VT und AMD SVM.

Von selbst Software KVM im Benutzerbereich virtualisiert nichts. Stattdessen verwendet es die Datei /dev/kvm, um virtuelle Adressräume für den Gast im Kernel zu konfigurieren. Jeder Gastcomputer verfügt über eine eigene Grafikkarte, ein eigenes Netzwerk usw Soundkarte, Festplatte und andere Ausrüstung.

Außerdem hat das Gastsystem keinen Zugriff auf Komponenten des echten Betriebssystems. Die virtuelle Maschine läuft in einem völlig isolierten Raum. Sie können kvm sowohl auf einem GUI-System als auch auf Servern verwenden. In diesem Artikel schauen wir uns an, wie man kvm Ubuntu 16.04 installiert

Bevor Sie mit der KVM-Installation selbst fortfahren, müssen Sie prüfen, ob Ihr Prozessor die Hardware-Virtualisierungsbeschleunigung von Intel-VT oder AMD-V unterstützt. Führen Sie dazu den folgenden Befehl aus:

egrep -c "(vmx|svm)" /proc/cpuinfo

Wenn das Ergebnis 0 zurückgibt, unterstützt Ihr Prozessor keine Hardwarevirtualisierung. Wenn 1 oder mehr, können Sie KVM auf Ihrem Computer verwenden.

Jetzt können wir mit der Installation von KVM fortfahren. Eine Reihe von Programmen kann direkt aus den offiziellen Repositories bezogen werden:

Sudo apt install qemu-kvm libvirt-bin Bridge-utils virt-manager CPU-Checker

Wir haben nicht nur das kvm-Dienstprogramm, sondern auch die libvirt-Bibliothek sowie den Virtual Machine Manager installiert. Sobald die Installation abgeschlossen ist, müssen Sie Ihren Benutzer zur libvirtd-Gruppe hinzufügen, da nur Root und Benutzer in dieser Gruppe virtuelle KVM-Maschinen verwenden können:

sudo gpasswd -a USER libvirtd

Nachdem Sie diesen Befehl ausgeführt haben, melden Sie sich ab und erneut an. Als nächstes prüfen wir, ob alles korrekt installiert wurde. Verwenden Sie dazu den Befehl kvm-ok:

INFO: /dev/kvm existiert
KVM-Beschleunigung kann genutzt werden

Wenn alles richtig gemacht wurde, wird die gleiche Meldung angezeigt.

Verwendung von KVM unter Ubuntu 16.04

Sie haben die Installation von kvm in Ubuntu abgeschlossen, können diese Virtualisierungsumgebung jedoch noch nicht verwenden, sie muss jedoch noch konfiguriert werden. Als nächstes schauen wir uns an, wie kvm Ubuntu konfiguriert ist. Zuerst müssen Sie Ihr Netzwerk einrichten. Wir müssen eine Brücke erstellen, mit der sich die virtuelle Maschine mit dem Netzwerk des Computers verbindet.

Einrichten einer Bridge im NetworkManager

Dies kann auf verschiedene Arten erfolgen, zum Beispiel können Sie das Netzwerkkonfigurationsprogramm NetworkManager verwenden.

Klicken Sie im Bedienfeld auf das NetworkManager-Symbol und wählen Sie dann aus Verbindungen ändern, und klicken Sie dann auf die Schaltfläche Hinzufügen:

Wählen Sie dann den Verbindungstyp aus Brücke und drücke Erstellen:

Klicken Sie im sich öffnenden Fenster auf die Schaltfläche Hinzufügen, Um unsere Bridge mit der Internetverbindung zu verbinden:

Wählen Sie aus der Liste aus Ethernet und drücke Erstellen:

Im nächsten Fenster wählen Sie im Feld aus Gerät, Netzwerkschnittstelle, mit dem unsere Brücke verbunden werden soll:

Jetzt auf der Liste Netzwerkverbindungen Du wirst deine Brücke sehen. Es bleibt nur noch ein Neustart des Netzwerks, um die Änderungen vollständig zu übernehmen. Führen Sie dazu Folgendes aus:

Manuelle Bridge-Einrichtung

Zuerst müssen Sie die Dienstprogramme „bridge-utils“ installieren, sofern Sie dies noch nicht getan haben:

sudo apt installiere Bridge-Utils

Anschließend können wir mit dem Programm brctl die benötigte Brücke erstellen. Verwenden Sie dazu die folgenden Befehle:

sudo brctl addbr bridge0
$ sudo ip addr show
$ sudo addif bridge0 eth0

Der erste Befehl fügt das Bridge-Gerät br0 hinzu, mit dem zweiten müssen Sie bestimmen, welche Netzwerkschnittstelle die Hauptverbindung zum externen Netzwerk ist, in meinem Fall ist es eth0. Und mit dem letzten Befehl verbinden wir Bridge br0 mit eth0.

Jetzt müssen Sie noch ein paar Zeilen zu den Netzwerkeinstellungen hinzufügen, damit nach dem Systemstart alles automatisch startet. Öffnen Sie dazu die Datei /etc/network/interfaces und fügen Sie dort die folgenden Zeilen hinzu:

sudo gedit /etc/network/interfaces

Loopback
Auto Lo Bridge0
iface lo inet loopback
iface Bridge0 inet dhcp
bridge_ports eth0

Wenn die Einstellungen hinzugefügt wurden, starten Sie das Netzwerk neu:

sudo systemctl Netzwerk neu starten

Nun ist die Installation und Konfiguration von KVM vollständig abgeschlossen und Sie können Ihre erste virtuelle Maschine erstellen. Anschließend können Sie die verfügbaren Bridges mit dem folgenden Befehl anzeigen:

Erstellen virtueller KVM-Maschinen

Das Ubuntu KVM-Setup ist abgeschlossen und wir können es nun verwenden. Schauen wir uns zunächst die Liste der vorhandenen virtuellen Maschinen an:

virsh -c qemu:///system list

Es ist leer. Sie können eine virtuelle Maschine über das Terminal oder in der grafischen Oberfläche erstellen. Um über das Terminal zu erstellen, verwenden Sie den Befehl virt-install. Gehen wir zunächst zum libvirt-Ordner:

cd /var/lib/libvirt/boot/

Zum Installieren CentOS-Team wird so aussehen:

sudo virt-install\
--virt-type=kvm \
--name centos7\
--ram 2048\
--vcpus=2 \
--os-variant=rhel7 \
--hvm\
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1511.iso \
--network=bridge=br0,model=virtio \
--graphics vnc\
--disk path=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Schauen wir uns genauer an, was die Parameter dieses Befehls bedeuten:

  • Virt-Typ- Art der Virtualisierung, in unserem Fall KVM;
  • Name- Name des neuen Autos;
  • RAM- Speicherkapazität in Megabyte;
  • vcpus- Anzahl der Prozessorkerne;
  • OS-Variante- Art des Betriebssystems;
  • CD-ROM - Installationsbild Systeme;
  • Netzwerkbrücke- die Netzwerkbrücke, die wir zuvor konfiguriert haben;
  • Grafik- eine Möglichkeit, Zugriff auf die grafische Oberfläche zu erhalten;
  • Festplattenpfad- Adresse der neuen Festplatte für diese virtuelle Maschine;

Nachdem die Installation der virtuellen Maschine abgeschlossen ist, können Sie die VNC-Verbindungsparameter mit dem folgenden Befehl ermitteln:

sudo virsh vncdisplay centos7

Jetzt können Sie die empfangenen Daten in Ihren VNC-Client eingeben und sich auch aus der Ferne mit der virtuellen Maschine verbinden. Für Debian wird der Befehl etwas anders sein, aber alles sieht ähnlich aus:

Gehen Sie zum Ordner für Bilder:

cd /var/lib/libvirt/boot/

Bei Bedarf können Sie das Installationsimage aus dem Internet herunterladen:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Dann erstellen wir eine virtuelle Maschine:

sudo virt-install\
--virt-type=kvm \
--name=debina8 \
--ram=2048\
--vcpus=2 \
--os-variant=debian8 \
--hvm\
--cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
--network=bridge=bridge0,model=virtio \
--graphics vnc\
--disk path=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Schauen wir uns nun noch einmal die Liste der verfügbaren Maschinen an:

virsh -c qemu:///system list

Um die virtuelle Maschine zu starten, können Sie den Befehl verwenden:

sudo virsh starte Maschinenname

Stoppen:

sudo virsh Shutdown-Maschinenname

Um in den Schlafmodus zu wechseln:

sudo virsh suspendiert Maschinennamen

Neustarten:

sudo virsh reboot Maschinenname

sudo virsh Maschinenname zurücksetzen

Für vollständige Entfernung virtuelle Maschine:

sudo virsh zerstört den Maschinennamen

Virtuelle Maschinen in GUI erstellen\

Wenn Sie Zugriff auf eine grafische Oberfläche haben, ist die Verwendung eines Terminals nicht erforderlich, Sie können ein vollwertiges verwenden GUI Virtueller Maschinenmanager Virtual Manager. Das Programm kann über das Hauptmenü gestartet werden:

Um eine neue Maschine zu erstellen, klicken Sie auf das Symbol mit dem Monitorsymbol. Als nächstes müssen Sie auswählen ISO-Image dein System. Sie können auch ein echtes CD/DVD-Laufwerk verwenden:

Wählen Sie im nächsten Bildschirm die Menge an Speicher aus, die der virtuellen Maschine zur Verfügung stehen soll, sowie die Anzahl der Prozessorkerne:

Auf diesem Bildschirm müssen Sie die Größe der Festplatte auswählen, die in Ihrem Computer verfügbar sein soll:

Im letzten Schritt des Assistenten müssen Sie überprüfen, ob die Maschineneinstellungen korrekt sind, und auch ihren Namen eingeben. Sie müssen auch die Netzwerkbrücke angeben, über die die Maschine eine Verbindung zum Netzwerk herstellt:

Danach ist die Maschine betriebsbereit und erscheint in der Liste. Sie können es über das grüne Dreieck in der Manager-Symbolleiste starten.

Schlussfolgerungen

In diesem Artikel haben wir untersucht, wie man KVM Ubuntu 16.04 installiert, wie man diese Umgebung vollständig für die Arbeit vorbereitet und wie man virtuelle Maschinen erstellt und verwendet. Wenn Sie Fragen haben, stellen Sie diese in den Kommentaren!

Zum Abschluss ein Vortrag von Yandex darüber, was Virtualisierung unter Linux ist:

Ich glaube, viele Menschen sind auf gewöhnliche KVM-Switches gestoßen. Die Abkürzung „KVM“ steht für „Keyboard Video Mouse“. Mit einem KVM-Gerät können Sie mit nur einem Satz Tastatur+Monitor+Maus (K.M.M.) mehrere Computer steuern ( Systemeinheiten). Mit anderen Worten, wir nehmen N Systemeinheiten und verbinden ihre Ausgänge mit dem K.M.M. in ein KVM-Gerät und an das Gerät selbst schließen wir einen echten Monitor, eine Tastatur und eine Maus an. Durch den Wechsel zwischen Computern mithilfe von KVM können wir sehen, was auf dem Bildschirm des ausgewählten Computers passiert, und ihn so steuern, als wären wir direkt mit ihm verbunden.

Das ist praktisch, wenn wir für die Arbeit mehrere Maschinen benötigen, ein gleichzeitiger Zugriff darauf aber nicht notwendig ist. Darüber hinaus spart es viel Platz – Monitore, auch LCD-Monitore, nehmen ziemlich viel Platz auf dem Tisch ein. Ja, und sie kosten ziemlich viel. Und in einem Stapel Tastaturen und Mäuse auf dem Tisch kann man schnell durcheinander geraten...

Fortgeschrittene Leser werden einwenden: Warum so komplex, wenn die Computer höchstwahrscheinlich mit demselben lokalen Netzwerk verbunden sind und Sie im Betriebssystem integrierte (oder externe) Programme verwenden können? Fernzugriff, zum Beispiel Terminal Services oder Radmin unter Windows, VNC, ssh unter *nix-ähnlichen Betriebssystemen. Alles ist richtig, aber was sollten Sie tun, wenn Sie beispielsweise das BIOS des Computers aufrufen müssen oder operationssystem Der Ladevorgang wurde gestoppt, weil wir einen falschen Treiber oder ein falsches Programm installiert haben? Oder sind auf unserem Computer mehrere Betriebssysteme installiert und wir mussten ein anderes als das standardmäßig startende auswählen? Im Allgemeinen sind alle diese Programme wirklich gut, aber bis zu gewissen Grenzen – solange das Betriebssystem des Computers funktionsfähig ist und wir erst nach dem Booten dieses Betriebssystems Zugriff auf den Computer benötigen.

Schauen wir uns beispielsweise einige typische KVM-Switches am Beispiel der vom Unternehmen hergestellten Geräte an.

Gerätespezifikationen

CN-6000 unterstützt die Gewaltenteilung zwischen Benutzern und ermöglicht die Erstellung von bis zu 64 Administrator- oder Benutzerkonten, von denen bis zu 16 Konten gleichzeitig mit dem Gerät arbeiten können. Das Gerät verfügt über eine integrierte WEB-Verwaltungsschnittstelle und seine geringe Größe ermöglicht es Ihnen, es auf einen Tisch zu stellen oder (mit einer im Kit enthaltenen speziellen Halterung) am Seitenträger eines Racks zu montieren (0U-Rackmontage möglich). Der CN-6000 unterstützt Firmware-Updates über eine Ethernet-Verbindung (über die Webschnittstelle oder ein natives Dienstprogramm). Die maximale Videoauflösung, die das Gerät unterstützt, beträgt 1600 x 1200 Pixel.

Spezifikationsübersichtstabelle:

Hardware-Anforderung (Remote-Client)Pentium III 1 GHz
SchnittstellenLokale KonsoleTastatur1 × Mini-DIN-6 F (lila)
Video1 × HDB-15 F (Blau)
Maus1 × HDB-15 F (grün)
System (KVM)1 × SPHD-15 F (Gelb)
LAN-Anschluss1 × RJ-45(F)
Strom im Netz (reserviert)1 x DB9(M)
Stromschnittstelle1
Knöpfe/SchalterKVM-Reset1 × halbverdeckt, vorne
IndikatorenErnährung1 * Orange
Remote-Benutzerverbindung1 * Grün
LAN 10/100 Mbit/s1 x grün/orange
Unterstützte Protokolle10baseT Ethernet und 100baseTX Fast Ethernet. TCP/IP
VideoauflösungenBis zu 1600×1200 60Hz
RahmenMetall
Abmessungen (Länge × Breite × Höhe)200 × 80 × 25 mm

Kommen wir zu den Tests.

Auf der mitgelieferten CD finden Sie vier Dienstprogramme:

  • CN6000 Client – ​​Client-Programm für Windows, mit dem Sie eine Verbindung zu einem Remote-Computer herstellen können
  • ein ähnliches Client-Programm, geschrieben in Java (im JAR-Format)
  • CN6000 Admin Tool – Gerätekonfigurationsmanager (für Windows)
  • Protokollserver – ein Programm, das so konfiguriert werden kann, dass es Protokolldateien vom CN-6000 empfängt und speichert

Darüber hinaus verfügt der KVM-Switch über einen integrierten WEB-Server, sodass über einen WEB-Browser auf das Gerät zugegriffen werden kann. Auf die Weboberfläche kommen wir aber etwas später zurück, zunächst schauen wir uns die einzelnen Utilities an.

Konfigurieren des CN-6000 über das Admin-Tool-Dienstprogramm.

Das Programm dient zum Konfigurieren des Geräts, zum Festlegen von Zugangskennwörtern, Sicherheit usw.

Als es auf den Markt kam, gab es etwas Lustiges:

Wenn Sie zum ersten Mal alle Dienstprogramme von der mitgelieferten Diskette starten, müssen Sie eingeben Seriennummer. In der Dokumentation (sogar in der neuesten Version, die sich auf der Website des Herstellers befindet) heißt es, dass die Seriennummer auf der Unterseite des CN-6000-Gehäuses aufgedruckt ist. Und dort ist tatsächlich eine Art Seriennummer aufgedruckt, nur ist sie viel kürzer als von den Programmen verlangt. Im Allgemeinen wollte ich das Gerät bereits an diesem Tag fertig testen, nachdem ich ein wenig gelitten hatte, die gefundene Seriennummer hier und da eingegeben, Nullen oder Leerzeichen hinzugefügt und nichts weiter als das Fenster „Ungültige Seriennummer“ erreicht hatte. Nachdem ich die CD aus dem CD-ROM-Laufwerk genommen hatte (ich habe sie zuerst in das CD-Laufwerk eingelegt – ich musste die Software installieren), entdeckte ich einen seltsamen Aufkleber auf der CD – es handelte sich dabei um die geschätzte Seriennummer.

Natürlich kann man theoretisch darauf achten, was auf einer CD geschrieben oder eingefügt wird, wenn man sie in das Laufwerk einlegt. Aber wie vielen Menschen fällt das sofort auf? :) Und man könnte sich fragen, warum es notwendig war, absichtlich falsche Informationen in die Dokumentation zu schreiben? Ich wiederhole: Es gibt noch mehr auf der Website eine neue Version Dokumentation und dieser „Tippfehler“ wird dort nicht korrigiert. Ich stelle fest, dass dies nicht die letzte Ungenauigkeit ist, die in der Dokumentation auftaucht, daher muss man manchmal nach dem Sprichwort „Glauben Sie Ihren Augen nicht“ handeln.

Das Verwaltungsdienstprogramm CN-6000 ist insofern nützlich, als es uns ermöglicht, ein Gerät im Netzwerk zu finden, auch wenn seine IP-Adresse nicht zu dem Subnetz gehört, in dem wir uns befinden. Es reicht aus, dass wir (den Computer, von dem aus wir suchen). Zugriff auf den CN-6000) befanden sich im selben lokalen Netzwerksegment wie der KVM-Switch.

Nach Eingabe des Benutzernamens und Passworts gelangen wir in das Gerätekonfigurationsmenü:

ATEN hat beim Thema Gerätesicherheit einen guten Ansatz gewählt. Wenn wir zum ersten Mal die Gerätekonfiguration eingeben, werden wir gewarnt, dass es eine gute Idee wäre, den Standard-Login und das Standard-Passwort zu ändern ...

Im Kapitel Netzwerk die IP-Adressierung des Geräts wird konfiguriert, Ports werden für den Fernzugriff auf Computer eingestellt, die vom CN-6000 gesteuert werden. Und hier können Sie auch die MAC-Adresse des Rechners angeben, auf dem sich das Programm „Log Server“ befindet, das vom KVM-Switch gesendete Protokolldateien (Ereignisse) speichert (wenn Sie diese nicht angeben, werden die Protokolle auf dem gespeichert). KVM selbst und Sie können sie über die Weboberfläche anzeigen. Bei dieser Maschine (für den Protokollserver) kann es sich um einen beliebigen Computer handeln, auf dem Windows ausgeführt wird und auf dem das betreffende Programm ausgeführt wird. Das einzige Problem besteht darin, dass sich der Computer im selben Netzwerksegment (grob gesagt mit demselben Switch verbunden) wie der KVM CN-6000 selbst befinden muss, sodass der Nutzen dieser „Funktion“ fraglich ist.

Mit Lesezeichen versehen Sicherheit Filter werden konfiguriert (nach MAC- und/oder IP-Adressen) für den Zugriff auf den Remote-Bildschirm verwalteter Computer sowie ein Filter für die Verwaltung des CN-6000 selbst.

Auf der nächsten Registerkarte werden Benutzernamen und Passwörter sowie deren Rechte festgelegt. Bemerkenswert ist, dass Sie die Anmeldungen für die Konfiguration des CN-6000 und die Verwendung des JAVA-Clients einschränken können. Die vom Konfigurationsdienstprogramm akzeptierte Mindestlänge des Kennworts beträgt acht Zeichen. Schade ist natürlich, dass das Passwort nicht auf „Einfachheit“ geprüft wird, aber schon die Prüfung der Passwortlänge zeigt, dass ATEN auf Sicherheit achtet.

Auf der letzten Registerkarte können Sie die Firmware des Geräts aktualisieren und es mehreren Personen ermöglichen, gleichzeitig eine Verbindung zu einem Remote-Computer herzustellen (obwohl Maus und Tastatur aus Sicht des gesteuerten Computers immer noch dieselben sind, sodass einer die Steuerung übernimmt). Ruhe beobachten... oder sich gegenseitig stören, indem Sie die Maus in verschiedene Richtungen ziehen). Die Reaktion auf einen fehlerhaften Authentifizierungsprozess wird sofort konfiguriert, ebenso wie die Einbindung verschiedener „Versteck“-Modi des CN-6000 (keine Reaktion auf Ping und Verbot, sich zu zeigen, wenn). automatische Suche Geräte im lokalen Netzwerk über das Client-Dienstprogramm oder das Verwaltungsdienstprogramm).

Auf derselben Registerkarte gibt es ein weiteres Element - Beim Beenden zurücksetzen. Ich gehe davon aus, dass dadurch die Einstellungen auf die Standardeinstellungen zurückgesetzt werden. In diesem Fall ist jedoch ein Neustart des Geräts beim Beenden des Konfigurationsprogramms erforderlich. Andernfalls (wenn Sie es nicht neu starten) werden die neuen Einstellungen zwar gespeichert, aber nicht angewendet (bis zu einem Neustart).

An diesem Punkt kann die Betrachtung des Konfigurationsdienstprogramms als abgeschlossen betrachtet werden (ein weiterer Aspekt wird im Abschnitt über den Java-Client besprochen).

Kommen wir zum Webinterface.

Konfiguration über WEB-Interface

Um zur Weboberfläche des Geräts zu gelangen, geben Sie einfach in einem beliebigen Browser die IP-Adresse ein, die auf dem CN-6000 installiert ist.

Bemerkenswert ist, dass der Browser den Client sofort auf die Verbindung über HTTPS:// umleitet, d.h. Alle weiteren Arbeiten erfolgen über eine sichere SSL-Verbindung.

Nach Eingabe Ihres Benutzernamens und Passworts werden die Symbole links und oben auf der Weboberfläche aktiv (Sie können darauf klicken).

Die oberen Symbole öffnen Abschnitte zur Konfiguration des CN-6000. Zum größten Teil wiederholen alle Optionen dort die Optionen in der Windows-Dienstprogrammoberfläche Admin-Tool, aber es gibt einige Unterschiede. Beispielsweise in diesem Fenster (Konfigurieren Netzwerkadressen) können wir nur die IP-Adresse des Geräts angeben, nicht jedoch die Subnetzmaske und das Gateway. Außerdem funktioniert das Festlegen der IP-Adresse etwas schief – ich konnte die IP-Adresse des Geräts nie über die Weboberfläche ändern (sie konnte problemlos mit dem Dienstprogramm „Admin Tools“ geändert werden).

Dies können Sie im Admin-Tool-Dienstprogramm beobachten, wenn Sie versuchen, die Adresse über die Weboberfläche von 10.0.0.9 in 192.168.0.1 zu ändern. Aus irgendeinem Grund hat sich die Subnetzmaske vom Standard 255.255.255.0 auf 10.0.0.9 geändert, und das Gerät (nach einem Neustart) antwortet 5 Sekunden lang auf die Adresse 192.168.0.1 und beginnt dann, auf 10.0.0.9 zu reagieren (das vergisst es völlig etwa 192.168.0.1). Vielleicht ist das ein Fehler aktuelle Version Firmware (1.5.141), aber diese Version war zum Zeitpunkt des Tests die neueste, die auf der Website des Unternehmens zu finden war.

Beim Testen wurden keine weiteren Fehler im Zusammenhang mit der Weboberfläche gefunden.

Kapitel Sicherheit wiederholt einen ähnlichen Abschnitt im Admin-Tool-Dienstprogramm.

Eine ähnliche Situation mit dem Abschnitt Benutzer Manager

...und Abschnitt Anpassung.

Symbol Protokoll, befindet sich auf der linken Seite der Weboberfläche und ermöglicht Ihnen die Anzeige der Ereignisse, die während des Betriebs des Geräts aufgetreten sind. In diesem Fall spiegelt der Screenshot die Protokolle wider, die beim Testen des Geräts durch das Nessus-Programm angezeigt wurden.

Wie oben erwähnt, können Protokolle auf einem externen Protokollserver gespeichert werden (allerdings mit bestimmten Einschränkungen hinsichtlich des Speicherorts).

Kimchi ist eine HTML5-basierte Weboberfläche für KVM. Es bietet eine einfache und flexible Schnittstelle zum Erstellen und Verwalten virtueller Gastmaschinen. Kimchi wird als Daemon auf dem KVM-Host installiert und ausgeführt. Es verwaltet KVM-Gäste mit Hilfe von libvirt. Die Kimchi-Schnittstelle unterstützt alle aktuellen Browserversionen mit der Version -1 sowie mobile Browser.

Kimchi kann auf der neuesten Version von RHEL, Fedora, openSUSE und Ubuntu installiert werden. In dieser Anleitung habe ich Ubuntu 14.10 als KVM-Host verwendet.

Bevor Sie Kimchi konfigurieren, müssen Sie die folgenden abhängigen Pakete installieren.

$ sudo apt-get install gcc make autoconf automake gettext git python-cherrypy3 python-cheetah python-libvirt libvirt-bin python-imaging python-pam python-m2crypto python-jsonschema qemu-kvm libtool python-psutil python-ethtool sosreport python-ipaddr python-ldap python-lxml nfs-common open-iscsi lvm2 xsltproc python-parted nginx firewalld python-guestfs libguestfs-tools python-requests websockify novnc Spice-html5 wget

Das System fragt Sie während der Installation von Paketen nach den folgenden Details.

1. OK bei der Postfix-Konfiguration.

2. Wählen Sie „Internet-Site“ im allgemeinen Typ der E-Mail-Konfiguration aus.

3. Geben Sie Ihren FQDN ein und wählen Sie dann OK.

Laden Sie nach der Installation die neueste Version von Kimchi von Github herunter.

$ wget https://github.com/kimchi-project/kimchi/archive/master.zip

Entpacken Sie die heruntergeladene Datei.

$ unzip master.zip $ cd kimchi-master/

Erstellen Sie Kimchi mit dem folgenden Befehl.

$ ./autogen.sh --system

$make $sudo make installieren# Optional, wenn die Ausführung über den Quellbaum erfolgt

$ sudo kimchid --host=0.0.0.0

Greifen Sie über den Webbrowser https://localhost:8001 auf Kimchi zu. Sie werden aufgefordert, sich anzumelden. Verwenden Sie dazu Ihre Systemanmeldeinformationen, die Sie normalerweise für die Anmeldung am System verwenden.


Sobald Sie sich angemeldet haben, wird eine Seite wie unten angezeigt. Hier wird die Liste der ausgeführten virtuellen Gastmaschinen auf dem aktuellen Host angezeigt. Sie verfügen über Schaltflächen zum Herunterfahren, Neustarten und Herstellen einer Verbindung zur Konsole, indem Sie auf „Aktion“ klicken.


Um eine neue Gastmaschine zu erstellen, klicken Sie auf das +-Zeichen in der rechten Ecke. Wenn Sie diese Option zum Erstellen einer Maschine verwenden, erfolgt dies über Vorlagen.


Sie können Vorlagen verwalten, indem Sie das Vorlagenmenü aufrufen. Um eine neue Vorlage zu erstellen, klicken Sie auf das +-Zeichen in der rechten Ecke. Sie können eine Vorlage mit ISO-Images erstellen, Sie können ISO-Images in /var/lib/kimchi/isos platzieren oder ein Remote-Image verwenden.


Sie können den Speicherpool verwalten, indem Sie zum Speichermenü gehen. Dort können Sie einen neuen Speicher hinzufügen, indem Sie auf das +-Zeichen klicken. Es unterstützt das Hinzufügen von NFS-, iSCSI- und SCSI-Fibre-Channel-Speicher.


Das Netzwerk kann über das Netzwerkmenü verwaltet werden. Sie können ein neues Netzwerk mit isoliertem NAT- und Bridged-Netzwerk erstellen.




Freunden erzählen