Remote-Konfiguration
Wer nachträglich Eigenschaften der Maschine verändern möchte, kann die Virsh-Ausgabe einfach in eine Datei umleiten und mittels »virsh define /Pfad/Datei« die Änderungen bekannt machen. Der »virt-manager« nimmt die Änderungen auch über ein GUI entgegen, das dabei auf der lokalen Arbeitsstation laufen darf, während die virtuelle Maschine auf einem ganz anderen Host installiert ist (Abbildung 6). Für die nötige Verbindung des Virt-Managers stehen vier Authentifizierungsmethoden zur Auswahl:
- SSH
- TLS/SSL zusammen mit x509
- Kerberos/GSSAPI
- Username und Passwort-Digest-MD5
Alle vier Varianten haben ihre Vor- und Nachteile. Im einfachsten Fall erzeugt der Admin auf der Workstation einen SSH-Schlüssel und überträgt ihn auf den Rechner, auf dem die virtuelle Maschine zu installieren ist:
[root@tiffy ~]# ssh-keygen -t rsa [root@tiffy ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotehost
Abschließend ist auf dem entfernten Rechner sicherzustellen, dass sowohl der SSH- als auch der Libvirt-Daemon auf eingehende Anfragen warten. Wer nun den »virt-manager« startet, sieht die neu eingerichtete Verbindung und darf sich via Libvirt auf dem entfernten Hypervisor anmelden. Die entfernten Maschinen lassen sich auch auf der Kommandozeile mittels »virt-install« einrichten. Das könnte so aussehen:
[root@tiffy ~]# virt-install --hvm --connect qemu+ssh://root@tiffy.tuxgeek.de/system --name demo --ram 512 --disk path=/var/lib/libvirt/images/demo.img,size=5 -network network:default --vnc --location ftp://grobi.tuxgeek.de/pub/fedora/f10/
Das Virsh-Tool bietet auch eine Connect-Option an, mit der es auf entfernte Rechner zugreifen kann. Welche Möglichkeiten für die Verwaltung das Tool bietet, hängt auch von dem eingesetzten Hypervisor ab. So verwendet die Kombination aus »libvirt« und KVM gegenwärtig noch nicht alle Möglichkeiten, die »libvirt« mit Xen kennt. Die Dinge sind aber im Fluss, sodass in Kürze mit weiteren Implementierungen zu rechnen ist. Beispielsweise beherrscht KVM-78 in Kombination mit Libvirt-0.5 bereits heute die Möglichkeit, virtuelle Maschinen im laufenden Betrieb zwischen verschiedenen Hosts zu migrieren.
Abbildung 6: Über eine sichere SSH-Verbindung kann der Administrator auch auf den Hypervisor einer Remote-Maschine zugreifen.
Ressourcen-Management
Das Beispiel in Listing 4 demonstriert einige Virsh-Optionen einer virtuellen Maschine auf Xen-Basis. Die Libvirt-Konfigurationsdatei sieht der KVM-Konfiguration sehr ähnlich. Möchte man beispielsweise der Maschine Arbeitsspeicher wegnehmen, so geht dies mit Virsh so:
[root@node5 ~]# virsh setmem node0 256000
Der folgende Befehl beweist, dass das System aktuell danach nur noch 256 MByte der verfügbaren 512 MByte RAM verwendet:
[root@node5 ~]# virsh dominfo node0 Id: 2 Name: node0 UUID: 10110f93-0038-9e64-3213-6088ba492f21 OS Type: linux State: blocked CPU(s): 1 CPU time: 20.4s Max memory:524288 kB Used memory: 255792 kB
Braucht die Maschine mehr Plattenplatz? Auch kein Problem:
[root@node5 ~]# virsh attach-disk node0 /dev/VolGroup00/b /dev/sdb
Hiermit bekommt die virtuelle Maschine das Blockdevice »/dev/VolGroup00/b« aus der Domain 0 als »/dev/sdb«-Device zugewiesen.
[root@node5 ~]# virsh dumpxml node0 [...] <disk type='block' device='disk'> <driver name='phy'/> <source dev='/dev/VolGroup00/a'/> <target dev='/dev/sdb'/> </disk> [...].
Ein Blick in die neue Konfiguration der Maschine bestätigt dies.
|
Listing 4: »virsh |
|---|
01 [root@node5 ~]# virsh dumpxml node0 02 <domain type='xen' id='2'> 03 <name>node0</name> 04 <uuid>10110f9300389e6432136088ba492f21</uuid> 05 <bootloader>/usr/bin/pygrub</bootloader> 06 <os> 07 <type>linux</type> 08 <kernel>/var/lib/xen/boot_kernel.J2aQPO</kernel> 09 <initrd>/var/lib/xen/boot_ramdisk.Z54Wy3</initrd> 10 <cmdline>ro root=/dev/VolGroup00/LogVol00 noipv6 rhgb quiet</cmdline> 11 </os> 12 <memory>524288</memory> 13 <vcpu>1</vcpu> 14 <on_poweroff>destroy</on_poweroff> 15 <on_reboot>restart</on_reboot> 16 <on_crash>restart</on_crash> 17 <devices> 18 <interface type='bridge'> 19 <source bridge='xenbr0'/> 20 <mac address='AA:BB:CC:DD:01:00'/> 21 <script path='vif-bridge'/> 22 </interface> 23 <disk type='block' device='disk'> 24 <driver name='phy'/> 25 <source dev='/dev/VolGroup00/node0'/> 26 <target dev='xvda'/> 27 </disk> 28 <console tty='/dev/pts/1'/> 29 </devices> 30 </domain> |
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 7 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





