SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


Postranní lišta


Provozují SPOJE.NET.
Nejlepší internet v Praze.

howto:vps:xen:xen4

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>:/ .
  • 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

howto/vps/xen/xen4.txt · Poslední úprava: 2016/10/29 23:06 (upraveno mimo DokuWiki)