Ganeti Web Manager Cluster Management Made Simple Lance Albertson - - PowerPoint PPT Presentation

ganeti web manager
SMART_READER_LITE
LIVE PREVIEW

Ganeti Web Manager Cluster Management Made Simple Lance Albertson - - PowerPoint PPT Presentation

Ganeti Web Manager Cluster Management Made Simple Lance Albertson Peter Krenesky http://is.gd/oscongwm | http://is.gd/oscongwmpdf About us OSU Open Source Lab Server hosting for Open Source Projects Open Source development projects Lance /


slide-1
SLIDE 1

Ganeti Web Manager

Cluster Management Made Simple

Lance Albertson Peter Krenesky

http://is.gd/oscongwm | http://is.gd/oscongwmpdf
slide-2
SLIDE 2

About us

OSU Open Source Lab Server hosting for Open Source Projects Open Source development projects

Lance / Lead Systems Administrator Peter / Lead Software Engineer

slide-3
SLIDE 3

Session Overview

Ganeti Basics Ganeti Web Manager GWM Internals Using GWM

slide-4
SLIDE 4

Ganeti Cluster

slide-5
SLIDE 5

What is Ganeti?

Cluster virtual server management software tool Built on top of existing OSS hypervisors Fast & simple recovery after physical failures Using cheap commodity hardware Private IaaS

slide-6
SLIDE 6

Comparing Ganeti

Utilizes local storage Built to deal with hardware failures Mature project Low package requirements Easily pluggable via hooks & RAPI

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Terminology

slide-9
SLIDE 9

Components

Python Haskell DRBD LVM Hypervisor

slide-10
SLIDE 10

Architecture

slide-11
SLIDE 11

Nodes

Physical machine Fault tolerance not required Added/removed at will from cluster No data loss with loss of node

slide-12
SLIDE 12

Instances

Virtual machine that runs on the cluster fault tolerant/HA entity within cluster

slide-13
SLIDE 13

Instance Parameters

Hypervisor (called hvparams) General (called beparams) Networking (called nicparams) Modified via instance or cluster defaults

slide-14
SLIDE 14

Disk template

drbd : LVM + DRBD between 2 nodes plain : LVM w/ no redundancy file : Plain files, no redundancy diskless : Special purposes

slide-15
SLIDE 15

IAllocator

Automatic placement of instances Eliminates manual node specification

htools

External scripts used to compute

slide-16
SLIDE 16

Components

Automatic allocation

hbal : Cluster rebalancer hail : IAllocator script hspace : Cluster capacity estimator

slide-17
SLIDE 17

Primary & Secondary concepts

Instances always runs on primary Uses secondary node for disk replication Depends on disk template (i.e. drbd)

slide-18
SLIDE 18

Remote API

slide-19
SLIDE 19

Remote API

External tools Retrieve cluster state Execute commands JSON over HTTP via REST

slide-20
SLIDE 20

RAPI Security

Users & Passwords RFC 2617 HTTP Authentication Read-only or Read-write

slide-21
SLIDE 21

Easy management of Ganeti Client facing service

slide-22
SLIDE 22

Releases

Project Founded - 9-10-2011 Version 0.4 - 12-20-2010 Version 0.5 - 02-03-2011 Version 0.6 - 03-04-2011 Version 0.7 - 06-17-2011

slide-23
SLIDE 23

Open Sourced Libraries

Django Object Permissions Django Object Log Twisted VNC Auth Proxy

slide-24
SLIDE 24

Ganeti Web Manager

Installation

slide-25
SLIDE 25

Dependencies

Python >=2.5, 2.7 recommended Pip - Python package installer Fabric - Install scripts VirtualEnv - Python virtual environments Git - Distributed Source Control

slide-26
SLIDE 26

Fabric Installer

$ fab dev deploy $ fab prod deploy

slide-27
SLIDE 27
slide-28
SLIDE 28

Import Tools

Find Orphaned Instances Import New Nodes & Instances Remove Deleted Nodes & Instances

slide-29
SLIDE 29

Cache Updater

Imports Nodes and Virtual Machines too

$ twistd --pidfile=cache.pid gwm_cache

slide-30
SLIDE 30

Cache System

slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36

VNC Auth Proxy

allows proxying through firewall / VPN no need for passwords

slide-37
SLIDE 37

Permissions

slide-38
SLIDE 38

Personas

Users can act on behalf of groups

slide-39
SLIDE 39

Ownership vs. Permissions

Ownership is for book keeping Permissions let you do things

slide-40
SLIDE 40

Users Tab

slide-41
SLIDE 41

Editing Users

slide-42
SLIDE 42

Quotas

Per Persona, Per Cluster

slide-43
SLIDE 43

Overriding Default Quota

slide-44
SLIDE 44

Future Features

Instance Template Instance Defaults API And much more!

slide-45
SLIDE 45

Conclusion

slide-46
SLIDE 46

Questions?

Lance Albertson Peter Krenesky lance@osuosl.org peter@osuosl.org @ramereth @kreneskyp http://www.lancealbertson.com http://blogs.osuosl.org/kreneskyp/

http://code.google.com/p/ganeti/ http://code.osuosl.org/projects/ganeti-webmgr

Presentation made with showoff http://github.com/ramereth/presentation-ganeti-tutorial http://is.gd/oscongwm | http://is.gd/oscongwmpdf