-
Xen w CentOS 6
Wirtualizacja odgrywa coraz ważniejszą rolę w IT. Wszystko to dzięki wydajności, skalowalności, a także możliwości poprawy dostępności i ograniczeniu kosztów. Xen o którym dzisiaj mowa, jest bardzo popularną platformą wirtualizacyjną. Niestety od szóstej wersji CentOS-a nie jest już oficjalnie wspierany. Jego miejsce zajął KVM. Na szczęście nie ma rzeczy nie możliwych. Przystąpmy do konfiguracji. Potrzebujemy przede wszystkim kernel przystosowany do Xen-a dla „maszyny matki” oraz sam Xen i narzędzie do jego administracji. Potrzebujemy do tego dodatkowego repozytorium, które zainstalujemy z gotowego pakietu:
rpm -ivh http://au1.mirror.crc.id.au/repo/kernel-xen-release-6-4.noarch.rpm
a następnie:
yum install xen kernel-xen
Po instalacji musimy poprawić nieco plik konfiguracyjny Gruba „/boot/grub/grub.conf”. Poniżej fragment wspomnianego pliku przed modyfikacją:
title CentOS (3.6.3-1.el6xen.x86_64)
root (hd0,0)
kernel /vmlinuz-3.6.3-1.el6xen.x86_64 ro root=/dev/vg0/system rd_NO_LUKS rd_NO_DM nomodeset crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=de
initrd /initramfs-3.6.3-1.el6xen.x86_64.img
a teraz po modyfikacji:
title CentOS (3.6.3-1.el6xen.x86_64)
root (hd0,0)
kernel /xen-4.2.gz dom0_mem=1024M loglvl=all guest_loglvl=all
module /vmlinuz-3.6.3-1.el6xen.x86_64 ro root=/dev/vg0/system rd_NO_LUKS rd_NO_DM nomodeset crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=de
module /initramfs-3.6.3-1.el6xen.x86_64.img
Parametr „dom0_mem=1024M” nie jest obowiązkowy, a jego użycie spowoduje, że maszyna fizyczna nie zarezerwuje sobie więcej pamięci niż 1 GB pamięci operacyjnej.
Kolejnym krokiem jest konfiguracja sieci dla Xen-a. Najczęstszy w moim mniemaniu scenariusz zakłada, że maszyny wirtualne mają własne publiczne adresy IP. W takim przypadku konieczny będzie bridge. Aby Xen automatycznie tworzył takowy należy w pliku konfiguracyjnym „/etc/xen/xend-config.sxp” zakomentować wpis „network-script /bin/true”, który oznaczałby, że w razie potrzeby sami skonfigurujemy sobie bridge w systemie. Odkomentowujemy „network-script network-bridge”. Zachowujemy plik i restartujemy system. Po restarcie sprawdzamy czy bridge się utworzył, wydając następujące polecenie:brctl show
Powinniśmy zobaczyć coś takiego:
bridge name bridge id STP enabled interfaces
eth0 8000.3085a9ed0490 no peth0
Poniżej przykładowy plik konfiguracyjny dla wirtualnej maszyny, który powinien zdnajdować się w katalogu „/etc/xen” i być dolinkowany do „/etc/xen/auto”, aby startował przy starcie Xen-a.
bootloader = '/usr/bin/pygrub'
memory = 3072
name = "centos"
vif = [ 'mac=00:50:56:00:2B:E2, bridge=eth0' ]
disk = [ 'phy:/dev/mapper/vg0-centos,xvda1,w','phy:/dev/mapper/vg0-centos_sw,xvda2,w' ]
extra = "3"
vcpus = "6"
hostname = "centos"
Maszynę wirtualną uruchamiamy poleceniemxm create nazwa_pliku_konfiguracyjnego_maszyny
dodanie do polecenia „-c” spowoduje, że zostanie od razu odpalona konsola nowo uruchomionego systemu. W razie problemów lub uwag, proszę pisać na forum lub w komentarzach.
Czytałem, że Xen umiera (brak developerów) stąd zapewne wycofywanie się dystrybucji na rzezcz kvm-a.
Na rynku pozostaje Vmware, Hyper-V i KVM. Owszem w serwerowniach Xen pozostanie. Kiedyś jedyny przeciwnik Vmware więc wyuczonych adminów w tej technologi jest sporo.
Ja dzisiaj inwestuje swój czas dla KVM-a.
@hello_world… zapominasz o XenServerze od Citrixa 🙂
„Niestety od szóstej wersji CentOS-a nie jest już oficjalnie wspierany”
Jakie niestety? Skoro Red Hat inwestuje w rozwój KVM zatrudniając programistów oraz jeśli KVM jest dostępny w vanilla kernel czyli jest najbardziej natywnym dla Linuxa hypervisorem, w dodatku bardzo wydajnym i funkcjonalnym to dlaczego niestety?
Ano takie niestety, że jest sporo instalacji na XEN-ie i centosie 5, i one albo zostaną na piątce albo będą instalować nieoficjalne pakiety. Poadminujesz czymś więcej niż jednym serwerem to zobaczysz jaka to „radość” jak ci w którymś wydaniu zniknie soft na którym pracujesz.
A KVM jest wydajny, ale jednak do XEN-a mu sporo brakuje.
@RTFM: W środowisku produkcyjnym mam w tej chwili ponad 100 maszyn wirtualnych KVM. Testowych i developerskich nie policzę bo one się pojawiają i znikają w zależności od potrzeb. virt-v2v konwertuje obrazy, zresztą sposobów na migrację jest dużo. A jeśli nie chcesz migrować to zmień platformę, ktoś Ci każe używać CentOS jako hypervisor (czy dom0)?
„A KVM jest wydajny, ale jednak do XEN-a mu sporo brakuje.”
Czego?
„virt-v2v konwertuje obrazy” – tylko widzisz, ja nie robię tego na obrazach.
„ktoś Ci każe używać CentOS jako hypervisor” – nikt nie każe, ale się przyzwyczaiłem. Dlatego dla mnie jak xen wypadł z centosa6 to jest problem, bo muszę poszukać czegoś innego.
A jaka jest różnica pomiędzy konwertowaniem obrazu w pliku a na urządzeniu blokowym (partycja, lv cokolwiek), jeśli o to Ci chodzi? Czy dd if=plik działa inaczej niż dd if=/dev/sda1?
Tak czy inaczej, życzę Wesołych Świąt!
@naight
Nie przytoczę źródła ale słyszałem że jedyną przewagę Xena od Citrixa to wirtualizacja desktopów. W serwerowych rozwiązaniach nigdy nie dogonił Vmware, a dał się dogonić KVM.
Oczywiście to moje zdanie i jeżeli miałbym dziś wybierać pomiędzy:
XenCitrix & RHEV wybiorę tego drugiego
Xen OpenSource & KVM to też wybiorę tego drugiego
Wszystkie znaki na niebie wskazują że ten drugi już wygrał.