On our new server (delta) there is KVM to manage Virtual Machines (VM).
Users can get their own root account on their own dedicated VM, to add services, users, mail-accounts whatever.

On the host side there are separate users named vm1, vm2, etc. who have permissions to manage their own VM. To start do ~/start. To send a shut-down-event do ~/stop stop. There is a Qemu/KVM management console attached to a pseudo-terminal. Find it with ls -l /dev/pts | grep vm12 (attention: ssh also has its terminals there)
Attach it with screen /dev/pts/27
help should give you the list of available commands.

To re-start a VM first shut it down by using the halt command (if machine crashed/hangs you can always use unclean shutdown: killall kvm ) and then let the vm user call ~/start . For interactive booting add i=1 at the start. You can edit your ~/options file to include a line vnc=1 to enable a remote graphical access via VPN using vncviewer delta4.zq1.de:12
In the same file you can tune other parameters of your VM (only activated on a new start). You can add qemu parameters using extra="-hdb /vm/vm12/swap" and the like.

Ready to use rootfs images of Debian/Lenny (64-bit), Debian/Etch and openSUSE-11.1 are prepared in /no_backup/bernhard/uml/. Please note that KVM does not use copy-on-write so every VM will need its own writable copy of the rootfs.
DHCP and radvd(for IPv6) are provided for easy network configuration.
All VMs are connected to the VPN so that it is easy to communicate to them.
The following subnets and names are used:

Forward and reverse DNS are provided.
Each VM is accessible through port-forwarding of 999 ports. e.g. ports 12001 to 12999 are forwarded to vm12. For my VMs I usually configure services on the VM to listen to an extra port such as 12993 for imaps or 12022 for ssh - but that is just my convention to be able to remember those numbers.

Valid HTML 4.01!