• XEN 4.6 w CentOS 7

    dodany przez Przemysław Sikora

    Jakiś czas temu pisałem o konfiguracji maszyny Dom0 dla Xen-a pracującej pod kontrolą systemu CentOS 6. Teraz czas na siódemkę 🙂

    yum install centos-release-xen
    yum update
    yum install xen kernel-xen
    reboot

    Otwieramy główny plik konfiguracyjny Gruba i znajdujemy poniższą linię.

    vim /etc/default/grub

    GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"
    Ustawiamy na sztywno maksymalne zużycie pamięci operacyjnej przez DOM0.
    GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

    Możemy jeszcze wyedytować config kernela z poziomu configa xena tj. w pliku „/etc/sysconfig/xen-kernel”

    vim /etc/sysconfig/xen-kernel

    XEN_KERNEL_ARGS="dom0_mem=1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

    grub2-mkconfig -o /boot/grub2/grub.cfg

    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-4.9.75-29.el7.x86_64
    Found initrd image: /boot/initramfs-4.9.75-29.el7.x86_64.img
    Found linux image: /boot/vmlinuz-4.9.75-29.el7.x86_64
    Found initrd image: /boot/initramfs-4.9.75-29.el7.x86_64.img
    Found linux image: /boot/vmlinuz-4.9.75-29.el7.x86_64
    Found initrd image: /boot/initramfs-4.9.75-29.el7.x86_64.img
    Found linux image: /boot/vmlinuz-4.9.75-29.el7.x86_64
    Found initrd image: /boot/initramfs-4.9.75-29.el7.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.17.1.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.17.1.el7.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-02c984abab014580961c5edfdc57fa94
    Found initrd image: /boot/initramfs-0-rescue-02c984abab014580961c5edfdc57fa94.img
    done

    Dla przetestowania

    reboot

    Wyłączamy zachowywanie stanu (hibernacja) maszyn wirtualnych przy restarcie.

    vim /etc/sysconfig/xendomains

    Komentujemy wpis
    XENDOMAINS_SAVE=/var/lib/xen/save
    Ustawiamy wartość „XENDOMAINS_RESTORE” na false.

    Konfigurujemy sieć, w naszym przypadku w formie bridge.

    ifconfig -a

    enp32s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 91.252.116.146 netmask 255.255.255.0 broadcast 91.252.116.255
    ether 78:e7:d1:f5:e0:dc txqueuelen 1000 (Ethernet)
    RX packets 851 bytes 64306 (62.7 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 246 bytes 27695 (27.0 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    device interrupt 16

    enp34s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
    ether 78:e7:d1:f5:e0:dd txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    device interrupt 17

    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10<host>
    loop txqueuelen 1 (Local Loopback)
    RX packets 84 bytes 6908 (6.7 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 84 bytes 6908 (6.7 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    vim /etc/sysconfig/network-scripts/ifcfg-xenbr0

    DEVICE=xenbr0
    BOOTPROTO=none
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Bridge
    IPADDR=91.252.116.146
    PREFIX=24
    GATEWAY=91.252.116.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    USERCTL=no

    vim /etc/sysconfig/network-scripts/ifcfg-enp32s0

    DEVICE=enp32s0
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Ethernet
    BRIDGE="xenbr0"
    USERCTL=no

    vim /etc/sysconfig/network-scripts/ifcfg-xenbr2

    DEVICE=xenbr2
    BOOTPROTO=none
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Bridge
    IPADDR=192.168.30.2
    PREFIX=24
    USERCTL=no

    vim /etc/sysconfig/network-scripts/ifcfg-enp34s0

    DEVICE=enp34s0
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Ethernet
    BRIDGE="xenbr2"
    USERCTL=no

    Czas na restart sieci.

    service network restart
    ifconfig

    enp32s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    ether 78:e7:d1:f5:e0:dc txqueuelen 1000 (Ethernet)
    RX packets 987364271 bytes 1143051725270 (1.0 TiB)
    RX errors 0 dropped 67 overruns 0 frame 0
    TX packets 335911441 bytes 26638277777 (24.8 GiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    device interrupt 16

    enp34s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    ether 78:e7:d1:f5:e0:dd txqueuelen 1000 (Ethernet)
    RX packets 339762 bytes 61539812 (58.6 MiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 699 bytes 52158 (50.9 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    device interrupt 17

    xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 91.252.116.146 netmask 255.255.255.0 broadcast 91.200.186.255
    ether 78:e7:d1:f5:e0:dc txqueuelen 1000 (Ethernet)
    RX packets 251252416 bytes 1052813669024 (980.5 GiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 126021278 bytes 8815768337 (8.2 GiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    xenbr2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.168.30.2 netmask 255.255.255.0 broadcast 192.168.30.255
    ether 78:e7:d1:f5:e0:dd txqueuelen 1000 (Ethernet)
    RX packets 339781 bytes 55425666 (52.8 MiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 350 bytes 24336 (23.7 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    Wygląda na to, że się udało. Przydatnym poleceniem do sprawdzania działania bridge jest „brctl show”. Pamiętajmy o włączeniu autostartu usługi xendomains, ponieważ domyślnie jest wyłączona.

    systemctl enable xendomains
    

    Na koniec konfiguracji, uruchommy ponownie maszynę

    reboot

    Po restarcie powinniśmy być w stanie uruchamiać maszyny wirtualne w naszym nowym środowisku 🙂 Przyda nam się poniższa komenda:

    xm create nazwa_pliku_konfiguracyjnego_maszyny_z_dokładną_ścieżką

    Pamiętajmy, że w configu maszyny wirtualnej nazwy urządzeń typu storage, powinny być również z „pełną ścieżką” np. „phy:/dev/vg0/vps,xvda1,w”, a nie „phy:vg0/vps,xvda1,w” jak można było jeszcze w starszych wersjach Xen-a.

Dodaj komentarz

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