Overview

VPSControl is specifically prepared to help you deploy and sell virtual servers using Open Source KVM and Xen on a given hardware infrastructure.

This not only represents an ideal solution for companies offering VPSs but also for running small labs or sandbox environments. You can always choose to not put a price on deployed virtual servers and run, for example, a learning or testing platform.

Prerequisites:

  • A hardware infrastructure
  • Debian GNU/Linux system with LVM packages installed (other OS and volume managers will probably be considered for future releases)
  • PostgreSQL database

Then, installing VPSControl allows you to:

  • Deploy VMs on your available hardware
  • Configure and sell virtual servers
  • Provide support through the built-in ticketing system
  • Add new hardware nodes to the entire infrastructure from the admin interface
  • Management of rDNS records
  • Force several actions on all domU guests like: Kernel updates, fsck for filesystems, a real migration from one hardware node to another (in this last case the full disk image is moved)

VPSControl is written in PHP and BASH scripts to interact with the underlying host operative system. It works on Debian systems and can be installed easily using apt-get. Although the software is presented here it’s not published yet.

Current version’s packages are for Debian Bullseye. It is perfectly possible to adapt VPSControl to other popular GNU/Linux distributions like Ubuntu.

This is a simplified list of components:

vps-control-master The main package, which provides the web interface from a central node
vps-control-slave The package installed on each dom0 to be managed
PostgreSQL A RDBMS where system information is stored
PowerDNS It handles reverse DNS services
ProFTPd It handles backup services for virtual machines (domU)

Diagram-Xenmanager

Current packages vps-control-master and vps-control-slave are build for Debian Bullseye.
Communication between all vps-control-slave packages and vps-control-master is done trough the DB and SSH

Standard Installation Requirements

Package vps-control-master can be installed even in a VPS with at least 2GB RAM / 100GB storage. These values should should go up according to the number of users to provide services.

Each Dom0 where package vps-control-slave is installed needs at least the same, 2GB RAM / 100GB storage. Ideally 4GB RAM, highly recommended. The rest of the memory / storage on the node is used to host a variable number of virtual machines.

PostgreSQL: Is recommended to install the DB in a separate node and with a replica, however it can also run installed with the vps-control-master package. Again 2GB RAM and 100GB storage are recommended but it depends highly on the number of users to handle.

PowerDNS: It needs 1GB RAM / 10GB storage

ProFTPd: It needs 2GB RAM and storage is related directly to how much backup space is given to each account.