ProxLB: Intelligent Resource Scheduling for Proxmox Clusters

ProxLB (Proxmox Load Balancer) is a high-performance, open-source Distributed Resource Scheduler (DRS) designed specifically for Proxmox VE environments. It automates the distribution of Virtual Machines (VMs) and Containers (CTs) across cluster nodes to ensure optimal hardware utilization and eliminate performance bottlenecks. Beginning with version 1.1.12, ProxLB now also supports Proxmox's native HA rules for defining affinity and anti-affinity rules.

By interfacing directly with the Proxmox API, ProxLB analyzes real-time metrics—including CPU load, memory pressure, and local disk I/O—to make intelligent migration decisions that maintain cluster equilibrium. ProxLB became quickly a very important role for Proxmox VE environemnts where I even got invited to present this project at the Dutch Proxmox Day 2025 by the Tuxis.nl team.

Key Capabilities

  • Automated Rebalancing: Dynamically moves workloads based on real-time resource consumption (CPU, RAM, Disk).
  • Advanced Affinity Rules: Support for VM-to-VM and VM-to-Node affinity/anti-affinity using Tags, Pools, or native Proxmox rules.
  • Maintenance Mode: Gracefully evacuate nodes for updates without manual intervention.
  • Infrastructure as Code (IaC) Integration: Provides target node suggestions for Ansible, Terraform, and CI/CD pipelines.
  • Operational Transparency: Comprehensive dry-run modes and detailed logging for risk-free testing.

How ProxLB Works

ProxLB functions as an intelligent orchestration layer. It continuously monitors the cluster state, comparing current node utilization against user-defined thresholds. When a node exceeds these limits, the scheduler calculates the most efficient target node and initiates a live migration.

Installation & Deployment

ProxLB is designed for seamless integration. It can be deployed natively on Debian-based systems or via containerized environments.

Method 1: Debian Repository (Recommended)

Standard installation provides full systemd integration and automatic updates via apt.

# Add the official repository
curl https://git.gyptazy.com/api/packages/gyptazy/debian/repository.key -o /etc/apt/keyrings/gyptazy.asc
echo "deb [signed-by=/etc/apt/keyrings/gyptazy.asc] https://packages.gyptazy.com/api/packages/gyptazy/debian trixie main" | sudo tee -a /etc/apt/sources.list.d/gyptazy.list
apt-get update

# Install ProxLB
apt-get install -y proxlb

# Configuration
cp /etc/proxlb/proxlb_example.yaml /etc/proxlb/proxlb.yaml
vi /etc/proxlb/proxlb.yaml

# Enable and Start
systemctl enable --now proxlb

Method 2: Debian Package Download

Alternatively, download the latest .deb package directly from the CDN and install it manually via apt or dpkg. You can find the latest packages at https://cdn.gyptazy.com/debian/proxlb/.

Method 3: Docker / Container Image

For isolated environments, use the official image from the Gyptazy registry. This mirror is hosted on packages.gyptazy.com and fully supports IPv4 and IPv6.


docker pull packages.gyptazy.com/gyptazy/proxlb:latest

docker run -d \
 --name proxlb \
 -v $(pwd)/proxlb.yaml:/etc/proxlb/proxlb.yaml:ro \
 packages.gyptazy.com/gyptazy/proxlb:latest

Configuration Example

Define your balancing strategy in a simple YAML structure. Below is a standard configuration for memory-based balancing.


proxmox_api:
 hosts: ['virt01.example.com']
 token_id: 'proxlb@pve!tokenname'
 token_secret: 'your-api-token-secret'
 ssl_verification: true

balancing:
 enable: true
 method: memory
 mode: used
 balanciness: 10

service:
 daemon: true
 schedule:
 interval: 12
 format: hours

Development & Community

ProxLB is an active open-source project. Community contributions, feature requests, and bug reports are welcomed via GitHub.

Resource Link
Source Code GitHub Repository
Documentation Project Website
Video Overview Watch Technical Talk
Artifacts CDN Downloads

Developed by gyptazy. Distributed under the GPLv3 license.