After setting up your Proxmox server, the next step is to create virtual machines (VMs). Running Windows Server is a popular choice, especially for hosting applications like an ERP system with IIS and MS SQL. Getting it to run with native-like speed and data integrity requires specific drivers and settings. This guide will walk you through creating a Windows Server 2025 VM optimized for a demanding database and application workload.

Author: EngineerHow.com Difficulty: Medium Time: 45 minutes

you can check Video Instructions as well at the end of this post.

Table of Contents

  1. Prerequisites: Download ISOs
  2. Get ISOs into Proxmox
  3. Create the Windows VM with Optimal Settings for ERP/SQL
  4. Install Windows Server & Load VirtIO Drivers
  5. Post-Installation: Install Guest Agent and Drivers
  6. A Robust Backup Strategy

Phase 1: Prerequisites: Download ISOs

For a high-performance Windows VM, we need two essential files: the Windows Server ISO and the VirtIO drivers.

  1. Windows Server 2025 ISO: Download the latest evaluation version directly from the Microsoft Evaluation Center. This is a full-featured version free for 180 days.
  2. VirtIO Drivers ISO: These are paravirtualized drivers that significantly boost disk and network I/O performance. Download the latest stable virtio-win-*.iso file from the Fedora Project repository.

Phase 2: Get ISOs into Proxmox

You have two easy options to get the ISO files into Proxmox’s storage.

  1. Log in to your Proxmox web interface (https://your_server_ip:8006).
  2. In the left-hand navigation pane, select your Proxmox node, then navigate to ISO Images under local (or your designated ISO storage).

Option A: Upload from Your Computer (Recommended)

  1. Click Upload.
  2. Select the Windows Server ISO and the virtio-win ISO from your computer and upload them one by one.

Option B: Download Directly from URL This is useful for large files and saves bandwidth.

  1. Right-click the download link for the ISOs and copy the URL.
  2. In Proxmox, click Download from URL.
  3. Paste the URL and click Query URL.
  4. The filename should be detected automatically. Click Download.
  5. Repeat for the other ISO.

Phase 3: Create the Windows VM with Optimal Settings for ERP/SQL

Here we’ll walk through the VM creation wizard, tailored for a database and application server workload.

  1. Click the Create VM button in the top-right corner.
  2. General Tab:
    • Name: Give your VM a descriptive name (e.g., erp-sql-server).
  3. OS Tab:
    • Select the Windows Server 2025 ISO you uploaded/downloaded.
    • Type: Microsoft Windows.
    • Version: 11/2022/2025.
    • Check Add additional drive for VirtIO drivers.
    • Storage: Select local (or your ISO storage).
    • ISO image: Select your virtio-win.iso file. This automatically attaches the driver disk.
  4. System Tab:
    • BIOS: OVMF (UEFI).
    • Check Add EFI Disk and select a storage location (e.g., local-zfs).
    • Check Add TPM and select your TPM storage. This is highly recommended for modern security features like BitLocker.
    • Check Qemu Agent. This is crucial for proper management.
  5. Disks Tab:
    • Bus/Device: VirtIO Block.
    • Storage: local-zfs (or your primary VM storage).
    • Disk size: 300 GiB (or to match your requirement).
    • Cache: Select Write through.
      • Why Write through? For a database/ERP server, data integrity is paramount.
        • Write back (highest performance) caches writes and acknowledges them before they are on disk, risking data loss in a power failure.
        • Write through writes to the cache and the disk simultaneously, offering a great balance of performance and safety. It’s slightly slower but ensures data is committed.
        • Default (No Cache) is the safest but slowest.
    • Check Discard and SSD emulation.
  6. CPU Tab:
    • Cores: 6. For an ERP system with ~25 users and a SQL database, 6 cores provides excellent processing power for concurrent requests while leaving ample resources for the Proxmox host and other VMs.
    • Type: host. This passes your host CPU’s features directly to the VM for maximum performance.
  7. Memory Tab:
    • Memory: 16384 MB (16 GB). SQL Server loves RAM. 16GB is a strong starting point for your workload. Monitor the RAM usage after deployment; you can easily increase this to 20GB or 24GB later if needed.
    • Uncheck Ballooning Device. For a server with a critical database, fixed memory allocation provides more predictable performance.
  8. Network Tab:
    • Model: VirtIO (paravirtualized).
    • Rate limit (MB/s): Leave this blank (unlimited).
      • Why leave unlimited? By default, Proxmox’s virtual bridge fairly distributes the network capacity among all VMs. For a server environment, you generally want each VM to have access to the full available bandwidth when it needs it.
      • When to set a limit? You should only set a rate limit if you have a specific “noisy neighbor” problem—for example, if a non-critical VM like a test mail server or a Nextcloud instance doing a massive sync is consistently saturating the host’s connection and slowing down your critical ERP server.
      • Recommendation: Start with no limits. Monitor your network performance. If you find one VM is negatively impacting others, you can come back and apply a throttle here later. Prematurely limiting bandwidth can unnecessarily slow down your applications.
  9. Confirm Tab:
    • Review your optimized settings and click Finish.

Phase 4: Install Windows Server & Load VirtIO Drivers

  1. Start the VM and open the Console.
  2. Proceed through the Windows Server setup until the “Where do you want to install Windows?” screen. You will see “No drives were found.” This is normal.
  3. Click Load driver.
  4. Click Browse and navigate to the VirtIO CD drive (it will be the second CD drive).
  5. Go to the folder viostor\w11\amd64.
  6. Click OK. The “Red Hat VirtIO SCSI controller” driver will appear. Select it and click Next.

[Image showing the Windows installer loading the VirtIO disk driver]

Your 300GB virtual disk will now appear. Select it and continue the Windows installation.

Phase 5: Post-Installation: Install Guest Agent and Drivers

Once Windows is installed, log in and install the remaining drivers for full functionality.

  1. Open File Explorer, navigate to the VirtIO CD drive, and run the virtio-win-gt-x64.msi installer. This comprehensive installer handles all necessary drivers.
  2. Accept the defaults to install all drivers.
  3. After that installer finishes, browse to the guest-agent folder on the same CD and run the qemu-ga-x86_64.msi installer.

After a reboot, the QEMU Guest Agent will be active. You will see the VM’s IP address in the Proxmox Summary page, confirming it’s working.

Phase 6: A Robust Backup Strategy

For a critical ERP server, backups are non-negotiable. A simple local backup is not enough. The industry-standard 3-2-1 Rule is the best practice: keep 3 copies of your data on 2 different types of media, with 1 copy offsite. Here’s a professional, multi-layered approach.

Layer 1: On-Host NVMe Storage (Emergency Snapshots ONLY)

This involves backing up the VM to the same high-speed SSD where the VM is running.

  • Pros: Extremely fast.
  • Cons: Offers zero protection against hardware failure and consumes expensive, high-performance storage space. If the drive fails, the VM and its backups are gone.
  • Verdict: Use this only for a single, manual backup right before a risky change. Delete it immediately afterward. Never use this for scheduled jobs.

Layer 2: Primary Backup Target (For Fast, Frequent Recovery)

This is your first line of defense and where your daily backups should live. The goal is to get the backups onto physically separate hardware from your primary NVMe drives.

  • Option A (Best): Dedicated Internal Backup Drives. Many providers allow you to add large, cost-effective enterprise HDDs to your server. Configuring these in a RAID-1 array gives you a large, redundant, and fast internal backup target.
    • Pros: Fastest and most reliable primary backup method. Not affected by network congestion.
    • Cons: Still in the same physical server, so it doesn’t protect against fire, theft, or major hardware failure (e.g., power supply).
  • Option B (Good): Dedicated Network Storage (NAS/SAN). If you have a NAS or another server in the same datacenter or a local office, you can add it as an NFS or CIFS storage target in Proxmox.
    • Pros: Separates backups from the host server hardware.
    • Cons: Slower than internal drives; performance depends on your network.

Layer 3: Offsite Copy (For True Disaster Recovery)

This is your ultimate safety net, fulfilling the “1 copy offsite” rule. This involves copying your primary backups from Layer 2 to a completely different geographical location.

  • Method A: Sync to a Remote Server/NAS. You can set up a process to sync backups from your primary backup drives to another server or NAS located at your home or a different office.
    • Pros: You maintain full control over your hardware and data.
    • Cons: You are responsible for maintaining the remote hardware and internet connection. Restore speed is limited by the remote location’s internet upload speed.
  • Method B: Sync to Cloud Storage. Use a tool to sync your primary backups to a cloud service like Google Drive, AWS S3, or Backblaze B2.
    • Pros: Highest level of reliability and accessibility. No remote hardware for you to manage.
    • Cons: Involves ongoing monthly costs for storage. Restores can be slow depending on your server’s internet connection.

Recommended Professional Strategy:

  1. Primary (Daily): Implement Layer 2, Option A if possible. Add dedicated enterprise HDDs to your host server. Set up a scheduled job (Datacenter -> Backup) to save your ERP VM to this storage every night. Keep at least 7 daily retention copies.
  2. Offsite (Weekly/Nightly): Implement Layer 3. Use the Proxmox Backup Server (PBS). Install it on another machine (like your remote office server) or as a VM. Point your daily backups to PBS, which offers superior compression and deduplication. Then, from the PBS instance, use a built-in Sync Job or a script with rclone to sync its datastore to your chosen offsite target (another PBS instance or cloud storage).
  3. On-Demand (As Needed): Use Layer 1 for quick, temporary snapshots before maintenance.

This strategy gives you immediate recovery options for common failures and a bulletproof offsite copy for true disasters.

Conclusion

That’s all there is to it. By using the VirtIO drivers and carefully selecting settings optimized for data integrity and performance, you’ve deployed a robust Windows Server VM ready to handle a demanding ERP and SQL workload. This optimized foundation provides the stability and power needed for a critical business application.

What other Proxmox tips do you rely on? Share your favorites in the comments below!

🔗 Useful Links 📺 EngineerHow YouTube Channel

📢 About EngineerHow.com EngineerHow.com is dedicated to providing expert IT and engineering tutorials, helping professionals and enthusiasts set up servers, networks, and self-hosted solutions. Our guides focus on step-by-step instructions to make complex topics easy to understand.

🚀 Explore More IT Guides: EngineerHow.com

💬 Join the Discussion! Have questions or insights? Drop a comment below and let’s discuss!