ALBANIA

ARGENTINA

AUSTRALIA

AUSTRIA

AZERBAIJAN

BANGLADESH

BELGIUM

BOSNIA AND HERZEGOVINA

BRAZIL

BULGARIA

CANADA

CHILE

CHINA

COLOMBIA

COSTA RICA

CROATIA

CYPRUS

CZECH REPUBLIC

DENMARK

ECUADOR

EGYPT

EL SALVADOR

ESTONIA

FINLAND

FRANCE

GEORGIA

GERMANY

GREECE

GUATEMALA

HUNGARY

ICELAND

INDIA

INDONESIA

IRELAND

ISRAEL

ITALY

JAPAN

KAZAKHSTAN

KENYA

KOSOVO

LATVIA

LIBYA

LITHUANIA

LUXEMBOURG

MALAYSIA

MALTA

MEXICO

MOLDOVA

MONTENEGRO

MOROCCO

NETHERLANDS

NEW ZEALAND

NIGERIA

NORWAY

PAKISTAN

PANAMA

PARAGUAY

PERU

PHILIPPINES

POLAND

PORTUGAL

QATAR

ROMANIA

RUSSIA

SAUDI ARABIA

SERBIA

SINGAPORE

SLOVAKIA

SLOVENIA

SOUTH AFRICA

SOUTH KOREA

SPAIN

SWEDEN

SWITZERLAND

TAIWAN

THAILAND

TUNISIA

TURKEY

UKRAINE

UNITED ARAB EMIRATES

UNITED KINGDOM

URUGUAY

USA

UZBEKISTAN

VIETNAM

How to Create and Manage Virtual Machines in Proxmox on a Bare Metal Dedicated Server

Introduction: Why Run Proxmox on a Dedicated Server?

If you're running a dedicated server, one of the most powerful decisions you can make is virtualizing your infrastructure with Proxmox VE (Virtual Environment). Instead of running a single operating system on expensive bare metal hardware, Proxmox lets you spin up multiple isolated virtual machines (VMs) and containers, all from a single physical server.

This approach is why thousands of system administrators, hosting providers, and DevOps engineers choose Proxmox on dedicated servers as their go-to hypervisor solution. It's open-source, enterprise-grade, and built on top of proven Linux KVM (Kernel-based Virtual Machine) technology.

In this step-by-step guide, you'll learn how to:

  • Install and configure Proxmox VE on a bare-metal dedicated server

  • Create and manage virtual machines from scratch

  • Optimize VM performance for production workloads

  • Apply best practices for storage, networking, and security on a dedicated server environment

Whether you're hosting websites, running private cloud infrastructure, or managing client workloads on leased dedicated hardware, this tutorial covers everything you need.

What Is Proxmox VE? (And Why It's the Top Choice for Bare Metal Virtualization)

Proxmox Virtual Environment is a Type-1 (bare-metal) hypervisor — meaning it runs directly on your dedicated server hardware without needing an underlying operating system. It combines two powerful virtualization technologies:

  • KVM (Kernel-based Virtual Machine): for full hardware virtualization of any OS (Linux, Windows, BSD, etc.)

  • LXC (Linux Containers): for lightweight, OS-level virtualization

Because Proxmox sits directly on your bare metal server, it has full, unshared access to the CPU, RAM, NVMe/SSD storage, and network interfaces, delivering near-native performance for every virtual machine you create.

Key advantages of Proxmox on a dedicated server:

  • No licensing fees (unlike VMware ESXi or Microsoft Hyper-V)

  • Web-based management dashboard accessible from any browser

  • Live migration of VMs between nodes (in cluster mode)

  • Built-in backup and snapshot tools

  • Support for software-defined networking and storage

Prerequisites Before You Begin

Before creating your first virtual machine, make sure the following requirements are met on your dedicated server:

Hardware Requirements:

  • A 64-bit dedicated server with Intel VT-x or AMD-V virtualization extensions enabled in BIOS

  • Minimum 8 GB RAM (16 GB+ strongly recommended for running multiple VMs)

  • At least 100 GB of local storage (NVMe or SSD recommended for VM disk I/O)

  • A dedicated network interface (1 Gbps or higher)

Software Requirements:

  • Proxmox VE 8.x installed (latest stable release)

  • SSH access to your dedicated server

  • ISO images of the operating systems you want to virtualize

Knowledge Requirements:

  • Basic Linux command-line familiarity

  • Understanding of IP networking (subnets, bridges, gateways)

COLO BIRD Tip: If you're renting a dedicated server from a data center or colocation provider, confirm that IPMI/iDRAC remote console access is available. This allows you to install Proxmox remotely and recover from boot issues without physical access to the hardware.

Step 1: Install Proxmox VE on Your Bare Metal Dedicated Server

1.1 Download the Proxmox ISO

Visit the official Proxmox download page and grab the latest Proxmox VE ISO Installer (8.x as of 2025).

1.2 Write the ISO to a Bootable USB

On Linux or macOS, use dd to write the ISO:

dd if=proxmox-ve_8.x-x.iso of=/dev/sdX bs=1M status=progress

Replace /dev/sdX with your USB drive's device path. On Windows, use Rufus or Balena Etcher.

1.3 Boot Your Dedicated Server from the USB

Access your server's BIOS or IPMI remote console and set the boot order to boot from USB first. Insert the USB, then restart the dedicated server.

1.4 Walk Through the Proxmox Installer

The graphical installer will guide you through:

  • License Agreement: Accept the EULA

  • Target Disk: Select your primary SSD/NVMe as the installation disk. For production dedicated servers, consider using ZFS RAID-1 if you have two drives

  • Location & Timezone: Set your region and timezone

  • Administrator Password: Set a strong root password and provide an email address for alerts

  • Network Configuration: This is critical on a dedicated server:

    • Management Interface: Select your primary NIC (e.g., eno1 or eth0)
    • Hostname: Use a fully qualified domain name (FQDN), e.g., pve01.yourdomain.com
    • IP Address: Enter your dedicated server's static IP
    • Subnet Mask & Gateway: Enter your data center's provided values
    • DNS Server: Use 8.8.8.8 or your provider's DNS

Click Install and wait for the process to complete (~5 minutes)

1.5 First Login to the Proxmox Web Interface

After installation, your dedicated server will reboot. Open a browser and navigate to:

https://YOUR_SERVER_IP:8006

Log in with:

  • Username: root

  • Password: (the password you set during installation)

  • Realm: Linux PAM

Security Note: Always access the Proxmox web UI over a VPN or SSH tunnel in production environments. Never expose port 8006 directly to the public internet.

Step 2: Configure Storage for Your Virtual Machines

Proper storage configuration is one of the most important steps for running performant VMs on a bare metal dedicated server.

2.1 Understanding Proxmox Storage Types

Proxmox supports multiple storage backends:

Storage Type Best For Performance
LVM-Thin VM disk images, snapshots High
ZFS Data integrity, compression, snapshots High
Directory (ext4) ISO files, backups Medium
Ceph Distributed cluster storage Scalable
NFS/CIFS Shared network storage Medium

For a single bare metal dedicated server, LVM-Thin or ZFS are the best choices for VM disks.

2.2 Add an LVM-Thin Pool (Recommended for Most Dedicated Servers)

If Proxmox installer created a default LVM volume group (usually named pve), you can add a thin pool:

lvcreate -L 500G -n vm-data pve
lvconvert --type thin-pool pve/vm-data

Then, in the Proxmox web UI:

  • Go to Datacenter → Storage → Add → LVM-Thin

  • Set the ID (e.g., vm-storage), select the VG (pve) and thin pool (vm-data)

  • Click Add

2.3 Upload ISO Images

Before creating VMs, upload your OS ISO files:

  • In the Proxmox UI, click your node name (e.g., pve01) → local storage

  • Click ISO Images → Upload

  • Upload your desired ISO (Ubuntu Server, Debian, Windows Server, CentOS, etc.)

Step 3: Create a Virtual Machine in Proxmox

This is the core of the tutorial, creating a fully functional VM on your dedicated server.

3.1 Launch the VM Creation Wizard

In the Proxmox web dashboard:

  • Click Create VM (top-right button)

3.2 General Settings

  • Node: Select your dedicated server node

  • VM ID: Auto-assigned (e.g., 100), leave as-is

  • Name: Give your VM a descriptive name (e.g., ubuntu-web-01)

3.3 OS Settings

  • Use CD/DVD disc image file (ISO): Select the ISO you uploaded

  • Guest OS Type: Choose the appropriate type:

    • Linux for Ubuntu, Debian, CentOS, Alma Linux, etc.
    • Windows for Windows Server
    • Other for FreeBSD, OpenBSD, etc.

3.4 System Settings

  • Machine: Keep Default (i440fx) for most Linux guests; use q35 for Windows or UEFI-required OSes

  • BIOS: Use SeaBIOS (default) or OVMF (UEFI) for modern OSes

  • SCSI Controller: Select VirtIO SCSI single for best disk performance

  • Qemu Agent: Check Enable QEMU Guest Agent, install it inside the VM later for enhanced integration

3.5 Disk Configuration

  • Bus/Device: SCSI with VirtIO SCSI controller

  • Storage: Select your LVM-Thin or ZFS pool

  • Disk Size: Allocate an appropriate size (e.g., 50 GB for a basic Linux server, 100 GB+ for Windows)

  • Cache: Set to Write Back for better performance on dedicated server NVMe storage

  • Discard: Enable (allows TRIM support, reclaims unused blocks on thin-provisioned storage)

3.6 CPU Configuration

  • Sockets: 1 (matches most dedicated server physical CPU topology)

  • Cores: Allocate based on your VM's workload and total available cores. A good rule: never allocate more vCPUs than physical threads available

  • Type: Set to host for best performance, this passes through your dedicated server's actual CPU model and instruction sets

3.7 Memory Configuration

  • Memory (MiB): Allocate RAM based on the VM's role:

    • Small web server: 2048 MB (2 GB)
    • Database server: 8192 MB (8 GB) or more
    • Windows Server: minimum 4096 MB (4 GB)
  • Ballooning: Enable memory ballooning so Proxmox can dynamically reclaim unused RAM from idle VMs

3.8 Network Configuration

  • Bridge: Select vmbr0 (the default Linux bridge connected to your dedicated server's physical NIC)

  • Model: VirtIO (paravirtualized), always use this for maximum network throughput

  • MAC Address: Auto-generated (fine for most use cases)

  • Firewall: Enable Proxmox's built-in firewall if you want VM-level packet filtering

3.9 Confirm and Create

Review the summary tab and click Finish. Your VM is now created (but not yet started).

Step 4: Install an Operating System Inside the VM

4.1 Start the VM and Open Console

  • Select your new VM in the left panel

  • Click Start

  • Click Console to open the VNC/NoVNC viewer

The VM will boot from the attached ISO. Proceed through your OS installer as you normally would on physical hardware.

4.2 Install the QEMU Guest Agent

Once your OS is installed, install the QEMU Guest Agent inside the VM. This allows Proxmox to communicate with the VM for features like proper shutdown, IP address reporting, and file system freeze during backups.

On Debian/Ubuntu:

apt update && apt install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent

On CentOS/AlmaLinux/Rocky Linux:

dnf install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent

On Windows: Install the VirtIO drivers ISO (download from Proxmox's official repository) which includes the QEMU Guest Agent installer.

4.3 Remove the ISO After Installation

  • Select the VM → Hardware tab

  • Click on the CD/DVD Drive

  • Click Edit and set it to Do not use any media

Step 5: Configure Networking for VMs on a Dedicated Server

Networking is often the trickiest part of running Proxmox on a dedicated server in a data center. Here are the most common configurations.

5.1 Bridged Networking (Default)

By default, Proxmox creates a Linux bridge (vmbr0) attached to your physical NIC. VMs connected to vmbr0 share your dedicated server's network interface.

Check your bridge config at /etc/network/interfaces:

auto vmbr0
iface vmbr0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

5.2 NAT Networking (Private VM Network + Internet Access)

For VMs that don't need their own public IPs, use NAT. Add a second bridge for private networking:

auto vmbr1
iface vmbr1 inet static
    address 10.10.10.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE

Assign VMs to vmbr1 and give them static IPs in the 10.10.10.0/24 range.

5.3 Additional Public IPs

If your dedicated server hosting provider has assigned you additional IPs or a subnet, create a routed network setup. This is provider-specific, consult your data center's IP routing documentation or COLO BIRD's dedicated server networking guides.

Step 6: Manage Your Virtual Machines

6.1 VM Power Management

From the Proxmox dashboard, select any VM and use these controls:

  • Start: Powers on the VM

  • Shutdown: Gracefully shuts down the OS (requires QEMU Agent)

  • Stop: Force-kills the VM (like pulling the power)

  • Reboot: Graceful restart

  • Suspend: Saves VM state to RAM (like sleep mode)

  • Hibernate: Saves VM state to disk

6.2 VM Snapshots

Snapshots capture the entire VM state (disk + memory) at a point in time. They're invaluable before making risky changes.

Create a snapshot:

  • Select the VM → Snapshots tab

  • Click Take Snapshot

  • Enter a name and description. Check Include RAM to capture memory state.

Restore a snapshot:

  • Select the snapshot from the list

  • Click Rollback

Best Practice: On production dedicated servers, avoid keeping long-running snapshots; they consume storage space and can slow disk I/O over time. Use Proxmox Backup Server (PBS) for long-term backup retention instead.

6.3 VM Backups

Proxmox has built-in backup functionality:

  • Go to Datacenter → Backup → Add

  • Select the VM(s) to back up

  • Choose a storage target (local, NFS, PBS)

  • Set the schedule (daily, weekly)

  • Choose backup mode:

    • Snapshot: Zero downtime, uses LVM/ZFS snapshot
    • Suspend: Briefly pauses the VM
    • Stop: Cleanest backup, but causes downtime

6.4 Clone and Template VMs

Once you have a perfectly configured VM, turn it into a template for rapid deployment:

  • Right-click the VM → Convert to Template

  • To deploy a new VM from it: right-click the template → Clone

    • Linked Clone: Shares base disk with template (faster, less space)
    • Full Clone: Completely independent VM (recommended for production)

6.5 Live Migration (Proxmox Cluster)

If you have multiple dedicated servers running Proxmox in a cluster, you can live-migrate VMs between nodes with zero downtime:

  • Right-click the VM → Migrate

  • Select the target node

  • Click Migrate

Shared storage (Ceph, NFS) is required for live migration with memory.

Step 7: Performance Tuning for VMs on Dedicated Server Hardware

7.1 CPU Pinning

On a dedicated server, you can pin VM vCPUs to specific physical CPU cores to reduce latency and prevent CPU resource contention:

qm set 100 --cpuunits 1024
taskset -pc 0,1,2,3 $(pgrep -f "kvm.*100")

For persistent pinning, edit the VM config at /etc/pve/qemu-server/100.conf:

cpu: host,flags=+pcid
numa: 1

7.2 Enable Huge Pages

Huge pages reduce TLB pressure for memory-intensive VMs. On the Proxmox host:

echo 'vm.nr_hugepages=1024' >> /etc/sysctl.conf
sysctl -p

7.3 I/O Thread Optimization

Enable IOThreads to separate disk I/O from the VM's vCPU threads:

In the VM Hardware settings:

  • Edit the SCSI disk → Enable IO Thread

Or via CLI:

qm set 100 --scsi0 vm-storage:vm-100-disk-0,iothread=1

7.4 VirtIO Balloon Driver Tuning

On dedicated servers with sufficient RAM, consider disabling memory ballooning for latency-sensitive VMs (databases, real-time workloads) and allocating fixed memory:

qm set 100 --balloon 0

Step 8: Security Best Practices for Proxmox on a Dedicated Server

Running a hypervisor on a bare metal dedicated server means a security breach could compromise every VM simultaneously. Follow these hardening steps:

8.1 Restrict Proxmox Web UI Access

Never leave port 8006 open to the internet. Use one of these approaches:

  • SSH Tunneling:

    ssh -L 8006:localhost:8006 root@YOUR_SERVER_IP

    Then access https://localhost:8006 in your browser.

  • VPN Gateway: Set up WireGuard or OpenVPN as a VM on Proxmox, route all management traffic through it.

  • Firewall Rule: Whitelist only your office/home IP for port 8006 using iptables or nftables.

8.2 Create Non-Root Admin Users

Avoid using the root account for daily operations:

  • Go to Datacenter → Users → Add

  • Create a new user with pam authentication

  • Assign the Administrator role at the Datacenter level

8.3 Enable Two-Factor Authentication (2FA)

  • Go to Datacenter → Permissions → Two Factor

  • Add a TOTP authenticator for your admin accounts

8.4 Keep Proxmox Updated

apt update && apt dist-upgrade -y

Subscribe to the Proxmox security mailing list to stay informed about patches.

8.5 Enable VM-Level Firewall

Proxmox has a built-in firewall for VMs:

  • Go to VM → Firewall tab

  • Enable the firewall

  • Add rules to allow only the ports your application needs

Step 9: Monitoring Your Proxmox Dedicated Server

9.1 Built-in Proxmox Monitoring

The Proxmox web UI provides real-time graphs for:

  • CPU usage (per host and per VM)

  • Memory consumption

  • Disk I/O and read/write throughput

  • Network traffic per VM

Access them by clicking your node or any VM → Summary tab.

9.2 External Monitoring with Prometheus + Grafana

For production dedicated server environments, set up Proxmox metrics export:

Install the prometheus-pve-exporter on your Proxmox host and scrape it with a Prometheus instance running in a separate VM. Build Grafana dashboards for long-term visibility into VM health, resource pressure, and storage trends.

9.3 Configure Email Alerts

  • Go to Datacenter → Notifications

  • Configure SMTP settings with your mail server

  • Enable alerts for: node failures, backup completion/failure, storage overcommit

Common Proxmox VM Issues and How to Fix Them

VM Won't Start, "KVM Virtualization Not Available"

Cause: Hardware virtualization is disabled in BIOS.

Fix: Reboot the dedicated server into BIOS/UEFI settings and enable Intel VT-x or AMD-V. On remote servers, use IPMI/iDRAC to access BIOS remotely.

Verify after enabling:

egrep -c '(vmx|svm)' /proc/cpuinfo

Output should be > 0.

VM Disk Performance Is Slow

Cause: Using IDE or SATA disk bus instead of VirtIO.

Fix: Change the disk controller to VirtIO SCSI and enable IO threads (as covered in Step 7).

VM Loses Network After Host Reboot

Cause: Bridge configuration not persisted.

Fix: Always edit /etc/network/interfaces directly on the Proxmox host. Do not rely solely on the web UI for network changes on dedicated servers.

Snapshots Filling Up Storage

Cause: Old snapshots accumulating on LVM-Thin or ZFS.

Fix: Delete old snapshots via VM → Snapshots tab, or automate cleanup with a scheduled script.

Proxmox vs. Other Hypervisors on Dedicated Servers

Feature Proxmox VE VMware ESXi Microsoft Hyper-V
Cost Free (open-source) Paid license Included with Windows Server
KVM-based Yes No (proprietary) No (proprietary)
Web UI Yes (built-in) Yes Limited
Container Support Yes (LXC) No (native) No
Community Support Strong Strong Moderate
Ideal For Dedicated servers, homelabs, hosting Enterprise vSphere Windows-heavy environments

For dedicated server use cases, especially when cost-efficiency, Linux workloads, and open-source flexibility matter, Proxmox VE consistently outperforms alternatives.

Final Thoughts: Running Proxmox on a Dedicated Server the Right Way

Proxmox VE transforms a single bare metal dedicated server into a powerful private cloud platform. By following this guide, you've learned to:

  • Install Proxmox directly on dedicated server hardware

  • Create and configure optimized virtual machines

  • Set up storage, networking, backups, and snapshots

  • Harden the environment for production use

  • Monitor and troubleshoot your Proxmox infrastructure

The true power of dedicated server virtualization with Proxmox is the control you retain over your hardware, data, and workloads, without the overhead of shared hosting environments or the cost of commercial hypervisors.

At COLO BIRD, we specialize in dedicated servers designed to run demanding workloads like Proxmox-based virtualization environments. Whether you need high-core-count CPUs for dense VM hosting, NVMe-backed storage for low-latency disk I/O, or high-bandwidth uplinks for heavy network traffic, our dedicated server infrastructure is built for exactly this.

Frequently Asked Questions (FAQ)

Can I run Proxmox on a rented dedicated server?

Yes. As long as you have full root access to the bare metal hardware (not a VPS), you can install Proxmox VE. Most colocation and dedicated server providers support custom OS installations via IPMI or rescue mode.

How many VMs can I run on a single dedicated server?

It depends on your hardware. A dedicated server with 32 CPU cores, 128 GB RAM, and 2 TB NVMe can comfortably host 20–50 lightweight VMs or 10–15 resource-intensive ones.

Is Proxmox suitable for a production dedicated server environment?

Absolutely. Many hosting providers, SaaS companies, and enterprise IT teams rely on Proxmox VE in production. It supports HA (High Availability) clusters, enterprise storage backends, and professional support subscriptions.

What's the difference between a Proxmox VM and an LXC container?

A VM runs a full kernel and OS in full hardware isolation, ideal for Windows, FreeBSD, or security-sensitive Linux workloads. LXC containers share the host kernel, making them faster and more resource-efficient for Linux-only workloads.

Does Proxmox support Windows VMs on a dedicated server?

Yes. Install Windows Server or desktop editions using the KVM VM type with VirtIO drivers for best performance.