This is an old revision of the document!
# egrep -c '(vmx|svm)' /proc/cpuinfo # apt install qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager #qemu # apt install libosinfo-bin # osinfo-query os
node1# wget -O /tmp/WindowsXPProSP3_rus_boot.iso http://val.bmstu.ru/unix/iso/WindowsXPProSP3_rus_boot.iso node1# virt-install --name winxp --os-type windows --os-variant winxp \ --ram 512 --vcpu 1 --disk path=/disk3/winxp.qcow2,size=2 \ --graphics vnc,listen=0.0.0.0 --noautoconsole --hvm \ --network bridge=br0,model=rtl8139 \ --cdrom /tmp/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd node1# virsh list --all node1# virsh vncdisplay winxp1 :0
Подключаемся любым vnc клиентом (Сервис VNC) к порту 5900, в процессе инсталляции XP VM надо будет повторно запустить
# virsh start winxp # virsh shutdown winxp или принудительная остановка VM # virsh destroy winxp # virsh dumpxml winxp | tee winxp.xml # virsh undefine winxp # cp /disk3/winxp.qcow2 /disk3/winxp1.qcow2
node1# wget http://val.bmstu.ru/unix/img/winxp.qcow2.zip node1# time zcat winxp.qcow2.zip > /disk3/winxp1.qcow2 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 \ --print-xml | tee /disk3/winxp1.xml node1# virsh define /disk3/winxp1.xml node1# virsh edit winxp1 node1# virsh start winxp1 node1# virsh undefine winxp1 или, запуск без регистрации VM в KVM node1# virsh create /disk3/winxp1.xml node1# virsh list --all node1# virsh vncdisplay winxp1
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
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
op_defaults op-options: \ timeout=240s virsh list --all virt-install --name winxp1 --os-type windows --os-variant winxp --ram 512 \ --vcpu 1 --disk path=/var/lib/libvirt/winxp1.qcow2,size=2 \ --graphics vnc,listen=0.0.0.0 --noautoconsole \ --hvm --cdrom /var/lib/libvirt/boot/WindowsXPProSP3_rus_boot.iso --boot cdrom,hd virsh domiflist winxp1 virsh detach-interface --domain winxp1 --type network --mac 52:54:00:47:2f:eb --config virsh attach-interface --domain winxp1 --type bridge --source br0 --model virtio --config https://www.linux.org.ru/forum/general/9132978 wget https://launchpad.net/kvm-guest-drivers-windows/20120712/20120712/+download/virtio-win-drivers-20120712-1.vfd # virsh attach-disk winxp1 /var/lib/libvirt/floppy/virtio-win-drivers-20120712-1.vfd fda --type floppy --config # virsh detach-disk winxp1 fda --config # virsh vncdisplay winxp1 # virsh -c qemu+ssh://node2/system list --all === https://unix.stackexchange.com/questions/405955/virsh-pool-storage-basics virsh pool storage basics # virsh undefine winxp2 # mv /var/lib/libvirt/images/winxp2.qcow2 /disk2/images/ https://serverfault.com/questions/919538/do-not-start-guest-after-virt-install Do not start guest after virt-install # virt-install --name winxp2 --os-type windows --os-variant winxp \ --ram 512 --vcpu 1 --disk path=/disk2/images/winxp2.qcow2 \ --graphics vnc,listen=0.0.0.0 --noautoconsole --hvm --boot hd \ --network bridge=br0,model=rtl8139 --print-xml | tee /disk2/winxp2.xml root@node1.corp13.un:~# cat /disk2/winxp2.xml <domain type="kvm"> <name>winxp2</name> <uuid>49df6ece-0b2e-43b4-ad79-d23493db0ad5</uuid> <metadata> <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> <libosinfo:os id="http://microsoft.com/win/xp"/> </libosinfo:libosinfo> </metadata> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu>1</vcpu> <os> <type arch="x86_64" machine="pc-i440fx-focal">hvm</type> <boot dev="hd"/> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state="on"/> <vapic state="on"/> <spinlocks state="on" retries="8191"/> </hyperv> </features> <cpu mode="host-model"/> <clock offset="localtime"> <timer name="rtc" tickpolicy="catchup"/> <timer name="pit" tickpolicy="delay"/> <timer name="hpet" present="no"/> <timer name="hypervclock" present="yes"/> </clock> <pm> <suspend-to-mem enabled="no"/> <suspend-to-disk enabled="no"/> </pm> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type="file" device="disk"> <driver name="qemu" type="qcow2"/> <source file="/disk2/images/winxp2.qcow2"/> <target dev="hda" bus="ide"/> </disk> <controller type="usb" index="0" model="ich9-ehci1"/> <controller type="usb" index="0" model="ich9-uhci1"> <master startport="0"/> </controller> <controller type="usb" index="0" model="ich9-uhci2"> <master startport="2"/> </controller> <controller type="usb" index="0" model="ich9-uhci3"> <master startport="4"/> </controller> <interface type="bridge"> <source bridge="br0"/> <mac address="52:54:00:7b:b5:6e"/> <model type="rtl8139"/> </interface> <console type="pty"/> <input type="tablet" bus="usb"/> <graphics type="vnc" port="-1" listen="0.0.0.0"/> <video> <model type="qxl"/> </video> </devices> </domain> # virsh define /disk2/winxp2.xml ....... create .... ??? virsh -c qemu+ssh://node2/system shutdown winxp2 # cat /disk2/drbd-pool.xml <pool type='dir'> <name>drbd-pool</name> <target> <path>/disk2/images</path> </target> </pool> 746 virsh pool-define /disk2/drbd-pool.xml 748 virsh pool-start drbd-pool 750 virsh pool-autostart drbd-pool node1# virsh migrate --live winxp qemu+ssh://node2/system primitive pr_vm_winxp2 ocf:heartbeat:VirtualDomain params config=/disk2/winxp2.xml migration_transport=ssh meta allow-migrate=true primitive pr_vm_winxp2 VirtualDomain \ params config="/disk2/winxp2.xml" migration_transport=ssh \ meta allow-migrate=true target-role=Stopped \ utilization cpu=1 hv_memory=512 ====== https://blog.bayrell.org/ru/linux/libvirt/8-ustanovka-lxc-konteynerov-cherez-libvirt.html https://stackoverflow.com/questions/63685175/qemuvirt-manager-cant-connect-to-virtlxcd-sock sudo apt install libvirt-daemon-driver-lxc sudo systemctl restart libvirtd virsh -c lxc:/// virsh -c lxc+ssh://node1/