baylisa - dive into openstack

34
Dive Into OpenStack Jesse Andrews & Vish Ishaya Anso Labs

Upload: jesse-andrews

Post on 12-May-2015

5.275 views

Category:

Technology


4 download

DESCRIPTION

See also http://www.slideshare.net/bpiatt/openstack-tutorial

TRANSCRIPT

Page 1: Baylisa - Dive Into OpenStack

Dive Into OpenStackJesse Andrews & Vish Ishaya

Anso Labs

Page 2: Baylisa - Dive Into OpenStack

Overview of OpenStackBackgroundCompute: NovaObject Storage: Swift

A Story of Three DeploysKicking the TiresDigging InGetting Physical

Internals / Q & A

Page 3: Baylisa - Dive Into OpenStack

The Mission

"To produce the ubiquitous Open Source cloud computing platform that will meet the needs of public

and private cloud providers regardless of size, by being simple to

implement and massively scalable."

Page 4: Baylisa - Dive Into OpenStack

and many more…

+&

Page 5: Baylisa - Dive Into OpenStack

creating open source software to buildpublic and private clouds

Software to provision virtual machines on standard hardware at

massive scale

Software to reliably store

billions of objects

distributed across standard hardware

Page 6: Baylisa - Dive Into OpenStack

History

Page 7: Baylisa - Dive Into OpenStack

History

Page 8: Baylisa - Dive Into OpenStack
Page 9: Baylisa - Dive Into OpenStack
Page 10: Baylisa - Dive Into OpenStack
Page 11: Baylisa - Dive Into OpenStack

Swift Components The Ring: Maps names to entities (accounts, containers, objects) on disk.

Stores data based on zones, devices, partitions, and replicas Weights can be used to balance the distribution of partitions Used by the Proxy Server for many background processes

Proxy Server: Request routing, exposes the public API

Replication: Keep the system consistent, handle failures

Updaters: Process failed or queued updates

Auditors: Verify integrity of objects, containers, and accounts

Account Server: Handles listing of containers, stores as SQLite DB

Container Server: Handles listing of objects, stores as SQLite DB

Object Server: Blob storage server, metadata kept in xattrs, data in binary format Recommended to run on XFS Object location based on hash of name & timestamp

Page 12: Baylisa - Dive Into OpenStack

Using OpenStack

Page 13: Baylisa - Dive Into OpenStack

Kicking the TiresVagrant is a tool for building and distributing virtualized environments on your laptop/desktop.

1. Install VirtualBox 4

2. Install ruby, rubygems, vagrant

3. Config uses maverick, chef, debs

$ sudo gem install vagrant --pre$ git clone git://github.com/ansolabs/openstack-cookbooks -b devpackages$ mkdir aptcache; mkdir chef; cd chef$ curl -o Vagrantfile https://gist.github.com/raw/786945/solo.rb$ vagrant up

Page 14: Baylisa - Dive Into OpenStack

Demo using vagrant

http://ansolabs.com/deploy

Page 15: Baylisa - Dive Into OpenStack

Digging Innova.sh is a simple script for setting up a development environment for nova.

1. Install Maverick (in a VM or physical box)

2. Download & run nova.sh

3. Code, test, commit, repeat!

$ curl -O https://github.com/vishvananda/novascript/raw/master/nova.sh$ chmod 755 nova.sh$ ./nova.sh branch$ ./nova.sh install$ sudo ./nova.sh run

Page 16: Baylisa - Dive Into OpenStack

Demo using nova.sh

http://ansolabs.com/deploy

Page 17: Baylisa - Dive Into OpenStack

Getting Physical

Page 18: Baylisa - Dive Into OpenStack

Hardware SelectionOpenStack is designed to run on industry standard hardware, with flexible configurations

Computex86 Server (Hardware Virt. recommended)

Storage flexible (Local, SAN, NAS)

Object Storagex86 Server (other architectures possible)

Do not deploy with RAID (can use controller for cache)

Page 19: Baylisa - Dive Into OpenStack

Server Vendor SupportFind out how much configuration your hardware

vendor can provideBasic needs

BIOS settings (hardware virtualization)Network boot IP on IPMI card

Advanced supportHost OS installation

Still get management network IP via DHCP

Page 20: Baylisa - Dive Into OpenStack

Network Device ConfigurationBuild in a manner that requires minimal change

Lay out addressing in a block based model Go to L3 from the top of rack uplink

Keep configuration simpleMore bandwidth is better than advanced QoS Let the compute host machines create logical

zones

Page 21: Baylisa - Dive Into OpenStack

Host NetworkingDHCP for the management network

Infinite leasesBase DNS on IP

pod-a-10-241-61-8.example.orgOpenStack Compute handles IP provisioning for all

guest instancesCloud deployment tools only need to setup

management IPs

Page 22: Baylisa - Dive Into OpenStack

Host OS Seed InstallationBOOTP / TFTP – Simple to configure

Security must be handled outside of TFTPHost node must be able to reach management

system via broadcast request Top of rack router can be configured to forward

GPXENot all hardware supports Better concurrent install capability than TFTP

Page 23: Baylisa - Dive Into OpenStack

Host OS InstallationBuilding a configuration based on a scripted

installation is better than a monolithic “golden image”Preseed for Ubuntu / Debian hosts Kickstart for Fedora / CentOS / RHEL hosts YaST for SUSE / SLES hosts Remote bootstrapping for XenServer / Hyper-V

hosts

Scripted configuration allows for incremental updates with less effort

Page 24: Baylisa - Dive Into OpenStack

Post OS ConfigurationUtilize a configuration management solution

Puppet: lp:nova contrib/puppet Chef: http://github.com/ansolabs/openstack-cookbooks Cfengine: patches welcome

Create roles to scale out controller infrastructure Support: Queue, Database, LDAP Interfaces: API controllers Workers: Compute, Storage, Networking

Automate registration of new host machines Base the configuration to run on management net IP

Page 25: Baylisa - Dive Into OpenStack

Maintain your cloud using technologies you already use to maintain your datacenter(s)Nagios – alertingGanglia – performanceSyslog – log aggregation

Splunk / Ossec

Monitoring

Page 26: Baylisa - Dive Into OpenStack

Coming SoonIPv6 support

Live migration

Puppet deployment tools

Snapshotting

Ceph, SheepDog block storage support

Web UI

Network refactor to use open vswitch

Page 27: Baylisa - Dive Into OpenStack

Thanks!

Questions? Answers?

Get started at http://ansolabs.com/deploy

Some content “stolen” from

http://www.slideshare.net/bpiatt/openstack-tutorial

Page 28: Baylisa - Dive Into OpenStack
Page 29: Baylisa - Dive Into OpenStack

LDAP Data Store

Ubuntu OS

Puppet

PXE

Cloud Node

RabbitMQ

SQL DB / KVS

Scheduler

HTTP API

Page 30: Baylisa - Dive Into OpenStack

Ubuntu OS

Puppet

KVM

LibVirt

802.1(q)

Brctl

PXE

Project VLAN

Running Instance

Compute Node

Page 31: Baylisa - Dive Into OpenStack

Ubuntu OS

Puppet

LVM

iSCSI

PXE

Exported Volume

Volume Node

Page 32: Baylisa - Dive Into OpenStack

Ubuntu OS

Puppet802.1(q

)

Brctl

PXE

Project VLAN

Network Node

IPTables

Public Internet

Page 33: Baylisa - Dive Into OpenStack
Page 34: Baylisa - Dive Into OpenStack