Virtualisierung · 5 min read · Feb 01, 2026

Virtualisierung mit KVM auf einem Fedora 11 Server

Virtualisierung mit KVM auf einem Fedora 11 Server

Version 1.0
Autor: Falko Timme

Diese Anleitung erklärt, wie Sie KVM installieren und verwenden können, um virtuelle Maschinen auf einem Fedora 11 Server zu erstellen und auszuführen. Ich werde zeigen, wie man bildbasierte virtuelle Maschinen erstellt und auch virtuelle Maschinen, die ein logisches Volume (LVM) verwenden. KVM steht für Kernel-based Virtual Machine und nutzt die Hardwarevirtualisierung, d.h. Sie benötigen eine CPU, die Hardwarevirtualisierung unterstützt, z.B. Intel VT oder AMD-V.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich verwende hier einen Fedora 11 Server mit dem Hostnamen server1.example.com und der IP-Adresse 192.168.0.100 als meinen KVM-Host.

Wir benötigen auch ein Desktop-System, auf dem wir virt-manager installieren, damit wir eine Verbindung zur grafischen Konsole der virtuellen Maschinen herstellen können, die wir installieren. Ich verwende hier einen Fedora 11 Desktop.

2 KVM installieren

Fedora 11 KVM-Host:

Zuerst überprüfen Sie, ob Ihre CPU Hardwarevirtualisierung unterstützt - wenn dies der Fall ist, sollte der Befehl

egrep '(vmx|svm)' --color=always /proc/cpuinfo

etwas anzeigen, z.B. so:

[root@server1 ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
[root@server1 ~]#

Wenn nichts angezeigt wird, unterstützt Ihr Prozessor keine Hardwarevirtualisierung, und Sie müssen hier aufhören.

Um KVM und virtinst (ein Tool zum Erstellen virtueller Maschinen) zu installieren, führen wir aus

yum install kvm qemu libvirt python-virtinst

Dann starten Sie den libvirt-Daemon:

/etc/init.d/libvirtd start

Um zu überprüfen, ob KVM erfolgreich installiert wurde, führen Sie aus

virsh -c qemu:///system list

Es sollte etwas wie folgt anzeigen:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

Wenn stattdessen ein Fehler angezeigt wird, ist etwas schiefgegangen.

Als nächstes müssen wir einen Netzwerkbrücke auf unserem Server einrichten, damit unsere virtuellen Maschinen von anderen Hosts wie physische Systeme im Netzwerk erreicht werden können.

Dazu installieren wir das Paket bridge-utils…

yum install bridge-utils

… und konfigurieren eine Brücke.

Ich deaktiviere den NetworkManager von Fedora und aktiviere die “normale” Netzwerkkonfiguration. Der NetworkManager ist gut für Desktops, bei denen sich Netzwerkverbindungen ändern können (z.B. LAN vs. WLAN), aber auf einem Server ändert man normalerweise nicht die Netzwerkverbindungen:

chkconfig NetworkManager off  
chkconfig --levels 35 network on  
/etc/init.d/network restart

Überprüfen Sie Ihre /etc/resolv.conf, ob alle Nameserver aufgelistet sind, die Sie zuvor konfiguriert haben:

cat /etc/resolv.conf

Wenn Nameserver fehlen, führen Sie aus

system-config-network

und fügen Sie die fehlenden Nameserver erneut hinzu.

Um die Brücke zu konfigurieren, erstellen Sie die Datei /etc/sysconfig/network-scripts/ifcfg-br0 (bitte verwenden Sie die Werte BOOTPROTO, DNS1 (plus alle anderen DNS-Einstellungen, falls vorhanden), GATEWAY, IPADDR, NETMASK und SEARCH aus der Datei /etc/sysconfig/network-scripts/ifcfg-eth0):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |

Ändern Sie /etc/sysconfig/network-scripts/ifcfg-eth0 wie folgt (kommentieren Sie BOOTPROTO, DNS1 (und alle anderen DNS-Server, falls vorhanden), GATEWAY, IPADDR, NETMASK und SEARCH aus und fügen Sie BRIDGE=br0 hinzu):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

| # Networking Interface DEVICE=eth0 #BOOTPROTO=none #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes TYPE=Ethernet IPV6INIT=no USERCTL=no BRIDGE=br0 |

Dann starten Sie das System neu:

reboot

Nach dem Neustart führen Sie aus

ifconfig

Es sollte jetzt die Netzwerkbrücke (br0) anzeigen:

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:91 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:16520 (16.1 KiB)  TX bytes:11889 (11.6 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:136 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:22152 (21.6 KiB)  TX bytes:14147 (13.8 KiB)  
          Interrupt:28 Base address:0x2000  
  
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:746 (746.0 b)  TX bytes:746 (746.0 b)  
  
virbr0    Link encap:Ethernet  HWaddr E2:54:14:EA:7A:01  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::e054:14ff:feea:7a01/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:5156 (5.0 KiB)  
  
[root@server1 ~]#

3 Installation von virt-manager auf Ihrem Fedora 11 Desktop

Fedora 11 Desktop:

Wir benötigen ein Mittel, um eine Verbindung zur grafischen Konsole unserer Gäste herzustellen - wir können dafür virt-manager verwenden. Ich gehe davon aus, dass Sie einen Fedora 11 Desktop verwenden.

Werden Sie root…

su

… und führen Sie aus…

yum install virt-manager

… um virt-manager zu installieren.

(Wenn Sie einen Ubuntu 9.04 Desktop verwenden, können Sie virt-manager wie folgt installieren:

sudo aptitude install virt-manager

)

4 Erstellen eines Debian Lenny Gast (bildbasiert)

Fedora 11 KVM-Host:

Kehren wir nun zu unserem Fedora 11 KVM-Host zurück.

Sehen Sie sich

man virt-install

an, um zu lernen, wie man es verwendet.

Um einen Debian Lenny Gast (im Bridging-Modus) mit dem Namen vm10, 512 MB RAM, zwei virtuellen CPUs und dem Disk-Image ~/vm10.qcow2 (mit einer Größe von 12 GB) zu erstellen, legen Sie die Debian Lenny Netinstall-CD in das CD-Laufwerk ein und führen Sie aus

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm

Natürlich können Sie auch ein ISO-Image der Debian Lenny Netinstall-CD erstellen…

dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso

… und das ISO-Image im virt-install-Befehl verwenden:

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm

Die Ausgabe ist wie folgt:

[root@server1 ~]# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm  


Starting install...  
Creating storage file...                             
                                                        |  12 GB     00:00  
Creating domain...                                
                                                        |    0 B     00:00  
Domain installation still in progress. You can reconnect to  
die Konsole, um den Installationsprozess abzuschließen.  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.