Debian KVM
Allgemein
Der Support für KVM (Kernelbased Virtual Machine) ist in neueren Linux Kerneln bereits von Haus aus enthalten. Es sind lediglich ein paar Tools nötig, um mit den Kernelschnittstellen die Virtuellen Machinen anlegen und verwalten zu können. Im Gegensatz zu OpenVZ wird für jede VM eine gewisse Menge von Ressourcen reserviert, die anderen VM oder dem Host nicht mehr zur Verfügung stehen, wenn der Gast diese nicht benötigen sollte. Mittels KVM kann jedes beliebige Gastsystem instaliert werden und nicht nur Linux wie bei OpenVZ.
Voraussetzung
KVM erfordert für den Betrieb eine AMD- oder Intel- CPU mit Hardware Virtualisierungssupport.
Testen, ob die verwendetet CPU Hardware Virtualisierungssupport bietet:
egrep '(vmx|svm)' --color=always /proc/cpuinfo
Als Ausgabe sollte etwas in folgender Form erscheinen (z.B. AMD Athlon X2 64Bt):
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 pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
Achtung: | |
Falls keine Ausgabe erscheint, kann hier abgebrochen werden, da die CPU keine Virtualisierungsfunktionen bietet und somit KVM nicht funktioniert. |
Installation
Installation der nötigen Pakete:
apt-get install kvm libvirt-bin virtinst bridge-utils
Netzwerkkonfiguration
Für die Gäste wird eine Netzwerkbrücke (Bridge) eingerichtet, an der die Gäste und die physikalische Netzwerkkarte eth0 (bei Bedarf evtl. anpassen) angeschlossen werden.
vi /etc/network/interfaces
Diese sieht z.B. folgendermaßen aus:
auto lo iface lo inet loopback #The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Diese wie folgt abändern:
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.0.100 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Netzwerk neustarten:
/etc/init.d/networking restart