Virtualization

Virtualization is a technology where a powerful server runs virtual instances of servers. They are called virtual machines. Todays powerful multi-core multi-CPU servers allow cores to be assigned to virtual servers with RAID systems, NAS and SAN systems, there is reliable storage of data. For full virtualization capabilities, the CPU should support hyperthreading such as Intel VT or AMD-V technologies.

Advantages

There's quite a few advantages of running virtual machines instead of actual physical servers:

  • Most physical servers are running at low utilization - less than 20%. The servers are consuming energy, cooling and taking up physical space.
  • Virtualization saves on physical space. One virtual server can replace a rack full of physical servers.
  • Power savings - racks of servers are replaced with a single virtual server
  • Less cooling requirements - again racks of heat generating servers are replaced by one virtual server
  • Easy management - snapshots of current servers can be easily created on the fly.
  • Backups - snapshots can be easily loaded and run up
  • Rebuilding time - takes minutes to get a server up and running versus hours for a physical server
Overall virtual servers are easier to manage, cost less to run, cost less to cool and take up less space.

Virtualization Technology

In the context of VoIP, there is 3 main technologies that are available: VMWare, Oracle VirtualBox (free) and Proxmox (open source). All will work on Windows, Mac OS and Linux operating systems. And all will run any operating system on any host machine. The machine that runs the virtualization architecture is called the host. The virtual images are called guests.

In my experience, VMWare and VirtualBox run as programs on top of the desktop operating system. They need an operating system with a GUI (Windows or X windows) to host the virtualization. I find that there is quite a demand for resources required by the desktop GUI. This is great if you are running a desktop and want to explore or have multiple operating systems or versions of operating systems running at the same time. This is especially useful if the virtual machines that you are running have desktops.

Proxmox runs on a Linux host and does not use X windows. On the server, you only have access to the command line. Instead, you connect to a Web GUI to configure and control the virtual servers. I find that Proxmox is much more efficient and can perform quite adequately on lower end servers than VMWare and VirtualBox. Most servers that run VoIP PBX software do not have a desktop and are accessed via a Web GUI. My choice is to use Proxmox for these reasons.

Virtual Machines and Templates

Virtual machines (VMs) such as KVM run their own kernel. They are installed from an ISO distribution the same as if you were installing into a physical server. Once installed, you can massage them and make clones. In this manner, a Linux machine can run an instance of Windows and vice versa.

Templates, such as OpenVz, use the same kernel as what is running on the host machine. In a sense they share the kernel. This means that a Linux machine cannot run a Windows template and vice versa.

The good news is that pretty much all virtualization technologies allow you to run both VMs and Templates at the same time. And the state of virtualization is such that you really don't have to know all of the inner workings to configure a virtual server and make virtual machines. The hard work has already been done! Also all of the virtualization technologies come with pre-made templates for you to install and there are many websites offering 100s of other templates.

In VoIP, there are a few pre-made PBX templates available and I will show you how to create your own clone-able VMs using Proxmox and the FreePBX distribution. There is a caveat with virtualization concering VoIP, it does not recognize legacy PCI or PCI express telephony cards. You will have to connect to the PSTN by trunking to a media gateway or a service provider providing PSTN services. Which isn't a big deal because that seems to be the way VoIP is heading already!

Proxmox FreePBX Virtual Machine - on this webpage, you will be stepped through the installion and configuration of a Virtual Machine using a FreePBX distribution ISO image. At this point you could use the VM and configure a FreePBX PBX or you can "clean it up" to create a Master VM that you can easily clone and bring up multiple PBXs.

If this page has helped you, please consider donating $1.00 to support the cost of hosting this site, thanks.

Return to

TelecomWorld 101

Copyright July 2013 Eugene Blanchard