gyptazy

DevOps

Developer

IT Consultant

gyptazy

DevOps

Developer

IT Consultant

Blog Post

Introducing My New Project: ProxLB – A Loadbalancer for Proxmox (DRS)

Introducing My New Project: ProxLB – A Loadbalancer for Proxmox (DRS)

I’m happy to introduce my new project ProxLB for Proxmox clusters. ProxLB is a powerful tool that optimizes resource distribution in Proxmox clusters by leveraging the Proxmox API to gather and analyze detailed metrics from nodes and VMs. It monitors key resources like CPU, memory, and local disk usage to ensure an even workload across the cluster. ProxLB’s intelligent rebalancing feature automatically redistributes VMs and also Containers to prevent nodes from becoming overburdened, improving both performance and reliability. This automation reduces the need for manual intervention, enhancing operational efficiency. By maximizing resource utilization, ProxLB helps to minimize hardware investments and operational costs for cluster management.

In short: ProxLB is a great addition to Proxmox as a dedicated service to loadbalance VMs and Containers across multiple nodes in a Proxmox cluster. It can also balance the underlying shared storage on VMs. One of the biggest advantages is the full reliability of the Proxmox API. No further SSH access to the nodes is needed and everything is being orchestrated by the API and its underlying user management and authorisation system which ensures to integrate ProxLB seamlessly.

Features

  • Proxmox Web GUI Integration (optional)
  • Rebalance VMs/CTs in the cluster by:
    • Memory
    • Disk (only local storage)
    • CPU
  • Rebalance Storage in the cluster
    • Rebalance VMs/CTs disks to other storage pools
    • Rebalance by used storage
  • Get best Node for new VM/CT placement in cluster
    • Performing
    • Periodically
    • One-shot solution
  • Types
    • Rebalance only VMs
    • Rebalance only CTs
    • Rebalance all (VMs and CTs)
    • Rebalance VM/CT disks (Storage)
  • Filter
    • Exclude nodes
    • Exclude virtual machines
    • Affinity / Anti-Affinity Rules
  • Grouping
    • Include groups (VMs that are rebalanced to nodes together)
    • Exclude groups (VMs that must run on different nodes)
    • Ignore groups (VMs that should be untouched)
  • Dry-run support
  • Human readable output in CLI
  • JSON output for further parsing
  • Migrate VM workloads away (e.g. maintenance preparation)
  • Fully based on Proxmox API
  • Usage
  • One-Shot (one-shot)
  • Periodically (daemon)

ProxLB is fully opensource and released under the GPLv3 license. You can obtain ProxLB by ready-to-use Debian, RedHat or FreeBSD packages but there’s also a dedicated Debian repository for Debian & Ubuntu and also a Container image which can be used with Docker or Podman.

References

Taggs: