Проект

Общее

Профиль

Libvirt migrate » История » Редакция 6

Редакция 5 (Константин Пильник, 2018-12-14 19:40) → Редакция 6/7 (Константин Пильник, 2018-12-15 11:52)

h1. Libvirt migrate 

 если ВМ выделено значительное кол-во ОЗУ, нелишним будет увеличить максимальное время даунтайма (значение в msec) 
 и размер кеша, используемого для переноса+упаковки ОЗУ, (значение в байтах) 
 <pre> 
 virsh migrate-setmaxdowntime kvm132-pent --downtime 30000 
 virsh migrate-compcache kvm132-pent --size 536870912 
 </pre> 

 <pre> 
 virsh migrate --verbose --live --compressed --copy-storage-all \  
  kvm132-pent \ 
  qemu+ssh://10.210.1.1/system \ 
  tcp://10.210.1.1/system \ 
  --xml migrate/kvm132-pent.to.zeus.xml 
 </pre> 

 где: 

 * kvm132-pent - перемещаемая машина 
 * qemu+ssh://10.210.1.1/system - url управляющего интерфейса принимающей стороны 
 * tcp://10.210.1.1/system - url транспортного интерфейса принимающей стороны 
 * migrate/kvm132-pent.to.zeus.xml - файл конфигурации ВМ для принимающей стороны, приготовленный коммандой virsh dumpxml kvm132-pent 

 после миграции незабыть синхронизировать время 
 <pre> 
 timedatectl set-ntp 0; timedatectl set-ntp 1 
 </pre> 

 h2. проблемы и решения 

 <pre> 
 Debian 8 
 libvirt 1.2.9 
 qemu 2.1 
 </pre> 

 В текущей версии связки libvirt/qemu сломан механизм keepalive, из за чего при живой миграции на этапе передачи больших объёмов ОЗУ, 
 связь как сервер-сервер, так и клиент-сервер может обрываться. 

 решение - отключить keepalive на принимающей, передающей и клиентской стороне 

 <pre> 
 /etc/libvirt/libvirtd.conf:keepalive_interval = -1 
 /etc/libvirt/libvirtd.conf:keepalive_count = 0 

 /etc/libvirt/qemu.conf:keepalive_interval = -1 
 /etc/libvirt/qemu.conf:keepalive_count = 0 

 virsh -k0 -t migrate --verbose --live --compressed --copy-storage-all kvm130-debt-master qemu+ssh://192.168.10.1/system tcp://192.168.10.1/system --xml kvm130-debt-master.to.diana.xml 
 </pre> 

 h3. полезные ссылки 

 https://libvirt.org/formatdomain.html#elementsCPU