Ganeti 2.7 and beyond

ganeti-64.png

Evolutions of a cluster virtualization manager.

Guido Trotter <ultrotter@google.com>

  • Google, Ganeti, Debian
© 2010-2013 Google
Use under GPLv2+ or CC-by-SA
Some images borrowed/modified from Lance Albertson and Iustin Pop

Outline

terminology.png

Community News

New os definitions

What's new in Ganeti

Network management (2.7)

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 (2.7)

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)

Exclusive mode (2.7)

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.

Hroller (2.7)

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.

Better KVM support (2.7)

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.

Linux-HA resource agents (2.7)

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.

Openvswitch support (2.7)

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.

What's coming next

Ganeti 2.6

Stable since mid-2012:

Instance policies (2.6)

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.

Memory ballooning (2.6)

Allow dynamic resizing of instance memory.

In the future automatic resizing to make space to other instances.

CPU Pinning (2.6)

Allow specifying which CPUs an instance should run on, for full control of your hardware, and better instance-specific guarantees.

Rados Block Device support (2.6)

Allow instances based on the block device behind the ceph file system.

(contributed by grnet.gr)

Disk parameters (2.6)

Allow configuration of some storage parameter that were constant or just build-time. Examples are:

OVF converter (2.6)

Exporting of Ganeti instances to the OVF format, and importing of OVF images into Ganeti.

Customizable master ip setup (2.6)

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.

What's "old" in Ganeti

ganeti-cluster.png

Ideas

Conclusion

Questions? Feedback? Ideas? Flames?

© 2010-2011 Google
Use under GPLv2+ or CC-by-SA
Some images borrowed/modified from Lance Albertson and Iustin Pop
cc-by-sa.png