Przygotowanie serwera dedykowanego pod instalacje KVM w OVH

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
http://downloads.sourceforge.net/project/e1000/i40e%20stable/1.4.25/i40e-1.4.25.tar.gz
tar -xvf i40e-1.4.25.tar.gz cd i40e-1.4.25/src make modinfo ./ixgbe.ko
Usuwamy stary moduł
rmmod ixgbe.ko
Ładowanie zależnych modułów
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.