XEN - migracja maszyn pomiędzy serwerami XEN Kategoria: Linux | Tagi: clone, dd, migracja, xen | Autor: Bartłomiej Gałęzia

Nie jest to idealne rozwiązanie ale działa.

1. Należy stworzyć wolumen na który będziemy zapisywać obraz dysku źródłowego. Wolumen ten powinien być conajmniej tej samej wielkości do dysk źródłowy.

lvcreate -n transfer_disk -L 200G xenvms

2. Podłączamy ten dysk do wirtualki, którą chcemy zmigrować i bootujemy ją z live-cd

kernel = '/usr/lib/xen-4.1/boot/hvmloader' #zmieniamy kernel żeby dało się odpalić wirtualkę w trybie graficznym przez VNC
builder = 'hvm'

vcpus       = '1'
memory      = '1024'

cdrom = 'file:/xen/ISO/ubuntu-16.04.3-desktop-amd64.iso' # montujemy ISO live cd jako CD-ROM
disk        = [
                'file:/xen/ISO/ubuntu-16.04.3-desktop-amd64.iso,hdc:cdrom,r', # montujemy ISO live cd jako CD-ROM
               'phy:/dev/xenvms/vm-disk,xvda,w',
               'phy:/dev/xenvms/transfer_disk,xvdb,w', #montujemy dysk do zapisania obrazu
              ]

boot = "dc" #bootujemy najpierw z CD-ROM
name        = 'vm'
vif         = [ 'ip=10.20.30.40 ,mac=00:11:22:33:44:55,bridge=xenbr0' ]

vnc=1 #konfiguracja VNC
vncconsole=1
vncpasswd='password'

vncunused = 1
vnclisten = '10.20.30.50'
stdvga = 0
serial = 'pty'
usbdevice = 'tablet'

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

3. Po uruchomieniu live-cd formatujemy dysk "transfer_disk" za pomocą gparted i montujemy go w systemie:

mount /dev/xvdb1 /mnt/transfer

4. Teraz możemy wykonać obraz dysku xvda do pliku obrazu za pomocą dd

dd if=/dev/xvda | gzip -1 > /mnt/transfer/vm-image.gz

5. Na docelowym serwerze robimy dokładnie taki sam wolumen do trasferu i tak samo bootujemy wirtualkę z nim z livecd

6. Przenosimy plik z obrazem z serwera źródłowego na docelowy

scp /mnt/transfer/vm-image.gz user@192.168.1.1:/mnt/transfer/

7. Odtwarzamy dysk na serwerze docelowym z obrazu

gunzip -c /mnt/transfer/vm-image.gz | dd of=/dev/xvda

8. Zamykamy docelową wirtualkę i zmieniamy configa tak aby bootowała się już z odtworzonego dysku

bootloader = '/usr/lib/xen-4.1/bin/pygrub'

vcpus       = '1'
memory      = '1024'

root        = '/dev/xvda1 ro'
disk        = [
               'phy:/dev/xenvms/vm-disk,xvda,w',
              ]

name        = 'vm'

vif         = [ 'ip=10.20.30.40 ,mac=00:11:22:33:44:55,bridge=xenbr0' ]

#  Behaviour
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Źródło:

https://wiki.archlinux.org/index.php/Disk_cloning 

https://unix.stackexchange.com/questions/132797/how-to-dd-a-remote-disk-using-ssh-on-local-machine-and-save-to-a-local-disk

Dodaj komentarz

Brak komentarzy, bądź pierwszy i dodaj swój komentarz