Overview

Proxmox VE is the hypervisor running on the M90Q Gen 3. This section covers the base install, VM configurations, and operational notes.

On this page
- [Base Install](#base-install) - [VM Inventory](#vm-inventory) - [WS2025-DC01 — Domain Controller](#ws2025-dc01--domain-controller) - [WIN11-CLIENT01 — Windows 11](#win11-client01--windows-11) - [Ubuntu-Docker01](#ubuntu-docker01) - [Snapshot Strategy](#snapshot-strategy) - [QEMU Guest Agent](#qemu-guest-agent)

Base Install

Proxmox VE installed from ISO via Rufus (DD mode) onto a USB, targeting nvme0n1 with ZFS.

Post-install steps:

# 1. Remove enterprise repo
rm /etc/apt/sources.list.d/pve-enterprise.list

# 2. Add community repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-community.list

# 3. Update
apt update && apt dist-upgrade -y

# 4. Create LVM thin pool on sda
pvcreate /dev/sda
vgcreate pve-sata /dev/sda
lvcreate -l 100%FREE --thinpool pve-sata/data

# 5. Add to Proxmox storage (via UI or):
pvesm add lvmthin local-lvm --vgname pve-sata --thinpool data

VM Inventory

VM ID Name OS IP Status
100 WS2025-DC01 Windows Server 2025 Datacenter Eval 192.168.x.20 done
101 WIN11-CLIENT01 Windows 11 Pro 192.168.x.21 done
102 Ubuntu-Docker01 Ubuntu Server 24.04 TBD wip

WS2025-DC01 — Domain Controller

Windows Server 2025 Datacenter Evaluation. Configured as the AD DS domain controller for corp.local.

VM config:

Setting Value
RAM 4GB
vCPU 2
Disk 60GB (local-lvm)
NIC VirtIO (vmbr0)
IP 192.168.x.20 (static)
QEMU Agent Enabled

AD DS configuration:

  • Domain: corp.local
  • Forest/Domain functional level: Windows Server 2016
  • DNS: Integrated (AD DNS)
  • OUs: OU=Servers, OU=Workstations, OU=Users, OU=Groups
  • GPOs: Domain-wide baseline, PDC NTP policy (NTP source configured on PDC Emulator only)
NTP Scoping
Post-AD promotion, NTP via GPO should only target the PDC Emulator role holder, not all domain members. Domain-joined machines sync to the DC automatically via the domain hierarchy.

Evaluation lifecycle:

# Check remaining evaluation time
slmgr /dlv

# Rearm evaluation (up to 5 times, 180 days each)
slmgr /rearm

# Export AD users (for rebuild)
csvde -f users-export.csv -r "(objectClass=user)"

# Export GPOs
Backup-GPO -All -Path C:\GPOBackups

WIN11-CLIENT01 — Windows 11

Windows 11 Pro, domain-joined to corp.local. OOBE bypass used OOBE\BYPASSNRO to create a local account pre-domain-join.

VM config:

Setting Value
RAM 4GB
vCPU 2
Disk 64GB (local-lvm)
NIC VirtIO (vmbr0)
IP 192.168.x.21 (DHCP reservation by MAC)
QEMU Agent Enabled

VirtIO drivers: vioscsi from w11/amd64 is required for disk detection during install. Mount the VirtIO ISO as a secondary CD-ROM.

Domain join:

# Join domain
Add-Computer -DomainName corp.local -Credential corp\Administrator -Restart

RDP: Enabled via GPO and local settings. Accessed via Windows App (Mac).


Ubuntu-Docker01

Ubuntu Server 24.04 LTS. Intended as a Docker host for self-hosted services and the observability stack.

Planned services:

  • Docker + Docker Compose
  • Homepage (dashboard)
  • Prometheus + Grafana + Alertmanager
  • cAdvisor (Docker metrics)
  • node_exporter

Grafana dashboard IDs to import:

Dashboard ID
Node Exporter Full 1860
Docker / cAdvisor 14282
Proxmox 10347

wip — VM created, base OS install in progress.


Snapshot Strategy

Snapshots are taken in powered-off state to avoid AD time desync issues. RAM-state snapshots (live) risk NTP drift on restore.

# Take a powered-off snapshot via CLI
qm snapshot <vmid> <snapname> --description "Post-domain-join baseline"

# List snapshots
qm listsnapshot <vmid>

# Rollback
qm rollback <vmid> <snapname>

# After RAM-state restore (if needed), force NTP resync on DC:
w32tm /resync /force

QEMU Guest Agent

Required for proper shutdown/snapshot handling and IP reporting in the Proxmox UI.

# Enable on VM (Proxmox host)
qm set <vmid> --agent enabled=1

# Install inside Windows VM
# → Install from VirtIO ISO: guest-agent/qemu-ga-x86_64.msi

# Install inside Linux VM
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent

✎ Edit this page on GitHub