This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
технология_kvm [2022/02/09 15:29] val |
технология_kvm [2022/07/28 06:57] val [Создание конфигурации VM из образа] |
||
---|---|---|---|
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 в хост систему (однажды хватило 2:) | ||
<code> | <code> | ||
Line 17: | Line 21: | ||
<code> | <code> | ||
node1# 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 | ||
- | |||
- | node1# mkdir /disk3/images | ||
node1# virt-install --name winxp --os-type windows --os-variant winxp \ | node1# virt-install --name winxp --os-type windows --os-variant winxp \ | ||
- | --ram 512 --vcpu 1 --disk path=/disk3/images/winxp.qcow2,size=2 \ | + | --ram 512 --vcpu 1 --disk path=/disk3/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 \ | ||
Line 32: | Line 34: | ||
</code> | </code> | ||
- | Подключаемся любым vnc клиентом к порту 5900, в процессе инсталляции XP VM надо будет повторно запустить | + | Подключаемся любым vnc клиентом ([[Сервис VNC]]) к порту 5900, в процессе инсталляции XP VM надо будет повторно запустить |
<code> | <code> | ||
# virsh start winxp | # virsh start 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> | ||
- | node1# 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 |
- | node1# virt-install --name winxp2 --os-type windows --os-variant winxp \ | + | node1# zcat winxp.qcow2.zip > /disk3/winxp1.qcow2 |
- | --ram 512 --vcpu 1 --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/winxp2.xml | + | node1# virsh define /disk3/winxp1.xml |
- | node1# virsh start winxp2 | + | node1# virsh edit winxp1 |
- | ... | + | node1# virsh start winxp1 |
- | node1# virsh undefine winxp2 | + | node1# virsh undefine winxp1 |
- | или запуск без регистрации VM в KVM | + | или, запуск без регистрации VM в KVM |
- | node1# virsh create /disk3/winxp2.xml | + | node1# virsh create /disk3/winxp1.xml |
+ | node1# virsh vncdisplay winxp1 | ||
</code> | </code> | ||
+ | * [[Сервис VNC]] | ||
===== Миграция VM ===== | ===== Миграция VM ===== | ||
+ | |||
+ | * Для "зрелищности" можно подключиться к winxp1 по RDP и/или подключиться с winxp1 по ssh к server1 | ||
+ | |||
<code> | <code> | ||
- | node1# virsh -c qemu+ssh://node2/system list --all | + | node1# virsh migrate --live winxp1 qemu+ssh://node2/system |
+ | |||
+ | node1# virsh -c qemu+ssh://node2/system list | ||
- | node1# virsh migrate --live winxp2 qemu+ssh://node2/system | + | node1# virsh -c qemu+ssh://node2/system shutdown winxp1 |
</code> | </code> | ||
===== Интеграция с Pacemaker ===== | ===== Интеграция с Pacemaker ===== | ||
- | * [[Пакет Pacemaker]] | + | * В [[Пакет Pacemaker#Управление конфигурацией]] Pacemaker увеличить op timeout и настроить [[Пакет Pacemaker#Запуск после монтирования файловых систем]] |
<code> | <code> | ||
- | crm(live/node1)configure# primitive pr_vm_winxp2 ocf:heartbeat:VirtualDomain params config=/disk3/winxp2.xml migration_transport=ssh meta allow-migrate=true | + | node1# ssn2 virsh -c qemu+ssh://node1/system list # проверка ssh доступа с node2 на node1 |
+ | |||
+ | 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> | ||
Line 84: | Line 97: | ||
<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 |