Simultaneously running multiple operating systems on one computer has been a common practice for decades on mainframes, but is now commonly used on all classes of machines. This can be used for server consolidation: many underutilized physical servers are replaced by one powerful physical server hosting different virtual machines. However, this doesn't make management of the (now virtual) servers easier. To the contrary: as more and more servers are virtualized, system administrators could lose the "big picture" of their server farm. Good administration tools for virtualization are priceless.
After many months of development and bug-fixing, the developers of ConVirt have released version 1.0 of their graphical management tool for virtual machine life cycle management. This tool, in a previous life called XenMan, offers a solution to install ("provision" in virtualization lingo), monitor and manage the complete lifecycle of Xen and KVM deployments from a central dashboard. ConVirt is an open source product, aimed at the enterprise market. The company Convirture offers paid support, but free support is available through the community forums and wiki.
Managing a set of virtual machines manually is a time-consuming and error-prone task. Many system administrators write their own custom provisioning scripts to handle this, but then the problem of keeping track of all these virtual machines and monitoring them pops up. ConVirt manages both Xen and KVM from a single interface and shields the low-level differences between these virtualization platforms from the user. This means users don't need to learn and use multiple tools if different virtual machines use a different virtualization platform. Installing, configuring and monitoring virtual machines is all possible from a single dashboard. Most of the tasks, such as migrating virtual machines, taking snapshots or adding storage, are possible with a few clicks.
Preparing an environment of virtual machines for ConVirt happens in three steps: install ConVirt on one computer, prepare each server to be managed by ConVirt, and then start ConVirt, after which it discovers the prepared managed servers. The second step may be skipped if all managed virtual machines reside on the same computer as ConVirt.
Before the preparation, one should take a couple of things into account. ConVirt can be installed on most Linux systems, but it is only tested on a couple of distributions. Convirture has certified ConVirt on CentOS or Red Hat Enterprise Linux 5.2 with Xen 3.1, SUSE Linux Enterprise Server 10 SP2 with Xen 3.2, Debian 5.0 with KVM-72 and Ubuntu Server/Desktop 8.10 with KVM-72. The community has tested ConVirt successfully on some other configurations. The remotely managed servers should have a supported version of Xen or KVM, and should be accessible by SSH.
The wiki has specific installation instructions for a few Linux distributions. Your author applied them successfully on an Ubuntu 8.10 Desktop with KVM. On each server, download the convirture-tools package and run:
convirt-tool setupto configure the server. For Xen, this command configures the Xend Server to listen on port 8006 and to open port 8002 for migration. The setup tool writes a summary of its operations to the /var/cache/convirt/server_info file for later reference. ConVirt doesn't require deploying a software agent on the managed servers because it uses SSH.
ConVirt supplies a wealth of monitoring information at multiple levels: the individual virtual machine, the physical server. and the server pool. The user sees performance, utilization, and availability metrics for the CPU, memory, storage, and network. This gives one a good overview to decide where adjustments need to be made to capacity or to reallocate resources.
The concept of a server pool is central in ConVirt's operation, to the point that the user can install, configure, and monitor virtual machines at the server pool level. Key monitoring information for different servers of the pool is summarized to a pool-wide value. In the same way one can change the pool-wide configuration, which ConVirt then applies to all servers in the pool. It's also possible to associate shared storage (SAN or NAS) with a server pool. All virtual machines on this server pool then use the same storage settings.
Adding a server to a server pool is simple: select a server pool in ConVirt and right-click to select 'Add Server'. Choose Xen or KVM as the virtualization platform and enter the IP address or hostname of the server, provide the username and password for SSH and press OK. After this, the server shows up under the server pool and is ready to host virtual machines.
Templates are central to ConVirt's provisioning capabilities: the tool comes with a couple of templates, which are easily customizable. ConVirt creates two default groups in the image store: Xen Paravirtual, which contains virtual machine images for the Xen platform, and Common, which contains images that can be deployed on Xen or KVM if the processor supports virtualization. The Xen image store comes with templates for a CentOS or Fedora installation, and the Common image store has templates for a generic Linux or Windows installation.
Of course it is possible to create a template based on your own image or a third-party virtual appliance. An interesting feature is the integrated virtual appliance catalog browser: ConVirt searches on the websites of a number of appliance vendors (at this moment only rPath and JumpBox) of virtual appliances. Users can browse the catalog and download the right appliance, which can then be installed in ConVirt.
The rest of the configuration of a template comes down to allocating CPU, memory and storage, and defining the network. Installing a template into a new or existing server is a one-click action. If a user has a lot of servers with different workloads, ConVirt is able to identify the optimal placement in the server pool, taking into account the performance and workload of the various servers. Migrating a virtual machine between servers couldn't be easier: with a simple drag-and-drop move, the user can move a virtual machine from one server to another while it's running and without interrupting operations. The same holds for a whole group of virtual machines, for example if the server is upgraded or down for maintenance.
ConVirt 1.0 also allows dynamic configuration of CPU and memory resources for live virtual machines. In the future the project intends to add a policy-based mechanism to allow a more elastic pre-configuration and enforcement of resource limits.
ConVirt is an interesting solution for system administrators with a lot of servers and virtual machines to manage. One central dashboard to install, monitor and manage virtual machines should be more than welcome. On the server side there is virtually no extra work: a user only needs to run the setup tool once to configure the server correctly.
ConVirt is fully open source, and Convirture actively encourages the community to discuss, give feedback, and make suggestions as well as contribute directly to the codebase. Convirture's founder Arsalan Farooq said that they have received several key contributions from outside Convirture, but he admits that the majority of the code has been contributed by his company. His hope is that this ratio will change going forward in favor of even more community contributions.
At this moment, ConVirt supports Xen and KVM, but the management tool has a plugin architecture that allows new platforms to be added easily. According to Farooq, the ConVirt developers will continue to add support for any relevant open source virtualization platforms that might emerge, and he mentioned Red Hat's oVirt platform. He also added that this is an area where the developers especially encourage community involvement, so if you want your favorite virtualization technology to be supported in ConVirt, get involved with the project.
Database Softwareannounced. Changes include some new capabilities, bug fixes and performance improvements. announced, it features bug fixes and a new Korean translation. "SQuirreL SQL Client is a graphical SQL client written in Java that will allow you to view the structure of a JDBC compliant database, browse the data in tables, issue SQL commands etc."
Device Driversannounced. "Linux/Unix driver development for Syntek Semicon USB2.0 Video device DC-1125, like the one that is found in Asus A6K laptops. The device can be recognized by the usb id 174f:a311 and maybe also be a standalone unit (not integrated)."
Interoperabilityannounced. "This is the latest bug fix release for Samba 3.2 and is the version recommended for all production Samba servers running this release series." See the release notes for more information.
Mail SoftwareThis release adds 3 new options to force bogofilter to use a specified number of tokens when scoring a message. The options are: --token-count=n --token-count-min=n --token-count-max=n When one or more of these options is specified, bogofilter tries to use the specified number of tokens when computing a message's score."
Networking ToolsThe netfilter project presents another development release of the conntrack-tools that includes a new `-S' option for the command line tool, and a generic infrastructure to allow using different protocols to replicate state-changes, currently unicast UDP and multicast are supported."
Web Site DevelopmentThe second beta of Midgard2 9.03 is targeted at web framework and desktop developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools."
Audio Applicationsannounced. "I am pleased to announce the release of Ardour 2.8. As has been previously announced, the 2.X series is now in a state of "feature freeze" so that we can try to concentrate on Ardour 3.0, but as a gesture of thanks to the community for the support during February, I wanted to release this mostly-bugfix version that also comes with a couple of significant features. These include much more reliable VST support on Linux, track/bus templates and, with some important qualifications, AudioUnit state and preset handling." Traverso is a cross platform multitrack audio recording and editing suite with a clean and innovative interface targeted for home and professional use. Changes in this release: * New Transport Console * Improvements to the New Project Dialog * AudioClip Selection or Grouping, featuring: Move, Copy, Remove * Fold Sheet or Track: Move all the audioclips in a Track or the entire Sheet right from the mouse cursor without the need to select them first! * Various smaller new features and bug fixes".
Data VisualizationDISLIN is a high-level and easy to use plotting library for displaying data as curves, bar graphs, pie charts, 3D-colour plots, surfaces, contours and maps. Several output formats are supported such as X11, VGA, PostScript, PDF, CGM, WMF, HPGL, TIFF, GIF, PNG, BMP and SVG."
ElectronicsTTA-Based Codesign Environment (TCE) is a toolset for designing application-specific processors (ASP) based on the Transport Triggered Architecture (TTA). TTA is a minimalistic processor architecture template that allows high level of control for the designer to choose the boundary between the hardware and the software. The toolset provides a complete codesign flow from C programs down to synthesizable VHDL and parallel program binaries. Processor customization points include the register files, function units, supported operations, and the interconnection network."
Fonts and ImagesRelease 0.19 of Open Clip Art Library, containing over 12,000 high quality scalable vector graphics (SVG) files released into the public domain by over a 1000 artists, is now available for download and use. In celebration of this accomplishment, since OCAL's last release happened in 2005, and March being 5th anniversary of the Open Clip Art Library (OCAL), the OCAL community set a goal to achieve 10,000 uploaded pieces of vector graphics."
Interoperabilityannounced. Changes include: "RPC over HTTP support. Improved support for upgrades in MSI. Debug symbols in WineDbg on Mac OS X. Many Direct3D code cleanups. Various bug fixes."
MultimediaThis release fixes a bunch of bugs and introduces cool new features (under the hood) in the widgets system and the styling engine."
Music ApplicationsThis is a bugfix release. fixed bug's : set gain persistent in jconv settings remove compiler flags ( sse + fast-math ) make guitarix_midi_out temporarly". Strasheela is a highly expressive constraint-based music composition system. Users declaratively state a music theory and the computer generates music which complies with this theory. A theory is formulated as a constraint satisfaction problem (CSP) by a set of rules (constraints) applied to a music representation in which some aspects are expressed by variables (unknowns)."
Miscellaneousannounced. "OmegaT is a free and open source multiplatform Computer Assisted Translation tool with fuzzy matching, translation memory, keyword search, glossaries, and translation leveraging into updated projects. A new maintenance version of OmegaT 1.8.1 has been released. The focus of this release is on spellchecking, with two bug fixes and one enhancement." announced. "Popular brainstorming and mind mapping tool, Eclipse Community Award 2008 winner, often used for capture ideas, knowledge/project management and GTD, supporting fishbones/org-charts/tree charts/spreadsheets, compatible with Freemind/Mindmanager,easy-to-use. Change of Version 3.0.2 New Features: 1. Security 2. New Sheet from Topic 3. Hyperlink in Notes"
Languages and Tools
Chas been held up for some time while the Free Software Foundation has pondered changes to the licensing for the GCC runtime libraries. The delay has created some significant unhappiness in the GCC community, some members of which have vocally wondered what the GCC steering committee is for if the FSF is making this kind of decision. The logjam appears to have been cleared, but there has been no word, yet, on any decisions on the licensing issues.
PythonSphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText source files)." It's hard to explain my reasons for choosing -- like most language decisions (especially the difficult ones) it's mostly a matter of gut feelings. One thing I know is that it's better to decide now than to spend another year discussing the pros and cons. All that could be said has been said, pretty much, and my mind is made up."
XMLpyxser stands for Python XML Serialization, it's Python object serializer that does the job in a standard way. Unlike other serializers, it uses structured document defined in the pyxser DTD, has a FPI (forma public identifier) and the deserialization process run before validating the serialized object document against the pyxser DTD."
Cross Compilersavailable. The main new feature is support for the new Arduino Mega development board, see the release notes for more information.
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds