This is part two in a two-part series on how to use open source ConVirt to manage virtual machines written by guest contributor Jaydeep Marfatia, executive vice president of engineering and founder of Convirture.
Previously, I gave you an overview of ConVirt Open Source, who’s using it and why. Today, I’ll give specific guidance on using Convirt Open Source, which offers an open source, agent-less lifecycle management solution that works for both KVM and Xen. In addition, I’ll touch on some of the advanced automation capabilities which are available in ConVirt’s commercial (e.g. paid for) version as well.
Installing and Configuring ConVirt
The process of installing and configuring ConVirt is well documented – there are 3 basic steps:
- Install ConVirt Management Server (CMS)
- Prepare Managed Servers for ConVirt
- Open ConVirt in your browser and start managing your infrastructure.
Note that ConVirt is agentless, but before you start managing a remote server, you need to ensure that it's properly configured. This can be done easily in a few quick steps using the convirt-tool script:
- For the Xen platform, running this command configures the Xend Server to listen on port 8006 and opens port 8002 for migration. The command also detects the default bridge and writes a summary of its operations to the /var/cache/convirt/server_info file.
- For the KVM platform, the command creates appropriate public bridges, required scripts and writes a summary of its operations to the /var
Here are several resources that will help you get there fast and effectively:
The ConVirt Dashboard
ConVirt’s Data Center Dashboard provides an at-a-glance view of your entire virtualized environment, and the highly interactive interface allows you to:
- Use Context menu on the entity to invoke the operation. For example, select a VM, right mouse click to get to the context menu and invoke the desired operation.
- View and organize Servers in Server pools and see them hierarchically in the navigator.
- Search the Servers or Virtual machines by name and get to information about them.
- Sort the Servers and Virtual machines by their CPU or memory consumptions.
- Select area of the chart to zoom in and out.
- Get to the Virtual machine console from the browser via VNC.
ConVirt is multi-user, allowing the same environment to be managed by multiple administrators. It’s also extensible, with multiple hooks for enterprise integration, including LDAP/AD support, CLI, and API-based approaches.
The Dashboard has 3 basic elements:
- Navigator Pane: This pane displays an organized, hierarchical view of each entity managed by the system, including Server Pools, Hosts, VMs, and Templates. ConVirt has highly interactive interface that allows you to use a context-sensitive menu on the entity to invoke the operation. For example, if you select a VM, you can right mouse click to get to the context menu and invoke the desired operation.
- Dashboards: Each entity in the system has at least an Overview tab and a Configuration tab, and if appropriate, a Servers tab. The Overview tab shows summary information as well as information that requires attention. It also shows various charts that shows recent performance.
- Task Pane: All operations within ConVirt are carried out via the task engine subsystem. It runs periodic tasks of monitoring servers and virtual machines, data rollups and periodic maintenance. Information about the tasks submitted and their status is presented in the task pane at the bottom.
The Configuration tab shows configuration information about the entity.
And if appropriate, the Servers tab shows all the Servers and Virtual machines, in a sortable and searchable presentation that allows you to find the information that you are looking for.
Adding A Managed Server
A Server Pool node in the Navigator pane represents a group of managed servers. Desktops, QA Lab and Servers server pools are created by default. They serve as a good starting point. You can create your own server pools as well.
Server pools are a valuable concept because they allow you to manage a set of servers in a uniform fashion. For example, you can define provisioning settings that override or fulfill variables in the image at the time of provisioning. Similarly, you can declare specific types of storage associated with a server pool.
Add New Managed Server
Select a Server Pool in the Navigator pane, then right-click. For example, select the default server pool QA Lab, then select Add Server:
Select Virtualization Platform, then click OK.
Type the host name or IP address of the server, and a user name and password for account with permission to access the managed server, then click OK.
If the connection is successful, the managed server is added to the Convirt console. You can now create and manage the complete life cycle of virtual machines on this managed server.
VM Lifecycle Management
The most basic lifecycle of a virtual machine is creation, use, and removal, but the tasks involved are more complex than that, including things like:
- Create a VM
- Install an OS in the VM
- Create a template
- Snapshot a VM
- Migrate the VM and/ or the VM's storage
- Analyze the VM's resource utilization
- "Right-size"/resize the VM's memory, number of CPUs
- Remove the VM
ConVirt provides a toolset for day-to-day VM administration and lifecycle management, including monitoring, configuration management, templates-based provisioning, basic automation, live migration and much more.
A template is a set of related configuration from which you can create one or more virtual machines. For example, one of the default Templates included with ConVirt is the Linux _CD_Install in the Common Template Group. It typically consists of default values for Virtual cpus, Memory, storage and network configurations. You can view or customize the existing Linux_CD_Install Template in the ConVirt console:
The default Templates included with ConVirt give a good starting point for creating new virtual machines without making changes. In most cases, however, it may be useful to create custom Template by modifying an existing template to suit your needs. For example, you can create a new custom template for CentOS virtual machines by modifying the existing Linux_CD_Install template in the ConVirt.
With the CentOS template selected, you can right-click, then select Edit Settings on the context menu. You can modify specific properties to customize the template to your needs.
Define storage, network, boot parameters, and much more, within a template, helping to fully automate the provisioning process.
Out-of-box and custom templates are stored in the templates library, enabling categorization of the provisioning images according to business processes. ConVirt tracks the associations between templates and virtual machines using them, tracking compliance with corporate standards.
With ConVirt's single click provisioning, a template can by provisioned with a single click. You can select a server for provisioning or choosing a server pool and letting ConVirt determine the best candidate for running the additional workload.
Get an at-a-glance view of the virtual machine availability, performance and configuration information. Analyze historical performance trends and take immediate action.
Physical server information is key to virtual machine management. ConVirt provides performance monitoring for physical servers. Analyze performance trends, and take actionable steps to improve service levels.
ConVirt collects detailed configuration information for physical servers, including OS details, CPU information, storage and network resources, etc.
Take administrative actions, such as adding more memory to a running virtual machine, taking a snapshot, or rebooting a virtual machine.
Migrate live virtual machines by right-clicking on that virtual machine or with a single drag-and-drop operation.
When migrating a virtual machine, select a physical server to move it to or pick a server pool and let ConVirt determine the best server to host the additional workload, in compliance with pre-defined policies.
Storage Management & Automation
ConVirt allows you to declare your storage and use it for Virtual Machines. It supports both direct attached storage as well as shared storage topologies. For direct attached storage (local disk or LVM), you do not need to anything specific, you provide the full disk location at the time of provisioning. For shared storage, declare it at the Data Center level and then assign it to one or more server pools. Once this is done, you can create disks on the shared storage. ConVirt keeps track of the storage usage and presents it on various dashboards. This gives administrator an opportunity to fix storage capacity problems before they occur.
Convirt supports a wide variety of storage mechanisms including Local Storage, Network File system (NFS) and ISCSI.
You can declare storage once, at the data center level, and make it available to server pools and virtual machines in your environment.
ConVirt works with existing simple networks, bonded networks or VLAN enabled networks once the bridge setup is done on managed server. You can create Host Private Virtual networks using ConVirt.
Creating A Host Private Virtual Network
Select a managed server. e.g. srv-001, then right click and select Manage Virtual Networks. When you press ok. A new network is defined.
Using A Virtual Network
At the time of provisioning, virtual machine network interfaces can be associated with the network. Here is an example - select the managed server srv-001, then right-click and select Provision Virtual Machine operation. Select the desired template and give a name to the virtual machine. Now go to the Networks section of the wizard. You will typically see one interface with "Default Network" and Autogenerated MAC. Select this interface and click Edit. This will bring up Network Details dialog. From the drop down select the "QA network" defined earlier and press save. Now press ok to provision the new virtual machine. Start the virtual machine, and this virtual machine will be connected to QA network.
Summary – ConVirt offers a single product that can provide almost everything you need to manage open source virtualization for an enterprise data center. The open source product will get you started well on your way, and the commercial product provides much of the automation needed to bring ConVirt up to vCenter caliber functionality.
Jaydeep Marfatia is Executive Vice President of Engineering and Founder of Convirture. Jaydeep is responsible for all aspects of product development at Convirture. He brings a wealth of industry experience to his current role, including over 10 years in systems management. Prior to co-founding Convirture, Jaydeep held a senior engineering management position in the ASLM division at Oracle, and was one of the principal architects of the Oracle Enterprise Manager 10g product suite. He holds a degree in Computer Science from the University of Mumbai.