How to setup resource scaling in oVirt cloud systems
Today, most online applications are hosted in cloud systems. Unlike traditional dedicated servers, cloud systems offer users the ability to quickly scale up or down CPU, memory, disk space or bandwidth on the go.
Users love the ability to pay for just enough resources that they need, thereby maximizing their value for money. So, it is no surprise that all cloud providers keep easy scaling as a central feature of their service offering.
In a previous post, we covered how oVirt (open virtualization) can be used to build a high ROI cloud hosting solution. Today, we’ll go a bit further into how cloud scaling works in oVirt, and how a cloud provider can deliver fast resource scaling using oVirt.
CPU is perhaps the most sought after resource in cloud instances. An application upgrade or a growth in user base often drives cloud users to request more processing power. In oVirt systems, CPUs are allocated as a combination of “cores” and “sockets”. One “socket” can have multiple “cores”. So, if a customer requests for 4 CPUs, it can be given either as 2 “sockets” with 2 “cores” each or 1 “socket” with 4 “cores”.
This CPU allocation is changed by going to “Virtual Machines” –> “Edit Virtual Machine” –> “System” –> “Total Virtual CPUs”.
WARNING: When allocating “sockets” to a VM, the number should not be more than what is present in the hypervisor. For eg., if a hypervisor called “Node01” has only 2 “sockets”, the maximum number of “sockets” that can be allocated to VMs hosted in “Node01” is 2. Similarly, if the number of “cores” in each socket of “Node01” is 16, the maximum number of “cores” that can be allocated per “socket” to any VM is 16. If these limits are exceeded, the VM will fail to boot up.
[ Looking for the WHMCS plugin to manage your oVirt interface? Get our WHMCS plugin for oVirt management here. ]
The majority of high load issues in cloud instances are caused due to memory heavy applications. These apps quickly take up all available memory, and then force the system to use the slower swap memory. This leads to long delays in app response, and high system load. Quick fix to this issue is to increase memory, which in oVirt systems is done by going to “Virtual Machines” –> “Edit Virtual Machine” –> “System” –> “Memory Size”.
[ Looking for custom plugins to manage your portals? Contact us to get tailor-made plugins to serve your business purposes. ]
Disk IOPS scaling
A system is as fast as its slowest component. In the case of servers, the slowest component is the hard disk. The yard stick to measure disk performance is called “IOPS” or “I/O Operations Per Second”. Limiting the IOPS of a VM is the best way to ensure Quality of Service (QoS) for every customer commensurate with their billing plan.
To limit IOPS in oVirt, first a QoS profile is created under “Data Centers” –> “QoS” –> “Storage”. The total IOPS for a starter plan can be as low as 400, with 350 allocated for “Read” operations and 50 allocated for “Write” operations.
Once the QoS profile is created, it is attached to a Disk Profile by going to “Data Centers” –> “Storage” –> Disk Profiles”. This new Disk Profile is then assigned to a Virtual Machine by navigating to “VMs” –> “Disks” –> “Edit”.
Disk space scaling
Disk space in Virtual Machines can be increased by going to “VMs” –> “Disks” –> “Edit” –> “Extend size by (GB)”.
Network bandwidth scaling
In oVirt, bandwidth scaling is done using Quality of Service (QoS) profiles. Before a bandwidth limit can be applied to a VM, network QoS profiles need to be created for each plan. This can be done by going to “Data Centers” –> “QoS” –> “Network”. It brings up a screen like this:
Once the QoS profiles were created, they were used to create corresponding network profiles by going to “Networks” –> “vNIC Profiles”. These network profiles were then used to associate each cloud instance to a bandwidth quota as shown here:
Resource scaling is a core feature in any cloud hosting solution. Here we’ve covered how resource scaling was implemented for an oVirt cloud system. Bobcares helps cloud providers, data centers and web hosts deliver industry standard cloud services through custom configuration and preventive maintenance of server virtualization systems.