Manage clusters of physical machines Deploy Xen/KVM/LXC virtual machines on them Live migration Resiliency to failure (data redundancy over DRBD) Cluster balancing Ease of repairs and hardware swaps
Interact with the cluster as an entity, instead of the individual machines. Making the virtualization entry level as low as possible Easy to install/manage No specialized hardware needed (eg. SANs) Lightweight (no "expensive" dependencies) Scale to enterprise ecosystems Manage simultaneously from 1 to ~200 host machines Access to advanced features (DRBD, live migration) Be a good open source citizen Design and code discussions are open External contributions are welcome Cooperate with other "big scale" Ganeti users
Instance: a virtualization guest Node: a virtualization host Nodegroup: a homogeneous set of nodes Cluster: a set of nodes, managed as a collective, partitioned by nodegroups Job: a ganeti operation
Linux and standard utils (iproute2, bridge-utils, ssh) socat KVM/Xen/LXC DRBD, LVM, or SAN, soon Ceph/Gluster Python (plus a few modules) Haskell
Command line (*) Ganeti Web manager Developed by osuosl.org and grnet.gr RAPI (Rest-full http interface) (*) On-cluster "luxi" interface (*) luxi is currently json over unix socket there is code for python and haskell (*) Programmable interfaces
Google (Corporate Computing Infrastructure) grnet.gr (Greek Research & Technology Network) osuosl.org (Oregon State University Open Source Lab) debian.org fsffrance.org (according to docs on their website and trac) ...
Thank You! Questions? Survey at https://www.usenix.org/lisa13/training/survey © 2010 - 2013 Google Use under GPLv2+ or CC-by-SA Some images borrowed / modified from Lance Albertson and Iustin Pop Some slides were borrowed / modified from Tom Limoncelli