Libvirt migrate » История » Версия 7
Константин Пильник, 2018-12-15 11:52
| 1 | 1 | Константин Пильник | h1. Libvirt migrate |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Константин Пильник | если ВМ выделено значительное кол-во ОЗУ, нелишним будет увеличить максимальное время даунтайма (значение в msec) |
| 4 | 4 | Константин Пильник | и размер кеша, используемого для переноса+упаковки ОЗУ, (значение в байтах) |
| 5 | 1 | Константин Пильник | <pre> |
| 6 | 4 | Константин Пильник | virsh migrate-setmaxdowntime kvm132-pent --downtime 30000 |
| 7 | virsh migrate-compcache kvm132-pent --size 536870912 |
||
| 8 | 3 | Константин Пильник | </pre> |
| 9 | |||
| 10 | <pre> |
||
| 11 | 1 | Константин Пильник | virsh migrate --verbose --live --compressed --copy-storage-all \ |
| 12 | kvm132-pent \ |
||
| 13 | qemu+ssh://10.210.1.1/system \ |
||
| 14 | tcp://10.210.1.1/system \ |
||
| 15 | --xml migrate/kvm132-pent.to.zeus.xml |
||
| 16 | 2 | Константин Пильник | </pre> |
| 17 | 1 | Константин Пильник | |
| 18 | где: |
||
| 19 | |||
| 20 | * kvm132-pent - перемещаемая машина |
||
| 21 | * qemu+ssh://10.210.1.1/system - url управляющего интерфейса принимающей стороны |
||
| 22 | * tcp://10.210.1.1/system - url транспортного интерфейса принимающей стороны |
||
| 23 | * migrate/kvm132-pent.to.zeus.xml - файл конфигурации ВМ для принимающей стороны, приготовленный коммандой virsh dumpxml kvm132-pent |
||
| 24 | 3 | Константин Пильник | |
| 25 | 5 | Константин Пильник | после миграции незабыть синхронизировать время |
| 26 | <pre> |
||
| 27 | timedatectl set-ntp 0; timedatectl set-ntp 1 |
||
| 28 | </pre> |
||
| 29 | |||
| 30 | 6 | Константин Пильник | h2. проблемы и решения |
| 31 | |||
| 32 | <pre> |
||
| 33 | Debian 8 |
||
| 34 | libvirt 1.2.9 |
||
| 35 | qemu 2.1 |
||
| 36 | </pre> |
||
| 37 | |||
| 38 | В текущей версии связки libvirt/qemu сломан механизм keepalive, из за чего при живой миграции на этапе передачи больших объёмов ОЗУ, |
||
| 39 | связь как сервер-сервер, так и клиент-сервер может обрываться. |
||
| 40 | |||
| 41 | решение - отключить keepalive на принимающей, передающей и клиентской стороне |
||
| 42 | |||
| 43 | <pre> |
||
| 44 | /etc/libvirt/libvirtd.conf:keepalive_interval = -1 |
||
| 45 | /etc/libvirt/libvirtd.conf:keepalive_count = 0 |
||
| 46 | |||
| 47 | /etc/libvirt/qemu.conf:keepalive_interval = -1 |
||
| 48 | /etc/libvirt/qemu.conf:keepalive_count = 0 |
||
| 49 | |||
| 50 | 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 |
||
| 51 | </pre> |
||
| 52 | |||
| 53 | 7 | Константин Пильник | h2. полезные ссылки |
| 54 | 3 | Константин Пильник | |
| 55 | https://libvirt.org/formatdomain.html#elementsCPU |