Artykuł opisujący w prosty sposób instalacje KVM na serwerze dedykowanym wykupionym w OVH z zainstalowanym systemem z szablonu.
Przygotowanie serwera dedykowanego pod instalacje KVM zakupionego w OVH należy rozpocząć od zmiany jądra systemu, które można zainstalować bezpośrednio z oryginalnych repozytoriów.
Instalacja standardowego jądra (kernela) systemu
Po zainstalowaniu systemu z szablonu w OVH, należy ustawić własną wersję kernela. Najlepiej i najszybciej zrobić to z repozytoriów. Warto także zostawić obecną wersję kernela, aby, w razie problemów z nowym, móc szybko załadować stary.
yum install kernel
- W przypadku grub2 wystarczy wykonać polecenie:
cp -a /boot/grub2/grub.cfg{,.bak}
Fedora/RHEL/CentOS: # grub2-mkconfig -o /boot/grub2/grub.cfg
Ubuntu/Debian/Mint: # update-grub
- Gdy korzystamy z grub, plik konfiguracyjny /boot/grub/grub.conf powinien być podobny do wpisu poniżej. Z tym że zostawiamy obecny wpis i dodajemy nowy :
default=0 timeout=5 title linux centos6_64 root (hd0,0) kernel /boot/vmlinuz-2.6.32-279.19.1.el6.x86_64 root=/dev/md1 initrd /boot/initramfs-2.6.32-279.19.1.el6.x86_64.img
title linux centos6_2.6.32-504.el6.x86_64 root (hd0,0) kernel /boot/vmlinuz-2.6.32-504.el6.x86_64 root=/dev/md1 initrd /boot/initramfs-2.6.32-504.el6.x86_64.img
Instalacja sterownika kart sieciowych – Intel
Po przejściu na własne jądro, możemy spotkać się z problemem sterowników do kart sieciowych, przez co interfejsy nie będą widoczne. W przypadku wystąpienia takiego problemu, należy zainstalować sterowniki. Aby móc je pobrać, warto przełączyć się na poprzednio działające jądro.
Poniżej została opisana instalacja sterownika dla kart sieciowych Intel
yum install gcc make
yum install kernel-devel
tar -xvf i40e-1.4.25
.tar.gz
cd i40e-1.4.25
/src
make
modinfo ./ixgbe.ko
rmmod ixgbe.ko
modprobe ptp
modprobe dca
modprobe vxlan
Instalacja ładowalnego modułu do istniejącego jądra
insmod ./ixgbe.ko
make install
modprobe ixgbe
Konfiguracja sieci na maszynie wirtualnej
Niestety, konfiguracja sieci na maszynie wirtualnej postawionej w OVH na KVM nie jest standardowa. Tutaj w pierwszej kolejności trzeba wygenerować MAC address dla karty sieciowej maszyny wirtualnej. Generowanie mac addressu odbywa się przez panel klienta w OVH. Następnie należy ustawić wygenerowany adres na karcie sieciowej maszyny wirtualnej.
Oczywiście interfejs maszyny wirtualnej musi być w tym samym bridgu co interfejs maszyny fizycznej/hosta. Na maszynie fizycznej/hoscie nie dokonujemy żadnych zmian. Zmiany wykonywane są tylko na maszynie wirtualnej.
Poniżej znajduje się przykład konfiguracji dla systemu Debian i CentOS:
Debian
/etc/network/interfaces
auto lo eth0 iface lo inet loopback iface eth0 inet static address IP.FAIL.OVER netmask 255.255.255.255 broadcast IP.FAIL.OVER post-up route add IP.TWOJEGO.SERWERA.254 dev eth0 post-up route add default gw IP.TWOJEGO.SERWERA.254 post-down route del IP.TWOJEGO.SERWERA.254 dev eth0 post-down route del default gw IP.TWOJEGO.SERWERA.254
/etc/resolv.conf
nameserver 213.186.33.99
Centos
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=IP.FAIL.OVER
GATEWAY=IP.TWOJEGO.SERWERA.254
ARP=yes
HWADDR=MA:MAC:VI:RT:UEL:LE
/etc/sysconfig/network-scripts/route-eth0 IP.TWOJEGO.SERWERA.254 dev eth0 default via IP.TWOJEGO.SERWERA.254 dev eth0
/etc/resolv.conf nameserver 213.186.33.99
Problemy w trakcie instalacji KVM w systemie Centos 7.2 w OVH – kernel 3.14.32-xxxx-grs-ipv6-64
- Brak możliwości wyświetlania modułów
[root]# lsmod
libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory
[root~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
Linux 3.14.32-xxxx-grs-ipv6-64
- Po zainstalowaniu KVM nie było możliwości uruchomienia maszyn wirtualnych.
Rozwiązaniem było usunięcie/zakomentowanie wpisu w /etc/fstab dotyczącego devpts. - Kolejnym problemem przy działaniu maszyn wirtualnych, był reboot.
Niestety, przy próbie zrestartowania maszyny wirtualnej, wyłączała się całkowicie. I można było ją uruchomić jedynie z poziomu konsoli HV za pomocą „virsh start VM” lub przez virt manager.