Obsah
Xen 4 a větší
Nastaveni Dom0
- /etc/xen/xend-config.sxp
(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)
- /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="elevator=cfq console=ttyS0,115200 console=tty0" GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin"
- /etc/sysctl.conf
#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
- /boot/grub/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
- /etc/xen/virtual,cfg
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
na1: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