====== 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