4.8 KiB
4.8 KiB
Proxmox Windows Cloud Image Tool
Tool untuk membuat Proxmox VM template dari Windows cloud images (qcow2 format).
Features
- ✅ Upload Windows cloud image (qcow2) ke Proxmox
- ✅ Create VM dengan konfigurasi Windows (UEFI, TPM 2.0, Secure Boot)
- ✅ Convert VM ke template
- ✅ Support QEMU Guest Agent
- ✅ Support firewall configuration
- ✅ Support VLAN tagging
- ✅ Auto-find available VM ID
- ✅ Batch processing multiple configs
- ✅ List available storage
Requirements
- Go 1.19+
- SSH access ke Proxmox host
- Windows cloud image dalam format qcow2
Cara Buat Windows Cloud Image
Gunakan cloudbase/windows-imaging-tools:
# Clone repo
git clone https://github.com/cloudbase/windows-imaging-tools.git
cd windows-imaging-tools
# Import module
Import-Module .\WinImageBuilder.psm1
# Download Windows ISO (contoh: Windows Server 2022)
# Buat cloud image
$ConfigFilePath = ".\Examples\config.ini"
New-WindowsCloudImage -ConfigFilePath $ConfigFilePath
# Output: windows-server-2022.qcow2
Installation
Linux:
cd windows-tools
go build -o proxmox-windows
sudo cp proxmox-windows /usr/local/bin/
Windows (PowerShell):
cd windows-tools
go build -o proxmox-windows.exe
# Add to PATH atau jalankan langsung
Usage
CLI Flags:
proxmox-windows \
-image-path /path/to/windows-server-2022.qcow2 \
-vm-name windows-server-2022-template \
-vm-id 0 \
-storage local-lvm \
-memory 4096 \
-cores 2 \
-bridge vmbr0 \
-proxmox-host 192.168.1.100 \
-proxmox-user root@pam \
-guest-agent \
-firewall
Config File (Recommended):
proxmox-windows -config config.yaml
config.yaml:
image_path: "/path/to/windows-server-2022.qcow2"
vm_name: "windows-server-2022-template"
vm_id: 0 # 0 = auto-find
storage: "local-lvm"
memory: 4096
cores: 2
sockets: 1
bridge: "vmbr0"
vlan_tag: 0
proxmox_host: "192.168.1.100"
proxmox_user: "root@pam"
guest_agent: true
firewall: true
firewall_rules:
- type: out
action: drop
dest: "10.0.0.0/8"
comment: "Block internal network"
- type: in
action: accept
protocol: tcp
dport: "3389"
comment: "Allow RDP"
- type: in
action: accept
protocol: tcp
dport: "5985-5986"
comment: "Allow WinRM"
Batch Processing:
proxmox-windows -batch batch.txt
batch.txt:
configs/windows-server-2022.yaml
configs/windows-11.yaml
configs/windows-server-2019.yaml
List Available Storage:
proxmox-windows -list-storage -proxmox-host 192.168.1.100
# atau
proxmox-windows -ls -proxmox-host 192.168.1.100
VM Configuration
Tool ini akan membuat VM dengan konfigurasi:
- BIOS: OVMF (UEFI)
- Machine Type: q35
- EFI Disk: 1GB dengan pre-enrolled keys (Secure Boot)
- TPM: v2.0 (required untuk Windows 11)
- SCSI Controller: VirtIO SCSI
- Network: VirtIO
- Boot Order: scsi0
- Guest Agent: Enabled (optional)
Firewall Rules
Format firewall rules sama dengan Linux tools:
firewall_rules:
- type: in|out
action: accept|drop|reject
protocol: tcp|udp|icmp
dport: "port atau port-range"
sport: "port atau port-range"
source: "IP/CIDR"
dest: "IP/CIDR"
comment: "Description"
Contoh:
firewall_rules:
# Allow RDP
- type: in
action: accept
protocol: tcp
dport: "3389"
comment: "Allow RDP"
# Allow WinRM
- type: in
action: accept
protocol: tcp
dport: "5985-5986"
comment: "Allow WinRM"
# Block outgoing to internal network
- type: out
action: drop
dest: "10.0.0.0/8"
comment: "Block internal network"
# Allow DNS
- type: out
action: accept
protocol: udp
dport: "53"
comment: "Allow DNS"
Clone Template
Setelah template dibuat:
# Clone template
qm clone 10000 101 --name windows-server-01
# Start VM
qm start 101
# Access via RDP
# IP akan di-assign via DHCP (jika cloud-init configured)
Troubleshooting
1. SSH Connection Failed
# Test SSH connection
ssh root@192.168.1.100
# Check SSH key
ssh-keygen -R 192.168.1.100
2. Storage Not Found
# List available storage
proxmox-windows -ls -proxmox-host 192.168.1.100
# Atau manual
ssh root@192.168.1.100 'pvesm status'
3. Upload Failed
- Check network connection
- Check disk space di Proxmox host
- Tool akan retry 3x otomatis
4. VM Creation Failed
# Check Proxmox logs
ssh root@192.168.1.100 'tail -f /var/log/pve/tasks/active'
Notes
- Windows cloud images harus dalam format qcow2
- VM akan dibuat dengan UEFI + TPM 2.0 (required untuk Windows 11)
- Guest Agent harus di-install di Windows image untuk full functionality
- Firewall rules di-apply di Proxmox level, bukan di Windows
- Template bisa di-clone unlimited times
License
MIT