Xen 4 a větší

Nastaveni Dom0

(vif-script vif-bridge) # dom0-min-mem is the lowest permissible memory level (in MB) for dom0. # This is a minimum both for auto-ballooning (as enabled by # enable-dom0-ballooning below) and for xm mem-set when applied to dom0. (dom0-min-mem 512) # Whether to enable auto-ballooning of dom0 to allow domUs to be created. # If enable-dom0-ballooning = no, dom0 will never balloon out. (enable-dom0-ballooning no) # In SMP system, dom0 will use dom0-cpus # of CPUS # If dom0-cpus = 0, dom0 will take all cpus available (dom0-cpus 1)
GRUB_CMDLINE_LINUX_DEFAULT="elevator=cfq console=ttyS0,115200 console=tty0" GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin"
#vypnout autokonfiguraci ipv6 net.ipv6.conf.all.autoconf=0 net.ipv6.conf.default.autoconf=0 net.ipv6.conf.default.accept_ra=0 net.ipv6.conf.eth0.autoconf=0 net.ipv6.conf.eth0.accept_ra=0 #nefiltrovat packety, ktery prochazi jen bridgi net.bridge.bridge-nf-call-ip6tables=0 net.bridge.bridge-nf-call-iptables=0 net.bridge.bridge-nf-call-arptables=0 #reboot pri zatuhlym kernelu: kernel.panic = 5 kernel.hung_task_panic = 1 kernel.hung_task_timeout_secs = 300

Vlastní kernel v DomU (pokud to tak jeste nemame)

1. Nainstalovat v DomU příslušný kernel (napr. apt-get install linux-image-2.6.32-5-xen-amd64), grub neinstalovat !
2. Vytvořit adresář /boot/grub - mkdir /boot/grub
3. Vytvořit soubor menu.lst

default 0 timeout 2 title Debian GNU/Linux 6.0 root (hd0,0) kernel /vmlinuz root=/dev/xvda1 ro elevator=noop initrd /initrd.img title Debian GNU/Linux 6.0 (Single-User) root (hd0,0) kernel /vmlinuz root=/dev/xvda1 ro single initrd /initrd.img

4. POZOR, pokud jste do teď používali kernel starší než 2.6.32, dojde po rebootu do nového kernelu k přejmenování diskových jednotek z sda na xvda tj. napr. sda1⇒xvda1; sda2⇒xvda2 atd. Je nutné proto upravit soubor /etc/fstab !!
5. Na Dom0 oeditujte konfiguracni soubor prislusneho virtualu - zakomentujte radky kernel,ramdisk a přidejte radku bootloader = '/usr/lib/xen-4.1/bin/pygrub' - pripadne obdobnou cestu k pygrubu
6. zastavte a znovu spusťte DomU, aby se projevila zmema

Nastavení scheduleru

Zjištění aktuálního nastavení:

cat /sys/block/{DEVICE-NAME}/queue/scheduler cat /sys/block/sda/queue/scheduler

Plati pro XEN a KVM

Na Dom0 nastavujeme elevator=cfq

Na DomU nastavujeme elevator=noop

Vytvoření DomU

Můžeme použít jak pro instalaci nové DomU tak i pro migraci starších VPS do nového systému.

Pro vytvoření nové DomU používáme příkaz xen-create-image. V příkladu používám více partic, jejichž jména a velikosti jsem si předtím definoval v souboru /etc/xen-tools/partitions.d/web - je mozne pouzit existujici priklad v adresari partitions.d. Pro distribuci, ktará se bude instalovat, se používá nastavení v souboru /etc/xen-tools/xen-tools.conf

Pokud planujeme migrovat ze starsi VPS, nainstalujeme oldstable debian pridanim parametru --dist=squeeze

xen-create-image --partitions=web --dhcp --pygrub --hostname=vps --memory=4G

Nastaveni konfiguraku VPS

bootloader = '/usr/lib/xen-default/bin/pygrub' extra = "elevator=noop" vcpus = '2' memory = '4096' ....

Migrace starší DomU

Připojíme si disk s nově nainstalovanou DomU např. do adresáře /mnt a provedeme zálohu etc

Na staré DomU musí být nainstalován debian squeeze. Pokud je tam náhodou starší, provedeme upgrade (před upgradem je nutné holdnout udev - viz. Upgrade Linux)

Následně pomocí rsynce překopírujeme celý obsah VPS sudo rsync -avz -e "ssh" --rsync-path="sudo rsync" --exclude="/boot" --exclude="/dev" --exclude="/proc" --exclude="/sys" <stroj>:/ .

(příkaz pro rsync pomocí klíče bez hesla - rsync -r -e "ssh -i /root/.ssh/id_rsa_migration" /var/www/clients/zelenemesto3.cz/web/* root@hostx009.spoje.net:/var/www/clients/zelenemesto3.cz/web/)

Aby byl výpadek co nejkratší, provedeme první rsync za plněho běhu stroje a pak následně v noci při ohlašené odstavce a se zastavenýma službama druhý rsync, který už nebude trvat tak dlouho.

Nyní pomocí si pomoci chrootu pristupnime novou VPS cd /mnt && mount --bind /dev/ /mnt/dev/ && mount --bind /proc/ /mnt/proc/ && mount --bind /sys/ /mnt/sys/ && chroot .

Nainstalujeme kernel pro debian squeeze apt-get install linux-image-2.6.32-5-xen-amd64

Pokud vse dopadne dobre, tak vylezeme z chrootu a prekopirujeme soubor /etc/fstab ze zalohy etc nove VPS

V souboru /etc/inittab zmenime radek 1:2345:respawn:/sbin/getty 38400 tty1 na 1:2345:respawn:/sbin/getty 38400 hvc0

V souboru /etc/sysctl.conf muzeme zakomentovat #xen.independent_wallclock = 1

Nyni odpojime vsechny disky nove VPS. Starou VPS zastavime,pokud jsme to jeste neudelali a novou pustime prikazem xm create <ceste_ke_konfiguaku>

Hotovo. Pri prvnim startu je dobre sledovat xm console <jmeno-vps> na pripadne errory. Pokud tam nejake jsou, opravime. Vetsinou postaci opravu provest jiz prihlasenim do nastartovane VPS. Nasledne muzeme uz beznym zpusobem provest upgrade na Debian Wheezy