• Xen w CentOS 6

    dodany przez Przemysław Sikora

    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 poleceniem

    xm 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.

8 komentarzy do “Xen w CentOS 6”

  1. hello_world pisze:

    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.

  2. night pisze:

    @hello_world… zapominasz o XenServerze od Citrixa 🙂

  3. sbv pisze:

    „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?

  4. RTFM pisze:

    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.

  5. sbv pisze:

    @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?

  6. RTFM pisze:

    „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.

  7. sbv pisze:

    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!

  8. hello_world pisze:

    @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ł.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony