SlideShare a Scribd company logo
1 of 50
Download to read offline
Hands on
Virtualization with
      Ganeti
          (part 1)

      Lance Albertson
        @ramereth
     Associate Director
    OSU Open Source Lab
About us
● OSU Open Source Lab
● Server hosting for Open Source
  Projects
  ○ Linux Foundation, Apache Software Foundation,
    Drupal, Python Software Foundation, Freenode,
    Gentoo, Debian, CentOS, Fedora, etc etc ...
● Open Source development projects
  ○ Ganeti Web Manager
Session Overview (part 1)
● Ganeti Introduction
  ● Terminology
  ● Major Components
● Latest Features
● Using Ganeti in Practice
● How Ganeti is deployed at OSUOSL
Session Overview (part 2)
● Hands on Demo
● Installation and Initialization
● Cluster Management
  ● Adding instances (VMs)
  ● Controlling instances
  ● Auto Allocation
● Dealing with node failures
What can Ganeti do?
●   Virtual machine management software tool
●   Manages clusters of physical machines
●   Xen/KVM/LXC VM deployment
●   Live Migration
●   Resiliency to failure
    ●   data redundancy via DRBD
● Cluster Balancing
● Ease of repairs and hardware swaps
Ganeti Cluster
Comparing Ganeti
●   Private IaaS
●   Primarily utilizes local storage
●   Designed for hardware failures
●   Mature project
●   Low package requirements
●   Simple administration
●   Easily pluggable via hooks & RAPI
Project Background
●   Google funded project
●   Used in internal corporate env
●   Open Sourced in 2007 GPLv2
●   Team based in Google Switzerland
●   Active mailing list & IRC channel
●   Started internally before libvirt,
    openstack, etc
Goals of Ganeti
Goals: Low Entry Level
● Keeping the entry level as low as
  possible
● Easy to install, manage and upgrade
● No specialized hardware needed
  ● i.e. SANs
● Lightweight
  ● no "expensive" package dependencies
Goals: Enterprise Scale
● Manage simultaneously from 1 to ~200
  host machines
● Access to advanced features
  ● drbd, live migration, API, OOB control
● Batch VM deployments
● Ease of lateral expansion and
  rebalancing
Goals: Open Source Citizen
● Design and code discussions are open
● External contributions are welcome
● Cooperate with other "big scale"
  Ganeti users
● Welcome third-party projects
  ● Ganeti Web Manager (OSL), Synnefo
    (GRNET)
Terminology
Terminology
Node         virtualization host


Node Group   homogeneous set of nodes   (i.e. rack of nodes)




Instance     virtualization guest

Cluster      set of nodes, managed as a collective
Job          ganeti operation
Architecture
Components
● Linux & standard utils
  ○ (iproute2, bridge-utils, ssh)
● KVM, Xen or LXC
● DRBD, LVM, RDB, or SAN
● Python
  ○ (plus a few modules)
● socat
● Haskell
   (optional, for auto-allocation)
Nodes Roles              (management level)
                    Runs ganeti-masterd, rapi, noded
Master Node
                    and confd
                    Have a full copy of the config, can
                    become master
Master Candidates
                    Run ganeti-confd and noded
                    Cannot become master
Regular Nodes
                    Get only part of the config
Offline nodes       In repair or decommissioned
Nodes Roles          (instance hosting level)



VM Capable Node   Can run virtual machines


Drained Nodes     Are being evacuated


Offline Nodes     Are in repair
Instances




● Virtual machine that runs on the cluster
● fault tolerant/HA entity within cluster
Instance Parameters
● Hypervisor: hvparams

● General: beparams

● Networking: nicparams

● Modifiable at the instance or

  cluster level
hvparams
● Boot order, CDROM Image
● NIC Type, Disk Type
● VNC Parameters, Serial console
● Kernel Path, initrd, args
● Other Hypervisor specific
  parameters
beparams / nicparams
● Memory / Virtual CPUs

● Adding or removing disks

● MAC

● NIC mode (routed or bridged)

● Link
Disk Template

drbd              LVM + DRBD between 2 nodes


rbd               RBD volumes residing inside a RADOS cluster *


plain             LVM with no redundancy


diskless          No disks. Useful for testing only


* experimental support added in 2.6
Primary & Secondary Concepts




● Instances always runs on primary
● Uses secondary node for disk replication
● Depends on disk template (i.e. drbd, plain)
Instance creation scripts
           also known as OS Definitions
●   Requires Operating System installation
    script
●   Provide scripts to deploy various operating
    systems
●   Ganeti Instance Debootstrap
    ● upstream supported
●   Ganeti Instance Image
    ● written by me
OS Variants
● Variants of the OS Definition
● Used for defining guest operating
  system
● Types of deployment settings:
  ● Extra packages
  ● Filesystem
  ● Image directory
  ● Image Name
Latest Features
            2.4                             2.5
          March 2011                      April 2012

●   Out of Band management    ●   shared storage (SAN)
●   vhost net support (KVM)       support
●   hugepages support (KVM)   ●   improved node groups
●   initial node groups           (scalability, evacuate,
                                  commands)
                              ●   master IP turnup
                                  customization
                              ●   full SPICE support (KVM)
Latest Features
             2.6                          Upcoming
           July 2012                   Just ideas, not promises

● RBD support (ceph)              ● Full dynamic memory support
● initial memory balloning        ● Better instance networking
  (KVM, Xen)                        customization
● cpu pinning                     ● Rolling Reboot
● OVF export/import support       ● Better automation, self-
● customized drbd parameters        healing, availability
● policies for better resource    ● Higher Scalability
  modeling                        ● KVM block device migration
● Optional haskell ganeti-confd   ● Better OS Installation
Initializing your cluster
The node needs to be set up following the ganeti installation guide.


gnt-cluster init [-s ip] ... 
  --enabled-hypervisors=kvm cluster
gnt-cluster
Cluster wide operations:

gnt-cluster      info
gnt-cluster      modify [-B/H/N ...]
gnt-cluster      verify
gnt-cluster      master-failover
gnt-cluster      command/copyfile ...
Adding nodes
gnt-node add [-s ip] node2
gnt-node add [-s ip] node3
gnt-node add [-s ip] node4
Adding instances
# install instance-{debootstrap, image}
gnt-os list
gnt-instance add -t drbd 
  {-n node3:node2 | -I hail } 
  -o debootstrap+default web
ping web
ssh web # easy with OS hooks
gnt-node
Per node operations:
gnt-node remove node4
gnt-node modify 
  [ --master-candidate yes|no ] 
  [ --drained yes|no ] 
  [ --offline yes|no ] node2
gnt-node evacuate/failover/migrate
gnt-node powercycle
-t drbd
DRBD provides redundancy to instance data, and
makes it possible to perform live migration without
having shared storage between the nodes.




        "RAID1" over the network
Recovering from failure
# set the node offline
gnt-node modify -O yes node3
Recovering from failure
# failover instances to their secondaries
gnt-node failover --ignore-consistency node3

# or, for each instance:
gnt-instance failover 
  --ignore-consistency web
Recovering from failure
# restore redundancy
gnt-node evacuate -I hail node3

# or, for each instance:
gnt-instance replace-disks 
  {-n node1 | -I hail } web
gnt-backup
Manage instance exports/backups:

gnt-backup export -n node1 web
gnt-backup import -t plain 
  {-n node3 | -I hail } 
  --src-node node1 
  --src-dir /tmp/myexport web
gnt-backup list
gnt-backup remove
htools: cluster resource management
● Written in Haskell
● Where do I put a new instance?
● Where do I move an existing one?
  ● hail: the H iallocator
● How much space do I have?
  ● hspace: the H space calculator
● How do I fix an N+1 error?
  ● hbal: the cluster balancer
Controlling Ganeti
● Command line *
● Ganeti Web Manager
  ● Developed by OSUOSL
● 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
Job Queue
● Ganeti operations generate jobs in the master
  ○ with the exception of queries
● Jobs execute concurrently
● You can cancel non-started jobs, inspect the queue
  status, and inspect jobs


gnt-job     list
gnt-job     info
gnt-job     watch
gnt-job     cancel
gnt-group
Managing node groups:

gnt-group add
gnt-group assign-nodes
gnt-group evacuate
gnt-group list
gnt-group modify
gnt-group remove
gnt-group rename
gnt-instance change-group
Running Ganeti in Production
             What should you add?
●   Monitoring/Automation
    ● Check host disks, memory, load
    ● Trigger events (evacuate, send to repairs, readd
      node, rebalance)
    ● Automated host installation/setup (config
      management)
●   Self service use
    ● Instance creation and resize
    ● Instance console access
Ganeti in practice
● Medium to small virtualization
  environments
● High performance
  ● Dedicated hardware, faster disks, more spindles on
      local storage
● Cheap hardware to high-end
  hardware
● Higher reliability
Ganeti as a "cloud"
● Not a traditional cloud environment
  ● No AWS APIs (yet at least), no object store
  ● Ganeti specific API
● Tools to extend it
  ● Ganeti Web Manager, Syssnefo, GlusterFS, Ceph
● Storage layer differences
  ● block devices instead of disk images (typically)
How the OSL uses Ganeti
● Powers all managed virtualization
● Project hosting
● KVM based
● Hundreds of VMs
● Web hosts, code hosting, etc
● Per-project clusters: PSF, OSGeo,
  phpBB, Gentoo
● Powers Supercell
Ganeti at OSL
● Node OS: Gentoo
  ● Migrating towards CentOS
● CFEngine for node configuration setup
● Utilize instance-image for guest installs
  ● Flexibility on guest operating systems we can
      deploy
● 10 clusters, 27 nodes, 230 instances
● Ganeti Web Manager
Ganeti at OSL
● Production cluster
  ● busybox, darcs, inkscape, musicbrainz, openmrs,
       php.net, qemu, freenode, yum
   ●   5 nodes, 20 instances per machine
   ●   64G Ram / 3-7TB / 24 cores (2)
   ●   24G Ram / 670G / 4 cores (3)
● Reduced cooling footprint
● Per-project clusters enabled flexibility
People running Ganeti
● Google
  ● Corporate Computing Infra
● osuosl.org
  ● Oregon State University Open Source Lab
● grnet.gr
  ● Greek Research & Technology Network
● nero.net
  ● Network for Education & Research in Oregon
Questions?                     (Part 1 Conclusion)
               Lance Albertson
              lance@osuosl.org
                 @ramereth
         http://lancealbertson.com

            Check it out at: http://code.google.com/p/ganeti/
                        Or just search for "Ganeti"
        Try it. Love it. Improve it. Contribute back (CLA required).
                   © 2009-2012 Oregon State University
Use under CC-by-SA / Some content borrowed/modified from Iustin Pop (with
                               permission)

More Related Content

What's hot

Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XJérôme Petazzoni
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Stephen Gordon
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Sim Janghoon
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntuSim Janghoon
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOpenStack Foundation
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
Docker on openstack by OpenSource Consulting
Docker on openstack by OpenSource ConsultingDocker on openstack by OpenSource Consulting
Docker on openstack by OpenSource ConsultingOpen Source Consulting
 
Red Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerRed Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerJustin Bui
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Jérôme Petazzoni
 
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebula Project
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebula Project
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula Project
 
Customizing Virtual Machine Images - Javier Fontán
Customizing Virtual Machine Images - Javier FontánCustomizing Virtual Machine Images - Javier Fontán
Customizing Virtual Machine Images - Javier FontánOpenNebula Project
 
Disaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDDisaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDViswesuwara Nathan
 
Kernel Recipes 2015 - So you want to write a Linux driver framework
Kernel Recipes 2015 - So you want to write a Linux driver frameworkKernel Recipes 2015 - So you want to write a Linux driver framework
Kernel Recipes 2015 - So you want to write a Linux driver frameworkAnne Nicolas
 
RHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRaz Tamir
 
TechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard UniverityTechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard UniverityOpenNebula Project
 
Deploying MongoDB sharded clusters easily with Terraform and Ansible
Deploying MongoDB sharded clusters easily with Terraform and AnsibleDeploying MongoDB sharded clusters easily with Terraform and Ansible
Deploying MongoDB sharded clusters easily with Terraform and AnsibleAll Things Open
 

What's hot (20)

Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Docker on openstack by OpenSource Consulting
Docker on openstack by OpenSource ConsultingDocker on openstack by OpenSource Consulting
Docker on openstack by OpenSource Consulting
 
Red Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerRed Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift Messenger
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
 
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBITOpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
OpenNebulaConf 2016 - The DRBD SDS for OpenNebula by Philipp Reisner, LINBIT
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
 
Customizing Virtual Machine Images - Javier Fontán
Customizing Virtual Machine Images - Javier FontánCustomizing Virtual Machine Images - Javier Fontán
Customizing Virtual Machine Images - Javier Fontán
 
Disaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBDDisaster recovery of OpenStack Cinder using DRBD
Disaster recovery of OpenStack Cinder using DRBD
 
Kernel Recipes 2015 - So you want to write a Linux driver framework
Kernel Recipes 2015 - So you want to write a Linux driver frameworkKernel Recipes 2015 - So you want to write a Linux driver framework
Kernel Recipes 2015 - So you want to write a Linux driver framework
 
RHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRHEVM - Live Storage Migration
RHEVM - Live Storage Migration
 
TechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard UniverityTechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
 
Deploying MongoDB sharded clusters easily with Terraform and Ansible
Deploying MongoDB sharded clusters easily with Terraform and AnsibleDeploying MongoDB sharded clusters easily with Terraform and Ansible
Deploying MongoDB sharded clusters easily with Terraform and Ansible
 

Similar to Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012

Malware analysis
Malware analysisMalware analysis
Malware analysisxabean
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Giovanni Toraldo
 
Cloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopCloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopDeveler S.r.l.
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...Yandex
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDanny Abukalam
 
Techtalks: taking docker to production
Techtalks: taking docker to productionTechtalks: taking docker to production
Techtalks: taking docker to productionmuayyad alsadi
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsGR8Conf
 
Rohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterRohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterShapeBlue
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013dotCloud
 
LXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryLXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryDocker, Inc.
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler Peeyush Gupta
 
Introduction to Docker and Containers
Introduction to Docker and ContainersIntroduction to Docker and Containers
Introduction to Docker and ContainersDocker, Inc.
 
Scylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScyllaDB
 

Similar to Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012 (20)

Malware analysis
Malware analysisMalware analysis
Malware analysis
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
 
Cloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshopCloud computing, in practice ~ develer workshop
Cloud computing, in practice ~ develer workshop
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo..."Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack Cinder
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMU
 
JOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to ProductionJOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to Production
 
Techtalks: taking docker to production
Techtalks: taking docker to productionTechtalks: taking docker to production
Techtalks: taking docker to production
 
Kvm optimizations
Kvm optimizationsKvm optimizations
Kvm optimizations
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
Rohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterRohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual Router
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 
LXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryLXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software Delivery
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
 
Introduction to Docker and Containers
Introduction to Docker and ContainersIntroduction to Docker and Containers
Introduction to Docker and Containers
 
Scylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla OperatorScylla on Kubernetes: Introducing the Scylla Operator
Scylla on Kubernetes: Introducing the Scylla Operator
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012

  • 1. Hands on Virtualization with Ganeti (part 1) Lance Albertson @ramereth Associate Director OSU Open Source Lab
  • 2. About us ● OSU Open Source Lab ● Server hosting for Open Source Projects ○ Linux Foundation, Apache Software Foundation, Drupal, Python Software Foundation, Freenode, Gentoo, Debian, CentOS, Fedora, etc etc ... ● Open Source development projects ○ Ganeti Web Manager
  • 3. Session Overview (part 1) ● Ganeti Introduction ● Terminology ● Major Components ● Latest Features ● Using Ganeti in Practice ● How Ganeti is deployed at OSUOSL
  • 4. Session Overview (part 2) ● Hands on Demo ● Installation and Initialization ● Cluster Management ● Adding instances (VMs) ● Controlling instances ● Auto Allocation ● Dealing with node failures
  • 5. What can Ganeti do? ● Virtual machine management software tool ● Manages clusters of physical machines ● Xen/KVM/LXC VM deployment ● Live Migration ● Resiliency to failure ● data redundancy via DRBD ● Cluster Balancing ● Ease of repairs and hardware swaps
  • 7. Comparing Ganeti ● Private IaaS ● Primarily utilizes local storage ● Designed for hardware failures ● Mature project ● Low package requirements ● Simple administration ● Easily pluggable via hooks & RAPI
  • 8. Project Background ● Google funded project ● Used in internal corporate env ● Open Sourced in 2007 GPLv2 ● Team based in Google Switzerland ● Active mailing list & IRC channel ● Started internally before libvirt, openstack, etc
  • 10. Goals: Low Entry Level ● Keeping the entry level as low as possible ● Easy to install, manage and upgrade ● No specialized hardware needed ● i.e. SANs ● Lightweight ● no "expensive" package dependencies
  • 11. Goals: Enterprise Scale ● Manage simultaneously from 1 to ~200 host machines ● Access to advanced features ● drbd, live migration, API, OOB control ● Batch VM deployments ● Ease of lateral expansion and rebalancing
  • 12. Goals: Open Source Citizen ● Design and code discussions are open ● External contributions are welcome ● Cooperate with other "big scale" Ganeti users ● Welcome third-party projects ● Ganeti Web Manager (OSL), Synnefo (GRNET)
  • 14. Terminology Node virtualization host Node Group homogeneous set of nodes (i.e. rack of nodes) Instance virtualization guest Cluster set of nodes, managed as a collective Job ganeti operation
  • 16. Components ● Linux & standard utils ○ (iproute2, bridge-utils, ssh) ● KVM, Xen or LXC ● DRBD, LVM, RDB, or SAN ● Python ○ (plus a few modules) ● socat ● Haskell (optional, for auto-allocation)
  • 17. Nodes Roles (management level) Runs ganeti-masterd, rapi, noded Master Node and confd Have a full copy of the config, can become master Master Candidates Run ganeti-confd and noded Cannot become master Regular Nodes Get only part of the config Offline nodes In repair or decommissioned
  • 18. Nodes Roles (instance hosting level) VM Capable Node Can run virtual machines Drained Nodes Are being evacuated Offline Nodes Are in repair
  • 19. Instances ● Virtual machine that runs on the cluster ● fault tolerant/HA entity within cluster
  • 20. Instance Parameters ● Hypervisor: hvparams ● General: beparams ● Networking: nicparams ● Modifiable at the instance or cluster level
  • 21. hvparams ● Boot order, CDROM Image ● NIC Type, Disk Type ● VNC Parameters, Serial console ● Kernel Path, initrd, args ● Other Hypervisor specific parameters
  • 22. beparams / nicparams ● Memory / Virtual CPUs ● Adding or removing disks ● MAC ● NIC mode (routed or bridged) ● Link
  • 23. Disk Template drbd LVM + DRBD between 2 nodes rbd RBD volumes residing inside a RADOS cluster * plain LVM with no redundancy diskless No disks. Useful for testing only * experimental support added in 2.6
  • 24. Primary & Secondary Concepts ● Instances always runs on primary ● Uses secondary node for disk replication ● Depends on disk template (i.e. drbd, plain)
  • 25. Instance creation scripts also known as OS Definitions ● Requires Operating System installation script ● Provide scripts to deploy various operating systems ● Ganeti Instance Debootstrap ● upstream supported ● Ganeti Instance Image ● written by me
  • 26. OS Variants ● Variants of the OS Definition ● Used for defining guest operating system ● Types of deployment settings: ● Extra packages ● Filesystem ● Image directory ● Image Name
  • 27. Latest Features 2.4 2.5 March 2011 April 2012 ● Out of Band management ● shared storage (SAN) ● vhost net support (KVM) support ● hugepages support (KVM) ● improved node groups ● initial node groups (scalability, evacuate, commands) ● master IP turnup customization ● full SPICE support (KVM)
  • 28. Latest Features 2.6 Upcoming July 2012 Just ideas, not promises ● RBD support (ceph) ● Full dynamic memory support ● initial memory balloning ● Better instance networking (KVM, Xen) customization ● cpu pinning ● Rolling Reboot ● OVF export/import support ● Better automation, self- ● customized drbd parameters healing, availability ● policies for better resource ● Higher Scalability modeling ● KVM block device migration ● Optional haskell ganeti-confd ● Better OS Installation
  • 29. Initializing your cluster The node needs to be set up following the ganeti installation guide. gnt-cluster init [-s ip] ... --enabled-hypervisors=kvm cluster
  • 30. gnt-cluster Cluster wide operations: gnt-cluster info gnt-cluster modify [-B/H/N ...] gnt-cluster verify gnt-cluster master-failover gnt-cluster command/copyfile ...
  • 31. Adding nodes gnt-node add [-s ip] node2 gnt-node add [-s ip] node3 gnt-node add [-s ip] node4
  • 32. Adding instances # install instance-{debootstrap, image} gnt-os list gnt-instance add -t drbd {-n node3:node2 | -I hail } -o debootstrap+default web ping web ssh web # easy with OS hooks
  • 33. gnt-node Per node operations: gnt-node remove node4 gnt-node modify [ --master-candidate yes|no ] [ --drained yes|no ] [ --offline yes|no ] node2 gnt-node evacuate/failover/migrate gnt-node powercycle
  • 34. -t drbd DRBD provides redundancy to instance data, and makes it possible to perform live migration without having shared storage between the nodes. "RAID1" over the network
  • 35. Recovering from failure # set the node offline gnt-node modify -O yes node3
  • 36. Recovering from failure # failover instances to their secondaries gnt-node failover --ignore-consistency node3 # or, for each instance: gnt-instance failover --ignore-consistency web
  • 37. Recovering from failure # restore redundancy gnt-node evacuate -I hail node3 # or, for each instance: gnt-instance replace-disks {-n node1 | -I hail } web
  • 38. gnt-backup Manage instance exports/backups: gnt-backup export -n node1 web gnt-backup import -t plain {-n node3 | -I hail } --src-node node1 --src-dir /tmp/myexport web gnt-backup list gnt-backup remove
  • 39. htools: cluster resource management ● Written in Haskell ● Where do I put a new instance? ● Where do I move an existing one? ● hail: the H iallocator ● How much space do I have? ● hspace: the H space calculator ● How do I fix an N+1 error? ● hbal: the cluster balancer
  • 40. Controlling Ganeti ● Command line * ● Ganeti Web Manager ● Developed by OSUOSL ● 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
  • 41. Job Queue ● Ganeti operations generate jobs in the master ○ with the exception of queries ● Jobs execute concurrently ● You can cancel non-started jobs, inspect the queue status, and inspect jobs gnt-job list gnt-job info gnt-job watch gnt-job cancel
  • 42. gnt-group Managing node groups: gnt-group add gnt-group assign-nodes gnt-group evacuate gnt-group list gnt-group modify gnt-group remove gnt-group rename gnt-instance change-group
  • 43. Running Ganeti in Production What should you add? ● Monitoring/Automation ● Check host disks, memory, load ● Trigger events (evacuate, send to repairs, readd node, rebalance) ● Automated host installation/setup (config management) ● Self service use ● Instance creation and resize ● Instance console access
  • 44. Ganeti in practice ● Medium to small virtualization environments ● High performance ● Dedicated hardware, faster disks, more spindles on local storage ● Cheap hardware to high-end hardware ● Higher reliability
  • 45. Ganeti as a "cloud" ● Not a traditional cloud environment ● No AWS APIs (yet at least), no object store ● Ganeti specific API ● Tools to extend it ● Ganeti Web Manager, Syssnefo, GlusterFS, Ceph ● Storage layer differences ● block devices instead of disk images (typically)
  • 46. How the OSL uses Ganeti ● Powers all managed virtualization ● Project hosting ● KVM based ● Hundreds of VMs ● Web hosts, code hosting, etc ● Per-project clusters: PSF, OSGeo, phpBB, Gentoo ● Powers Supercell
  • 47. Ganeti at OSL ● Node OS: Gentoo ● Migrating towards CentOS ● CFEngine for node configuration setup ● Utilize instance-image for guest installs ● Flexibility on guest operating systems we can deploy ● 10 clusters, 27 nodes, 230 instances ● Ganeti Web Manager
  • 48. Ganeti at OSL ● Production cluster ● busybox, darcs, inkscape, musicbrainz, openmrs, php.net, qemu, freenode, yum ● 5 nodes, 20 instances per machine ● 64G Ram / 3-7TB / 24 cores (2) ● 24G Ram / 670G / 4 cores (3) ● Reduced cooling footprint ● Per-project clusters enabled flexibility
  • 49. People running Ganeti ● Google ● Corporate Computing Infra ● osuosl.org ● Oregon State University Open Source Lab ● grnet.gr ● Greek Research & Technology Network ● nero.net ● Network for Education & Research in Oregon
  • 50. Questions? (Part 1 Conclusion) Lance Albertson lance@osuosl.org @ramereth http://lancealbertson.com Check it out at: http://code.google.com/p/ganeti/ Or just search for "Ganeti" Try it. Love it. Improve it. Contribute back (CLA required). © 2009-2012 Oregon State University Use under CC-by-SA / Some content borrowed/modified from Iustin Pop (with permission)