This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
технология_kvm [2022/02/09 14:55] val [Создание образа VM из дистрибутива] |
технология_kvm [2022/03/19 16:46] val [Интеграция с Pacemaker] |
||
---|---|---|---|
Line 3: | Line 3: | ||
* [[https://www.linuxtechi.com/install-configure-kvm-debian-10-buster/|How to Install and Configure KVM on Debian 10 (Buster)]] | * [[https://www.linuxtechi.com/install-configure-kvm-debian-10-buster/|How to Install and Configure KVM on Debian 10 (Buster)]] | ||
* [[https://losst.ru/ustanovka-kvm-ubuntu-16-04|Установка KVM в Ubuntu]] | * [[https://losst.ru/ustanovka-kvm-ubuntu-16-04|Установка KVM в Ubuntu]] | ||
+ | * [[https://docs.fedoraproject.org/ru-RU/Fedora/12/html/Virtualization_Guide/sect-Virtualization_Guide-KVM_live_migration-Live_KVM_migration_with_virsh.html|Живая миграция с помощью virsh]] | ||
+ | * [[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_reference/virtualnoderesource|Configuring a Virtual Domain as a Resource]] | ||
===== Установка ===== | ===== Установка ===== | ||
+ | |||
+ | * !!! 4GB RAM в хост систему | ||
<code> | <code> | ||
Line 16: | Line 20: | ||
===== Создание образа VM из дистрибутива ===== | ===== Создание образа VM из дистрибутива ===== | ||
<code> | <code> | ||
- | # wget -O /tmp/WindowsXPProSP3_rus_boot.iso http://val.bmstu.ru/unix/iso/WindowsXPProSP3_rus_boot.iso | + | node1# wget -O /tmp/WindowsXPProSP3_rus_boot.iso http://val.bmstu.ru/unix/iso/WindowsXPProSP3_rus_boot.iso |
- | # mkdir /disk3/images | + | node1# virt-install --name winxp --os-type windows --os-variant winxp \ |
- | + | --ram 512 --vcpu 1 --disk path=/disk3/winxp.qcow2,size=2 \ | |
- | # virt-install --name winxp --os-type windows --os-variant winxp \ | + | |
- | --ram 512 --vcpu 1 --disk path=/disk3/images/winxp.qcow2,size=2 \ | + | |
--graphics vnc,listen=0.0.0.0 --noautoconsole --hvm \ | --graphics vnc,listen=0.0.0.0 --noautoconsole --hvm \ | ||
--network bridge=br0,model=rtl8139 \ | --network bridge=br0,model=rtl8139 \ | ||
--cdrom /tmp/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd | --cdrom /tmp/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd | ||
- | # virsh list --all | + | node1# virsh list --all |
- | # virsh vncdisplay winxp1 | + | node1# virsh vncdisplay winxp1 |
:0 | :0 | ||
</code> | </code> | ||
- | Подключаемся любым vnc клиентом к порту 5900, в процессе инсталляции XP VM надо будет повторно запустить | + | Подключаемся любым vnc клиентом ([[Сервис VNC]]) к порту 5900, в процессе инсталляции XP VM надо будет повторно запустить |
<code> | <code> | ||
# virsh start winxp | # virsh start winxp | ||
# virsh shutdown winxp | # virsh shutdown winxp | ||
- | или | + | или принудительная остановка VM |
# virsh destroy winxp | # virsh destroy winxp | ||
Line 44: | Line 46: | ||
# virsh undefine winxp | # virsh undefine winxp | ||
- | # cp /disk3/images/winxp.qcow2 /disk3/images/winxp2.qcow2 | + | # cp /disk3/winxp.qcow2 /disk3/winxp1.qcow2 |
</code> | </code> | ||
===== Создание конфигурации VM из образа ===== | ===== Создание конфигурации VM из образа ===== | ||
<code> | <code> | ||
- | # wget -O /disk3/images/winxp2.qcow2 http://val.bmstu.ru/unix/img/winxp.qcow2 | + | node1# wget http://val.bmstu.ru/unix/img/winxp.qcow2.zip |
- | # virt-install --name winxp2 --os-type windows --os-variant winxp --ram 512 --vcpu 1 \ | + | node1# zcat winxp.qcow2.zip > /disk3/winxp1.qcow2 |
- | --disk path=/disk3/images/winxp2.qcow2 --graphics vnc,listen=0.0.0.0 \ | + | |
+ | node1# virt-install --name winxp1 --os-type windows --os-variant winxp \ | ||
+ | --ram 512 --vcpu 1 --disk path=/disk3/winxp1.qcow2 --graphics vnc,listen=0.0.0.0 \ | ||
--noautoconsole --hvm --boot hd --network bridge=br0,model=rtl8139 \ | --noautoconsole --hvm --boot hd --network bridge=br0,model=rtl8139 \ | ||
- | --print-xml | tee /disk3/winxp2.xml | + | --print-xml | tee /disk3/winxp1.xml |
+ | |||
+ | node1# virsh define /disk3/winxp1.xml | ||
+ | node1# virsh start winxp1 | ||
+ | ... | ||
+ | node1# virsh undefine winxp1 | ||
+ | |||
+ | или запуск без регистрации VM в KVM | ||
+ | |||
+ | node1# virsh create /disk3/winxp1.xml | ||
+ | |||
+ | node1# virsh vncdisplay winxp1 | ||
</code> | </code> | ||
+ | * [[Сервис VNC]] | ||
+ | ===== Миграция VM ===== | ||
+ | |||
+ | * Для "зрелищности" можно подключиться к winxp1 по DRP и/или подключиться с winxp1 по ssh к server1 | ||
+ | |||
+ | <code> | ||
+ | node1# virsh migrate --live winxp1 qemu+ssh://node2/system | ||
+ | |||
+ | node1# virsh -c qemu+ssh://node2/system list | ||
+ | |||
+ | node1# virsh -c qemu+ssh://node2/system shutdown winxp1 | ||
+ | </code> | ||
+ | |||
+ | ===== Интеграция с Pacemaker ===== | ||
+ | |||
+ | * [[Пакет Pacemaker]] | ||
+ | |||
+ | <code> | ||
+ | node1# ssn2 virsh -c qemu+ssh://node1/system list # проверка ssh доступа с node1 на node2 | ||
+ | |||
+ | crm(live/node1)configure# primitive pr_vm_winxp1 ocf:heartbeat:VirtualDomain params config=/disk3/winxp1.xml migration_transport=ssh meta allow-migrate=true | ||
+ | </code> | ||
===== Исходные материалы ===== | ===== Исходные материалы ===== | ||
<code> | <code> | ||
+ | op_defaults op-options: \ | ||
+ | timeout=240s | ||
+ | |||
+ | |||
+ | |||
virsh list --all | virsh list --all | ||
virt-install --name winxp1 --os-type windows --os-variant winxp --ram 512 \ | virt-install --name winxp1 --os-type windows --os-variant winxp --ram 512 \ | ||
- | --vcpu 1 --disk path=/var/lib/libvirt/images/winxp1.qcow2,size=2 \ | + | --vcpu 1 --disk path=/var/lib/libvirt/winxp1.qcow2,size=2 \ |
--graphics vnc,listen=0.0.0.0 --noautoconsole \ | --graphics vnc,listen=0.0.0.0 --noautoconsole \ | ||
--hvm --cdrom /var/lib/libvirt/boot/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd | --hvm --cdrom /var/lib/libvirt/boot/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd |