olly - Fotolia
Effective and efficient virtualization strategies demand capable management tools. While tools are plentiful for mainstream hypervisors like Microsoft Hyper-V and VMware vSphere ESXi, similar tools to manage open source platforms like KVM can be harder to identify.
One important KVM management tool that has emerged is the lightweight commercial Virtual Machine Manager (virt-manager) suite. The core offering is virt-manager, used to manage KVM VMs as well as Xen and Linux Container instances. It can collect and report statistical performance data and offers a graphical client viewer user interface to display a full listing of guest VMs available for management. Other components include virt-install for VM creation/provisioning; virt-clone for VM cloning, which allows existing VMs to be spun up quickly; virt-image to build VMs using an XML description, which allows basic templating; and virt-viewer to provide a graphical console. Administrators can utilize these components in the KVM management tool using a command-line interface or graphical user interface and expose libvirt APIs to access functions programmatically.
Taken together, the virt-manager suite is gaining traction as a common VM management platform to manage a few servers, and it also has the capabilities to build clouds with extensive server clusters. Administrators can use virt-manager for advanced management functions, such as live migration and load balancing. It can monitor resources like processor, memory, local and network storage, I/O use and aid IT professionals in VM/server troubleshooting.
A typical VM creation process starts by launching virt-manager and clicking the Create Virtual Machine icon. This starts the VM Construction Wizard. Administrators can name the new VM, choose where the OS will be installed from -- local, network and so on -- define the image, OS type and version, assign memory and processors, assign local or network storage and stipulate any particular network and processor characteristics. Click the Finish button to boot the new VM. Administrators may need to install OS media so that the VM can install the desired OS. The newly created VM, along with any other previously created VMs, will appear in the list of VMs under "Virtual Machine Manager." Administrators can monitor performance, such as CPU usage, and make other adjustments to each VM as desired. If an existing VM in the VM list is paused, virt-manager can also be used to clone the desired VM.
There are several points that can streamline VM management using virt-manager. First, pay close attention to VM naming. VMs are typically listed alphabetically and random, disassociated naming can make it difficult to match VMs to users, departments or other management criteria, such as VM lifecycle management. This problem is exacerbated when there are many VMs in the environment. Consider adopting a set of VM naming conventions that make sense for your business and allow easy, obvious correlation between VMs and users, groups or departments.
Beyond sensible naming practices, also take care in provisioning resources to VMs. Administrators provision CPUs, memory and storage during the VM creation process, and resources are not dynamic -- meaning they can't be adjusted later -- so it's important to allocate the appropriate amount of resources at creation time. This takes some advance consideration to determine the "right" level of resources. As with other hypervisors, under-provisioning resources may impair the VM's performance -- that is, if the workload runs at all. Overprovisioning resources is wasteful and costly to the business, and some overprovisioning may actually count against performance. Testing and monitoring can help administrators to identify the best allocation for a given virtualized workload.
Finally, in the KVM management tool, virt-manager, disk options can affect VM performance. A dynamic disk is basically thin-provisioned, starting small and then growing as it's used by the VM. By contrast, a raw disk is completely provisioned up front -- selected storage is all prepared for use immediately. Dynamic sizing is more space-efficient, but it takes time to grow the disk. Raw sizing commits space immediately, but the VM should run faster because dynamic storage capacity changes aren't needed. Use raw sizing for the most performance-sensitive workloads.
Dig Deeper on Virtual machine performance management
Related Q&A from Stephen J. Bigelow
Navigating data center malfunctions when hardware is off premises can be tricky. Organizations must have strong SLAs with their colo provider to ... Continue Reading
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading