KVM

Aus xinux.net
Zur Navigation springen Zur Suche springen

Installation

Vorbereitung

Testen ob VT Unterstützung der CPU vorhanden ist

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

0 bedeutet keine Unterstützung 1 (oder mehr) Unterstützung vorhanden

Basis Pakete

 aptitude install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst

Verifizieren der Installation

virsh -c qemu:///system list
Id Name                 Status
----------------------------------

Installation des Virtmanagers(GUI)

apt-get install virt-manager

Installation des qemu Pakets

apt-get install qemu

Installation des Linux capabilities tools

apt-get install libcap2-bin

Vergeben der CAP_NET_ADMIN Fähigkeit

setcap cap_net_admin=ei /usr/bin/qemu-system-*

Erlauben der Beerchtigung für den Adminuser

echo cap_net_admin  xinux >> /etc/security/capability.conf

Netzwerk mit Bridgefunktion

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
       address 192.168.240.101
       netmask 255.255.240.0
       gateway 192.168.240.100
       bridge_ports eth0
       bridge_stp off
       bridge_fd 0
       bridge_maxwait 0

Damit libvirt-bin automatisch start muss man in der Datei /etc/default/libvirt-bin die Option start_libvirtd auf "yes" setzen.

vi /etc/default/libvirt-bin
start_libvirtd="yes"

Domain-Installation

virt-install --connect qemu:///system --name orion --ram 1024 --disk path=/dev/data/orion \
--cdrom /isos/ubuntu-10.04-server-amd64.iso --vnc --noautoconsole  --os-type linux --accelerate --network=bridge:br0


--name Name der Domain

--disk Diese Images werden in die Domain eingebunden. Es können mehrere Disks eingebunden werden, sowie weitere Optionen getrennt mit Leerzeichen gemacht werden.

--ram Zu Verfügung stehender Arbeitspeicher der Domain

--os-type linux, windows, solaris etc.

--os-variant ubuntukarmic, winxp etc.

--hvm Gebraucht full virtualization.

--accelearte Benutze kvm oder KQEMU, wenn vorhanden.

--import Die Installation ist bereits im Disk-Image enthalten.

--vnc Aktiviert VNC-Display und öffnete einen beliebigen Port >5000, falls nicht --vncport angegeben ist.

--vncport Setzt den Port für VNC fest.

Domain-Administration

virsh
  • help

Hilfe ausgeben

  • attach-device

Gerät aus einer XML-Datei anhängen

  • attach-disk Plattengerät anhängen
  • attach-interface Netzwerkschnittstelle verbinden
  • autostart Eine Domain automatisch starten
  • capabilities Fähigkeiten
  • cd change the current directory
  • connect (Wieder)verbinden mit Hypervisor
  • console Verbindung mit der Gast-Konsole
  • cpu-baseline compute baseline CPU
  • cpu-compare compare host CPU with a CPU described by an XML file
  • create Eine Domain aus einer XML-Datei erstellen
  • start Eine (zuvor definierte) inaktive Domain starten
  • destroy Domain löschen
  • detach-device Gerät von einer XML-Datei lösen
  • detach-disk Plattengerät abtrennen
  • detach-interface Netzwerkschnittstelle abhängen
  • define Definiere (aber starte keine) Domain aus einer XML-Datei
  • domid Einen Domain-Namen oder -UUID in Domain-ID konvertieren
  • domuuid Einen Domain-Namen oder -ID in Domain-UUID konvertieren
  • dominfo Domain-Informationen
  • domjobinfo domain job information
  • domjobabort abort active domain job
  • domname Eine Domain-ID oder UUID in Domain-Namen konvertieren
  • domstate Domain-Status
  • domblkstat Geräteblockstatistiken für eine Domain abrufen
  • domifstat Statistiken der Netzwerkschnittstelle für eine Domain abrufen
  • dommemstat get memory statistics for a domain
  • domblkinfo domain block device size information
  • domxml-from-native Convert native config to domain XML
  • domxml-to-native Convert domain XML to native config
  • dumpxml Domain-Informationen in XML
  • edit edit XML configuration for a domain
  • find-storage-pool-sources discover potential storage pool sources
  • find-storage-pool-sources-as find potential storage pool sources
  • freecell NUMA freier Speicher
  • hostname Hypervisor-Hostname ausgeben
  • list Domains auflisten
  • migrate Domain auf anderen Host migrieren
  • migrate-setmaxdowntime set maximum tolerable downtime
  • net-autostart Ein Netzwerk automatisch starten
  • net-create Netzwerk aus einer XML-Datei erstellen
  • net-define Definiere (aber starte kein) Netzwerk aus einer XML-Datei
  • net-destroy Netzwerk löschen
  • net-dumpxml Netzwerk-Informationen in XML
  • net-edit edit XML configuration for a network
  • net-list Netzwerke auflisten
  • net-name Eine Netzwerk-UUID in einen Netzwerk-Namen konvertieren
  • net-start Ein (zuvor definiertes) inaktives Netzwerk starten
  • net-undefine Ein inaktives Netzwerk undefinieren
  • net-uuid Einen Netzwerk-Namen in eine Netzwerk-UUID konvertieren
  • iface-list list physical host interfaces
  • iface-name convert an interface MAC address to interface name
  • iface-mac convert an interface name to interface MAC address
  • iface-dumpxml interface information in XML
  • iface-define define (but don't start) a physical host interface from an XML file
  • iface-undefine undefine a physical host interface (remove it from configuration)
  • iface-edit edit XML configuration for a physical host interface
  • iface-start start a physical host interface (enable it / "if-up")
  • iface-destroy destroy a physical host interface (disable it / "if-down")
  • managedsave managed save of a domain state

Migration zu neuem Host

virsh migrate --live <GuestName> <DestinationURL>

Beispiel:

# virsh migrate --live galactica qemu+ssh://test2.example.com/system

Autostart

virsh atutostart <domain>
virsh atutostart <domain> --disable

Links