User Tools

Site Tools


computing:virtmanagerhell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computing:virtmanagerhell [2026/03/29 15:11] oemb1905computing:virtmanagerhell [2026/08/15 10:01] (current) oemb1905
Line 19: Line 19:
   --network bridge:br0   --network bridge:br0
  
-Here's a more complex block, that enables trim on vdd, uses a preseed.cfg file to automate install, establishes a custom vnet name, enables the guest agent, and opens a terminal/console inside the shell of the host:+Here's a more complex block, that enables trim on vdd, uses a preseed.cfg file to automate install, establishes a custom vnet name, enables the guest agent, and opens a terminal/console inside the shell of the host to manage the install itself:
  
   virt-install --name=domain.com.qcow2 \   virt-install --name=domain.com.qcow2 \
Line 27: Line 27:
     --disk path=/mnt/machine/domain.com.qcow2,driver.discard=unmap \     --disk path=/mnt/machine/domain.com.qcow2,driver.discard=unmap \
     --check path_in_use=off \     --check path_in_use=off \
-    --graphics vnc,listen=127.0.0.1 \ +    --graphics none \
-    --video qxl \+
     --location=/mnt/isos/debian-13.1.0-amd64-netinst.iso \     --location=/mnt/isos/debian-13.1.0-amd64-netinst.iso \
     --network bridge:br0,target=domain-com \     --network bridge:br0,target=domain-com \
Line 265: Line 264:
   </graphics>   </graphics>
 </code> </code>
 +
 +If you don't have video enabled, do the following (also needed for Cockpit Terminal rendering):
 +
 +Option 1 (cirrus):
 +<code>
 + <video>
 +   <model type='cirrus' vram='16384' heads='1' primary='yes'/>
 +   <address type='pci' domain='0x0000' bus='0x10' slot='0x01' function='0x0'/>
 + </video>
 +</code>
 +
 +Option 2 (qxl)
 +<code>
 + <video>
 +   <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
 + </video>
 +</code>
 +
 +Option 3 (use commands)
 +  virt-xml domain.com.qcow2 --add-device --graphics vnc,listen=127.0.0.1
 +  virt-xml domain.com.qcow2 --add-device --video qxl
 +  virsh reboot domain.com.qcow2
  
 Add virtiofs mount point. Here's two, note the staggered bus entry of ''0x07'' vs. ''0x08'': Add virtiofs mount point. Here's two, note the staggered bus entry of ''0x07'' vs. ''0x08'':
Line 283: Line 304:
 </code> </code>
  
 +Then, inside the VM:
  
 +  mkdir -p /mnt/support1
 +  mkdir -p /mnt/support2
 +  nano /etc/fstab
 +  support1   /mnt/support1   virtiofs   defaults,_netdev   0 0
 +  support2   /mnt/support2   virtiofs   defaults,_netdev   0 0
 +  
 +If you find ''virsh console domain.com.qcow2'' does not provide a functioning terminal, then run this inside the guest:
 +
 +  sudo systemctl enable serial-getty@ttyS0.service
 +  sudo systemctl start serial-getty@ttyS0.service
 +
 +Migrating an existing VDD and virsh instance ... just dump or copy paste the .xml with ''virsh dump'' or ''virsh edit'', then create a new xml file, typically in ''/var/lib/libvirtd/qemu'', then run:
 +
 +  virsh define host.com.xml
 +  virsh start host.com
 +  
 +You should for sure check the network interface and MAC address, the storage location directory, and obviously run through anything else that might be different on the target migration host. Sometimes, virsh fails to shutdown using the agent method because the agent crashes. Instead of restarting, the agent stays crashed because virsh binds it to a specific socket. To change that, keep ''Bind To='' blank and change the systemd unit as follows:
 +
 +<code>
 +cat > /usr/lib/systemd/system/qemu-guest-agent.service << 'EOF'
 +[Unit]
 +Description=QEMU Guest Agent
 +BindsTo=
 +Wants=dev-virtio\x2dports-org.qemu.guest_agent.0.device
 +After=dev-virtio\x2dports-org.qemu.guest_agent.0.device
 +Conflicts=shutdown.target
 +Before=shutdown.target
 +
 +[Service]
 +ExecStart=/usr/sbin/qemu-ga
 +Restart=always
 +RestartSec=3s
 +
 +[Install]
 +WantedBy=multi-user.target
 +EOF
 +
 +systemctl daemon-reload
 +systemctl restart qemu-guest-agent
 +</code>
  
 +I am testing this still but it takes time. The agents only crash after extended use, so letting everything run while this is in production, then checking back up logs later and seeing if there was improvement on the few problem instances.
  
- --- //[[alerts@haacksnetworking.org|oemb1905]] 2026/03/29 14:56//+ --- //[[alerts@haacksnetworking.org|oemb1905]] 2026/08/15 09:59//
computing/virtmanagerhell.1774797069.txt.gz · Last modified: by oemb1905