Communitygithub.com

AGLz/agl-hostman

name: qemu-agl

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add AGLz/agl-hostman

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Dokumentation

QEMU/KVM AGL Virtual Machines

AGL QEMU VMs

VMIDHostNameRoleTailscale IP
104AGLSRV1aglwk45OpenClaw worker (Windows)Via 192.168.0.245

Access

# AGLSRV1 (Proxmox host with QEMU/KVM)
ssh AGLSRV1  # 192.168.0.245 (LAN) or 100.107.113.33 (Tailscale)

QEMU VM Operations (via qm)

List all VMs

ssh AGLSRV1 "qm list"

Start/Stop VM

# Start
ssh AGLSRV1 "qm start 104"

# Stop (ACPI shutdown)
ssh AGLSRV1 "qm shutdown 104"

# Force stop
ssh AGLSRV1 "qm stop 104"

# Reboot
ssh AGLSRV1 "qm reboot 104"

VM Status

ssh AGLSRV1 "qm status 104"
ssh AGLSRV1 "qm list | grep 104"

Console Access

# VNC console (get VNC port)
ssh AGLSRV1 "qm vncproxy 104"

# Serial console (if configured)
ssh AGLSRV1 "qm terminal 104"

Snapshots

# Create snapshot
ssh AGLSRV1 "qm snapshot 104 pre-update"

# List snapshots
ssh AGLSRV1 "qm listsnapshot 104"

# Rollback (VM must be stopped)
ssh AGLSRV1 "qm stop 104 && qm rollback 104 pre-update && qm start 104"

# Delete snapshot
ssh AGLSRV1 "qm delsnapshot 104 pre-update"

Clone VM

# Full clone
ssh AGLSRV1 "qm clone 104 <new-vmid> --name <new-name> --full"

# Linked clone (faster, depends on source)
ssh AGLSRV1 "qm clone 104 <new-vmid> --name <new-name>"

Resource Configuration

# Set memory
ssh AGLSRV1 "qm set 104 --memory 8192"

# Set CPU cores
ssh AGLSRV1 "qm set 104 --cores 4"

# Set network bridge
ssh AGLSRV1 "qm set 104 --net0 virtio,bridge=vmbr0"

QEMU Guest Agent

Install (inside VM)

# Windows
# Install qemu-ga from VirtIO drivers ISO

# Linux
apt install qemu-guest-agent  # Debian/Ubuntu
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent

Enable in Proxmox

ssh AGLSRV1 "qm set 104 --agent enabled=1"

Use guest agent

# Get VM info via guest agent
ssh AGLSRV1 "qm guest exec 104 -- ip a"

# Get network interfaces
ssh AGLSRV1 "qm guest exec 104 -- ip -j addr show" | jq

# Run command inside VM
ssh AGLSRV1 "qm guest exec 104 -- systemctl status openclaw-gateway"

# Freeze filesystem (for snapshots)
ssh AGLSRV1 "qm guest cmd 104 fsfreeze-freeze"
ssh AGLSRV1 "qm guest cmd 104 fsfreeze-thaw"

Disk Management

List disks

ssh AGLSRV1 "qm config 104 | grep virtio"

Resize disk

ssh AGLSRV1 "qm resize 104 virtio0 +10G"

Move disk

# Move to different storage
ssh AGLSRV1 "qm move-disk 104 virtio0 local-lvm"

AGLWK45 (VM104) Specific

OpenClaw on AGLWK45

# Verify OpenClaw status via guest exec
ssh AGLSRV1 "qm guest exec 104 -- powershell -Command 'Get-Service openclaw'"

# Or via Tailscale from inside VM
ssh AGLSRV1 "qm guest exec 104 -- tailscale status"

Verification Script

# Run the verification script from the repo
./scripts/verify-aglwk45-fgsrv06.sh

QEMU Direct (non-Proxmox)

For standalone QEMU usage:

# Start QEMU VM
qemu-system-x86_64 \
  -enable-kvm \
  -m 4096 \
  -smp 4 \
  -drive file=disk.qcow2,format=qcow2 \
  -netdev user,id=net0 -device virtio-net-pci,netdev=net0 \
  -serial mon:stdio \
  -nographic

# With VNC
qemu-system-x86_64 -enable-kvm -m 4096 -vnc :0 disk.qcow2

# With Tailscale (inside VM)
# Install tailscale in VM for remote access

Troubleshooting

VM won't start

# Check if locked
ssh AGLSRV1 "qm status 104"

# Check storage space
ssh AGLSRV1 "pvesm status"

# Check logs
ssh AGLSRV1 "qm start 104 2>&1"

Guest agent not responding

# Check if enabled
ssh AGLSRV1 "qm config 104 | grep agent"

# Check inside VM
ssh AGLSRV1 "qm guest exec 104 -- systemctl status qemu-guest-agent"

Network issues

# Check bridge
ssh AGLSRV1 "brctl show"

# Check VM network config
ssh AGLSRV1 "qm guest exec 104 -- ip a"

Notes

  • AGLWK45 (VM104) runs OpenClaw gateway — avoid restarting during active sessions
  • QEMU VMs use qm commands in Proxmox (vs pct for LXC containers)
  • Guest agent enables file copy, command exec, and fsfreeze from Proxmox host
  • Always snapshot before major changes

Verwandte Skills