V-Smart - Twój partner w biznesie internetowym

Proxmox – VIRTIO – lek na ślimaka

Przypomnę w czym leżał problem w tym poście. Otóż drodzy szanowni czytelnicy złożyliśmy do kupy kilka routerów na Proxmoxie jednak okazało się, że wydajność dysków wirtualnych oraz sieci była dość niska. Ponadto co jakiś czas wieszały się nam interfejsy sieciowe na bridżach. Przetestowaliśmy rozwiązanie zwane VIRTIO, które to jest traktowane jako cross-platformowe api dla wirtualizacji. Rozwiązanie to w teoretycznej teorii ma być "lepsze" i "szybsze".

Tworząc maszynę wirtualną wybieramy typ dysku VIRTIO (nie ATA, nie SCSI) oraz typ karty sieciowej VIRTIO. Opcje te dostępne są w Proxmoxie o wersji wyższej niż 1.3. Instalujemy na tym np. Debian Lenny w wersji netinstall. Instalka ładnie wykryje nam dysk o nazwie /dev/vda i cała reszta tu już to, co znacie z życia codziennego.

Po odpaleniu systemu na dzieciaku wydajemy polecenie lsmod i zobaczymy wśród podładowanych modułów między innymi:

  • virtio_pci
  • virtio_net
  • virtio_blk

Następnie klepiemy polecenie lspci i powinniśmy zobaczyć coś koło tego:

  • 00:03.0 Ethernet controller: Qumranet, Inc. Device 1000
  • 00:04.0 Mass storage controller: Qumranet, Inc. Device 1001
  • 00:05.0 RAM memory: Qumranet, Inc. Device 1002

Dla świętego spokoju dajmy jeszcze df -h i być powinno tam gdzieś na przykład:

/dev/vda1

Na sieci znalazłem info, że za pomocą VIRTIO można nawet 11-krotnie przyspieszyć wirtualny dysk. Aby jednak osiągnąć to, należy zmienić algorytm IO-Schedulera z [cfq] na [deadline] przez rekompilację jądra systemu (na dobre) lub "w locie" za pomocą polecenia:

echo deadline > /sys/block/sda/queue/scheduler

gdzie sda to nasz dysk. Nie testowałem tego jeszcze.

Na razie testowa konfiguracja chodzi u kolegi, który ma około 150 klientów przez to przepuszczonych. Kolejne problemy jakie spotkaliśmy to kompilacja jądra ze wszystkim odpowiednimi dla routera opcjami. Zaznaczam od razu, że paczki rabbit nie działają na maszyna z dyskiem VIRTIO ponieważ nie zostało to jeszcze wkompilowane a initrd nie używam. To będzie wyzwanie na kilka najbliższych jesiennych szarych wieczorów.

PS. dzięki kadzbi za pomoc.

Be Sociable, Share!
Tagged as: , , ,    autor: yarzombo Dodaj komentarz