Migrace KVM virtuální stroje na OpenVZ container: Porovnání verzí

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
 
(Není zobrazeno 11 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
Následující návod popisuje jak za běhu přemigrovat KVM virtuál (ale lze aplikovat na virtuál na XENu čí fyzický stroj) na OpenVZ container.
Požadavky:
Požadavky:


Řádek 16: Řádek 18:
  /etc/udev
  /etc/udev


2. Pomocí rsync překopírujte obsah virtuálu (a.b.c.d je adresa současného virtuálu, 123 je CTID containeru):
2. Pomocí rsync překopírujte obsah virtuálu (místo a.b.c.d si doplňte adresu současného virtuálu, místo 123 zase CTID containeru):


  rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/ /var/lib/vz/private/123/
  rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/ /var/lib/vz/private/123/


Pokud máte máte několik oddílů (např. pro /var, /boot, apod.), opakujte předchozí bod pro každý z nich:
Pokud máte máte několik samostatných oddílů (např. pro /var, /boot, apod.), opakujte předchozí bod pro každý z nich:


  rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/var/ /var/lib/vz/private/123/var/
  rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/var/ /var/lib/vz/private/123/var/
Řádek 31: Řádek 33:
  /etc/init.d/apache2 stop
  /etc/init.d/apache2 stop
  ...
  ...
'''V tuto chvíli se se bude váš virtuál pro návštěvníky tvářit jako nedostupný!'''
4. Opakujte bod 2., tentokrát to však bude trvat o poznání kratší dobu.
5. Na containeru je třeba ještě upravit některé soubory, takže na fyzickém stroji s ním spusťte (opět si místo 123 doplňte vaše CTID):
sed -i -e 's/^[0-9].*getty.*tty/#&/g'  /var/lib/vz/private/123/etc/inittab
ln -sf /proc/mounts /var/lib/vz/private/123/etc/mtab
mv /var/lib/vz/private/123/etc/fstab /var/lib/vz/private/123/etc/fstab.old
egrep '/dev/pts|/dev/shm|/proc|/sys' /var/lib/vz/private/123/etc/fstab.old > /var/lib/vz/private/123/etc/fstab
6. Vypněte starý virtuál, spusťte container a pomocí konzole otestujte (opět si místo 123 doplňte vaše CTID):
vzctl start 123
vzctl enter 123
Nyní by mělo již všechno fungovat (otestujte pingem).
==== Jako jeden skript: ====
# ID containeru
export CTID=123
# Adresa puvodniho stroje
export HOST="a.b.c.d"
rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/ /var/lib/vz/private/$CTID/
rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/boot/ /var/lib/vz/private/$CTID/boot/
rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/var/www/ /var/lib/vz/private/$CTID/var/www/
sed -i -e 's/^[0-9].*getty.*tty/#&/g'  /var/lib/vz/private/$CTID/etc/inittab
ln -sf /proc/mounts /var/lib/vz/private/$CTID/etc/mtab
mv /var/lib/vz/private/$CTID/etc/fstab /var/lib/vz/private/$CTID/etc/fstab.old
egrep '/dev/pts|/dev/shm|/proc|/sys' /var/lib/vz/private/$CTID/etc/fstab.old > /var/lib/vz/private/$CTID/etc/fstab
vzctl start $CTID
vzctl enter $CTID
Převzato z http://wiki.openvz.org/Physical_to_container

Aktuální verze z 10. 1. 2013, 13:39

Následující návod popisuje jak za běhu přemigrovat KVM virtuál (ale lze aplikovat na virtuál na XENu čí fyzický stroj) na OpenVZ container.

Požadavky:

Nainstalovaný a vypnutý OpenVZ container se stejnou distribucí a verzí Linuxu.

1. Na fyzickém stroji, kde se nachází nový container, vytvořte soubor /tmp/exclude.txt obsahující výčet souborů, které se nebudou kopírovat.

Do něj vložte obsah:

/tmp
/boot
/lib/modules
/etc/blkid
/etc/mtab
/etc/lvm
/etc/fstab
/etc/udev

2. Pomocí rsync překopírujte obsah virtuálu (místo a.b.c.d si doplňte adresu současného virtuálu, místo 123 zase CTID containeru):

rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/ /var/lib/vz/private/123/

Pokud máte máte několik samostatných oddílů (např. pro /var, /boot, apod.), opakujte předchozí bod pro každý z nich:

rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@a.b.c.d:/var/ /var/lib/vz/private/123/var/

3. Na virtuálu vypněte všechny služby, které mohou zapisovat na disk (obzvláště mysql, postgresql, cron, apache2, ne však ssh!):

/etc/init.d/mysql stop
/etc/init.d/postgresql stop
/etc/init.d/cron stop
/etc/init.d/apache2 stop
...

V tuto chvíli se se bude váš virtuál pro návštěvníky tvářit jako nedostupný!

4. Opakujte bod 2., tentokrát to však bude trvat o poznání kratší dobu.

5. Na containeru je třeba ještě upravit některé soubory, takže na fyzickém stroji s ním spusťte (opět si místo 123 doplňte vaše CTID):

sed -i -e 's/^[0-9].*getty.*tty/#&/g'  /var/lib/vz/private/123/etc/inittab
ln -sf /proc/mounts /var/lib/vz/private/123/etc/mtab
mv /var/lib/vz/private/123/etc/fstab /var/lib/vz/private/123/etc/fstab.old
egrep '/dev/pts|/dev/shm|/proc|/sys' /var/lib/vz/private/123/etc/fstab.old > /var/lib/vz/private/123/etc/fstab

6. Vypněte starý virtuál, spusťte container a pomocí konzole otestujte (opět si místo 123 doplňte vaše CTID):

vzctl start 123
vzctl enter 123

Nyní by mělo již všechno fungovat (otestujte pingem).

Jako jeden skript:

# ID containeru
export CTID=123
# Adresa puvodniho stroje
export HOST="a.b.c.d"

rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/ /var/lib/vz/private/$CTID/
rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/boot/ /var/lib/vz/private/$CTID/boot/
rsync -avz -H -X --one-file-system --numeric-ids --exclude-from=/tmp/exclude.txt -e ssh root@$HOST:/var/www/ /var/lib/vz/private/$CTID/var/www/

sed -i -e 's/^[0-9].*getty.*tty/#&/g'  /var/lib/vz/private/$CTID/etc/inittab
ln -sf /proc/mounts /var/lib/vz/private/$CTID/etc/mtab
mv /var/lib/vz/private/$CTID/etc/fstab /var/lib/vz/private/$CTID/etc/fstab.old
egrep '/dev/pts|/dev/shm|/proc|/sys' /var/lib/vz/private/$CTID/etc/fstab.old > /var/lib/vz/private/$CTID/etc/fstab

vzctl start $CTID
vzctl enter $CTID

Převzato z http://wiki.openvz.org/Physical_to_container