{"id":504,"date":"2009-06-15T10:00:00","date_gmt":"2009-06-15T08:00:00","guid":{"rendered":"http:\/\/www.butschek.de\/?p=504"},"modified":"2012-03-11T12:36:58","modified_gmt":"2012-03-11T11:36:58","slug":"kvm-mit-libvirt","status":"publish","type":"post","link":"https:\/\/www.butschek.de\/2009\/06\/15\/kvm-mit-libvirt\/","title":{"rendered":"KVM mit libvirt"},"content":{"rendered":"

\"\"<\/a>Virtualisierungsl\u00f6sungen nutzen meist Config-Files, um die Einstellungen der virtuellen Maschine zu speichern. So l\u00e4\u00dft sich meist mit einem START und einem STOP Kommando eine virtuelle Maschine starten oder stoppen?<\/p>\n

K\u00fcrzlich berichtete ich \u00fcber Kernel-based Virtual Machine (KVM)<\/a>, welches ja per Kommandozeile sehr variabel eingesetzt werden kann, jedoch von Haus aus keine Config-Files kennt.<\/p>\n

RedHat brachte mit libvirt hier eine nette L\u00f6sung: Eine Virtualisierungs-API.<\/p>\n

Mit LibVirt kann kann virtuelle Maschinen in XML-Dateien konfigurieren, die dann mit einem einheitlichen Kommando (virsh) bedient werden. Dabei spielt es \u00fcbrigens keine Rolle, ob dahinter KVM oder XEN zum Einsatz kommt. Damit ist LibVirt nicht nur f\u00fcr den Produktivbetrieb gut geeignet, sondern auch bei der Umstellung sicherlich schon hilfreich.<\/p>\n

Nach der Installation mit ‚apt-get install libvirt-bin‘ ist in \/etc\/libvirt\/qemu die Konfigurationsdatei (servername.xml) anzulegen, die in etwa wie folgt aussieht:<\/p>\n

<!-- Manual: http:\/\/libvirt.org\/formatdomain.html -->\r\n<domain type='kvm'>\r\n\r\n<name>servername<\/name>\r\n<vcpu>1<\/vcpu>\r\n<memory>2096128<\/memory>\r\n\r\n<os>\r\n<type arch='x86' machine='pc'>hvm<\/type>\r\n<boot dev='hd' \/> <!-- fd, hd, cdrom, network -->\r\n<\/os>\r\n\r\n<devices>\r\n<emulator>\/usr\/bin\/kvm<\/emulator>\r\n\r\n<disk type=\"file\" device=\"disk\">\r\n<source file='\/home\/kvm\/servername.img' \/>\r\n<target dev='hda' bus='ide' \/>\r\n<\/disk>\r\n\r\n<disk type=\"file\" device=\"cdrom\">\r\n<source file='\/home\/kvm\/debian-lenny.iso' \/>\r\n<target dev='hdc' bus='ide' \/>\r\n<\/disk>\r\n\r\n<interface type='bridge'>\r\n<mac address='00:16:3E:00:00:01'\/>\r\n<source bridge='br0' \/>\r\n<target dev='tap0' \/>\r\n<\/interface>\r\n\r\n<graphics type='vnc' listen='127.0.0.1' port='5900' keymap='de' \/>\r\n<\/devices>\r\n\r\n<on_poweroff>destroy<\/on_poweroff>\r\n<on_reboot>restart<\/on_reboot>\r\n<on_crash>restart<\/on_crash>\r\n\r\n<features>\r\n<acpi\/>\r\n<\/features>\r\n\r\n<\/domain><\/pre>\n

Servername, Image-File, MAC-Adresse, Target Interface sowie VNC-Port sollte nat\u00fcrlich je virtueller Maschine anders gesetzt werden. Beim Kopieren aus dem Beispiel oben bitte auch beachten, dass die Quotes ganz normale einfache Quotes (Shift + #) sind. Die Blogsoftware zeigt das falsch an, was bei unbedachtem Copy&Paste zu Fehlern f\u00fchrt!<\/p>\n

Eine ausf\u00fchrtliche Anleitung mit genauer Erkl\u00e4rung zu jeder Option im Config-File ist auf der FormatDomain Seite der Projekthomepage unter http:\/\/libvirt.org\/formatdomain.html<\/a> zu finden.<\/p>\n

Alle im Autostart-Ordner verlinkten Konfigurationsdateien starten beim Systemstart automatisch. Ansonsten ist die Steuerung der virtuellen Maschinen sehr einfach. Hier ein \u00dcberblick \u00fcber die wichtigsten Kommandos:<\/p>\n

# Alle Kommandos im \u00dcberblick\r\nvirsh help\r\n\r\n# Liste der laufenden Server\r\nvirsh list\r\n\r\n# Server starten\r\nvirsh start servername\r\n\r\n# Server rebooten\r\nvirsh reboot servername\r\n\r\n# Server stoppen (sauber herunterfahren)\r\nvirsh shutdown servername\r\n\r\n# Server killen (aus dem Speicher kicken, kein sauberer Shutdown)\r\nvirsh destroy servername<\/pre>\n

Sicherlich gibt es noch viel mehr interessante Askepte an LibVirt, doch ich denke, dieser Artikel gibt erstmal einen Grund\u00fcberblick \u00fcber eine einfache Installation.<\/p>\n","protected":false},"excerpt":{"rendered":"

Virtualisierungsl\u00f6sungen nutzen meist Config-Files, um die Einstellungen der virtuellen Maschine zu speichern. So l\u00e4\u00dft sich meist mit einem START und einem STOP Kommando eine virtuelle Maschine starten oder stoppen? K\u00fcrzlich berichtete ich \u00fcber Kernel-based Virtual Machine (KVM), welches ja per Kommandozeile sehr variabel eingesetzt werden kann, jedoch von Haus aus keine Config-Files kennt. RedHat brachte […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,5],"tags":[40,43,45,66,82],"_links":{"self":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/504"}],"collection":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/comments?post=504"}],"version-history":[{"count":2,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/504\/revisions"}],"predecessor-version":[{"id":767,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/posts\/504\/revisions\/767"}],"wp:attachment":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/media?parent=504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/categories?post=504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/tags?post=504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}