DTC-Xen
A Xen dom0 CPU+Network grapher and a SOAP server on wich a DTC panel connects to manages your VMs
Dedicated servers

Find out how to get one of the best dedicated server hosting services available on the market. Have a 160GBytes transfer per month server for only $90 a month !
Get one and start reselling.
CALL NOW ! +1.(302)-213-1611
Shared hosting
Shared hosting service with certified bandwidth, your own IP addresses + SSL + CERT for the same site hosted on both sides of the ocean : YES ! GPL.Host makes it possible for less than $5.5/month !
dtc-xen: brings a full Xen control panel to your Xen server by connecting a DTC panel to it

2. Features and internals

For what kind of system

This package is written for Debian, and wont be ported to any other operating system (unless somebody wants to do the job). It's of course released in open source and it works for both Xen 2 and Xen 3.

A SOAP server to connect to

But that's not all. This package also has a SOAP server written in Python. We have chosen python because this is the Xen native scripting language, because thanks to it, it's possible to talk directly to Xen and import many of the Xen python API directly in the SOAP server, which makes the things a lot more easy. That soap server is setup automatically with a SSL certificate and auth, so it's quite secure to connect to it.

Connecting a DTC panel as client to it

On the dtc control panel side, you can add some dtc-xen SOAP servers. The dtc SOAP client uses nusoap, because this way it can work even with php4 or PHP compiled without SOAP support.

Provisionning

Once a dtc-xen server has been added to the panel, and provisioned with some IP addresses, it's possible to add a VPS to an admin in the admin editor, choosing one of the VPS hosting pack that you have defined in the product manager.

Here are some screenshots of the provisioning screens:
IP provisionning
VPS server list

Client features

Once an admin has a VPS, he can do quite some things with it. First, dtc shows the date of registration and expiration. It's possible to renew, even if the code for getting the response of the payment is not written yet. Then you have the status of your VPS: how much memory, uptime, date of startup, number of CPU and current state (as shown in xm list). It's also possible to do a "xm start", "xm destroy" and "xm shutdown" of your VPS.

Here are some client side snaps:
Renewals
Reinstall
Nagios monitoring
Start/Stop/rDNS

Big list of features:

  • Operating system bootstraping using debootstrap or yum
  • VPS reimaging using custom made scripts and images
  • VPS start/stop/force-stop
  • VPS partition FSCK
  • VPS physical console access for all of your customers
  • Linux or NetBSD kernels
  • Reverse DNS settings and generations
  • IP pool management for your servers
  • Support tickets (with or without email support)
  • Billing, payment reminders and PDF invoices
  • Payment gateway support (modular if possible)
  • Monitoring (I/O, Network, CPU) with rrdtool graphs in near real time
  • Accounting (I/O, Network, CPU) with monthly usage in near real time
  • Nagios monitoring for your customers and yourself
  • VPS console access so people can debug iptables
  • Operating system packaging (rpm & deb) of your software
  • Translations to many languages
  • Maintenance of (moderated) mailing lists to keep in touch with all the customers of one or multiple servers
  • Integration in major Linux distributions (we got Debian for us, but why not Fedora so it has a chance to reach CentOS one day?)
  • Anti IP conflict system (keep traks of all IP usage, and uses the Xen anti-spoofing facility)
  • Multi server support (1 central server, many satelites)
  • Enable to deploy appliances. With one click, your customer can deploy a VPS preloaded with already setup apps like OpenVPN, FreePBX, DTC, and so on.
Note that NetBSD users will have to do the setup by themself using remote ssh logins to the physical console. Once the setup is completed, they just have to switch from the INSTALL kernel to the normal one and reboot the VM.

Operating system images and appliances

Our system supports a modular set of OS and APPs. Each of them is packaged into a convenient Debian package available from our repository. Each of these package is composed of one or more setup script, plus some data for the operating system or application. On top of this, both Debian and CentOS are deployed (bootstraped) by pulling the system packaged directly from the official repositories, so they are always up-to-date. No need to update the images over and over again.

List of supported bootstraped OS:
  • Debian
  • CentOS
List of operating system packaged to date (constantly evolving list):
  • Fedora
  • Gentoo 2008.1
  • Mandriva 2009
  • Ubuntu 8.04
  • Ubuntu 9.04
  • Slackware 13
  • Elastix (i386 only for now...)
  • SUSE 11.1
List of ready to deploy appliances:
  • KDE NX server
  • DTC
  • FreePBX
  • OpenVPN
Note that appliances are using any of the operating system mentioned above, as we use a dependency system, but for the moment, we built them only for Debian.

How connection to a VM physical console using SSH works

One cool feature is that it's possible to connect to the physical console of your VPS using ssh. Dtc-xen creates N users (from xen01 to xenNN), with all of them /bin/dtc-xen_userconsole.sh script as shell. This script does a very simple "xm console $USER" where of course $USER is the username in the system. Access is granted using sudo (and /etc/sudoers is modified to give access to it). By default, the password is initialized with a random value (so your users would have to set it up in the DTC panel before connecting). An SSH public key can also be used instead of a password (recommended).

Xen performance graphing

This package does graphing functionalities: it graphs the CPU and the Network usage of all the VMs installed on your Xen Server. All of your customers can see who is taking too much bandwidth. Here are various examples:

The customer's usage
All VPS on the server
Monthly usage accounting