====== 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. [[howto:linux: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" :/ .%%''
* 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 %%''
Hotovo. Pri prvnim startu je dobre sledovat ''%%xm console %%'' 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