Evolutions of a cluster virtualization manager.
Guido Trotter <ultrotter@google.com>
gnt-network allows to define networks and their parameters (netmask, gateway, ...) and to associate them to nodegroups (which defines the physical ways in which the nodes have the network available).
A new nic parameters available through gnt-instance makes it possible to connect an instance nic to a network, thus inheriting the parameters, and doing IP allocation if necessary.
(contributed by grnet.gr)
External storage providers can be configured to seamlessly attach and detach instance disks from nodes, and to create them, thus allowing the use of any storage system in conjuction with Ganeti.
(contributed by grnet.gr)
A new node parameter (that should be changed at cluster or nodegroup level) allows changing the node allocation policy so that resources are reserved for instances exclusively, instead of shared. Currently this mode acts on how disks are allocated on lvm storage (each physical volume is assigned to only one instance, rather than shared by striping), but in the future it will be also used for different resources.
This functionality is meant for more predictable workloads, to minimize contention between instances for node resources.
This new htool allows calculating how to best perform parallel maintenances on a cluster. It currently support offline maintenances, and will be expanded soon for online ones.
New parameters have been added to better tweak an instance's SMP CPU configuration, support extra hardware, and even pass arbitrary parameters to the kvm command line.
Experimental OCF agents are available, to configure ganeti services as a resource in Linux-HA.
This can be used in conjunction with our upcoming autorepair system to fully automate your cluster.
Very basic support for connecting to an openvswitch network, under KVM.
Just connects the instance interface to the openvswitch port described in the link parameter. More work is needed to support extra parameters such as rate limiting or explicit vlan tagging.
Stable since mid-2012:
Allow limits at cluster and nodegroup level on instance sizes and hardware sharing rates. This permits better forecasting for cluster free space, makes sure users with resize-instance powers don't exaggerate, and permits distinctions by underlying hardware type.
Allow dynamic resizing of instance memory.
In the future automatic resizing to make space to other instances.
Allow specifying which CPUs an instance should run on, for full control of your hardware, and better instance-specific guarantees.
Allow instances based on the block device behind the ceph file system.
(contributed by grnet.gr)
Allow configuration of some storage parameter that were constant or just build-time. Examples are:
Exporting of Ganeti instances to the OVF format, and importing of OVF images into Ganeti.
Rather than forcing the master ip to be "just" in ip added to the master-netdev interface, allow a script to do any arbitrary action to set the node as a master. This allows turning up a new interface, using policy routing, or even a routing daemon to direct traffic to the master node.
Questions? Feedback? Ideas? Flames?