Openstack presentation

Post on 06-May-2015

916 views 1 download

Transcript of Openstack presentation

OpenStackSankalp Jain

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

2

Open Source Cloud Computing Software

Eucalyptus

OpenNebula

OpenStack

Open Stack: A Platform for Innovation

“My UI will be easier to use”

“I need a different VM

placement policy”

“I have a much better way to snapshot machine

images”

“I want to report on my customers

SLAs”

“I’ll build in a way to share

revenue with my customer’s”

“I let my customers span multiple clouds”

What is OpenStack? Originated at NASA, with Rackspace Driven by an open community process

Three existing projects:OpenStack Compute OpenStack Image ServiceOpen Object Storage

Multiple hypervisors: Xen, KVM, ESXi, Hyper-VReleases:

Grizzly: April 2013Folsom: Oct 2012Grizzly : April 2013: CurrentHavana: scheduled for Oct 2013

OpenStack Compute(VMs & VM Networks)

OpenStack Compute(VMs & VM Networks)

OpenStack Image Service (Image Library & Management)

OpenStack Image Service (Image Library & Management)

OpenStack Object Store(Storage)

OpenStack Object Store(Storage)

Open Source Advantages

Leverage the work of a growing community of developers Works across multiple hardware infrastructure Possible to deploy at service providers and on-premise Amazon AWS Interface Compatibility Flexible Clustering and Availability Zones Access Control List (ACL) with policies management Network Management, Security Groups, Traffic Isolation

OpenStack Arhictecture

OpenStack Components (Grizzly Release)

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

9

Keystone Main Functions

• Provides 4 primary services:

– Identity: User information authentication

– Token: After logged in, replace account-password

– Service catalog: Service units registered

– Policies: Enforces different user levels

• Can be backed by different databases.

– LDAP

– SQL

– Key Value Stores (KVS)

10

Keystone: Identity

• User information:

– username/password

– Metadata (e-mail, etc.)

– Tenant - organizes users into projects or group.

– Role - define a user’s role and permissions in a project.

• A user must belong to at least one tenant, and may belong to many tenants

• Roles are assigned to user/tenant pairs

– Common roles: Member, Admin

11

Keystone: Token

• Once a user’s identity has been verified with a acc/pswd pair, a short-lived (24 hr) token is issued.

• Tokens are a stand-in for the acc/pswd.

• OpenStack services hold on to tokens and use them to query keystone during operations.

• For example, once Nova can use a token to determine if an authenticated user has authorization to delete an instance.

12

13

14

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

15

Storage as a Service

• CAPEX to OPEX based business model.

• Manage storage by well-defined set of remotely accessible APIs

• Abstracts the actual storage implementation

• This service offers specialized functions: DR, backup, document sharing, etc.

Using Storage as a Service

• Object

• Block

• File

16

Storage Available

Ephemeral(On-instance) : -Used for running Operating System and scratch space-Persists until VM is terminated-Access associated with a VM-Implemented as a filesystem underlying OpenStack Compute-Administrator configures size setting, based on flavors-Example: 10GB first disk, 30GB/core second diskFor desktop user PC's internal disk drives are ephemeral; persistent storage can be considered similar to an external USB drive.

17

OpenStack Object Storage SwiftWhat Is It?

• Object Storage is ideal for cost effective, scale-out storage. It provides a fully distributed, API-accessible storage platform that can be integrated directly into applications or used for backup, archiving and data retention.

• Store 3 Copies & use for web, media files• In production today

– Rackspace’s Cloud Files,• Architectural overview:

– http://swift.openstack.org/overview_architecture.html

18

Swift

• Object storage, objects “live” on an endpoint.

– An endpoint could be any storage device

• Every object belongs to a user/account pair.

– keystone tenant : swift account

– keystone user : swift user

– keystone role : swift group

• Proxy, Ring, and Workers

• Account, Container, Object

19

←Stores object metadata

↑Stores container / object metadata

↓Physical arrangement

↑ Logical view

← Stores real objects

Duplicated storage, load balancing

Workers can be a account server, a container server, or an object server

24

Cinder

What Is It?• Block Storage allows block devices to be exposed and connected

to compute instances for expanded storage, better performance and integration with enterprise storage platforms.

• OpenStack provides persistent block level storage devices for use with OpenStack compute instances. Can be exposed to applications as well.

• Block storage volumes are fully integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage their own storage needs.

25

Cinder (Contd.) This is block storage (or volumes) and currently there are blueprints

for filesystems like NFS or CIFS share• Used for adding additional persistent storage to a virtual machine

(VM)• Persists until deleted• Access associated with a VM• Mounted via OpenStack Block-Storage controlled protocol (for

example, iSCSI)• Sizings based on need• Example: 1TB "extra hard drive”

26

Cinder Capabilities

Cinder manages block storage Volumes attach to VM Instances Boot from volume Volumes have a lifecycle independent of VM instance Admin can create tiers of storage. e.g. two LVM backends, one

with SSD’s and the other with HDD’s. Users can specify a tier they want when creating a volume. A backup is an archived copy of a Volume stored in a object store. A backup is just the data that was written, unlike a snapshot which

is the entire block.

Cinder call flow

Database Queue

28

Cinder Vol

Cinder Vol

Cinder Vol

Cinder API

C- scheduler

iSCSI NFS

Cinder Service

Cinder-api

Cinder-schedular

Cinder-volume

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

30

Glance

• Image storage and indexing.

• Keeps a database of metadata associated with an image, discover, register, and retrieve.

• Built on top of Swift, images store in Swift

• Two servers:

– Glance-api: public interface for uploading and managing images.

– Glance-registry: private interface to metadata database

• Support multiple image formats

31

32

33

35

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

36

Nova

• Major components:

– API: public facing interface

– Message Queue: Broker to handle interactions between services, currently based on RabbitMQ

– Scheduler: coordinates all services, determines placement of new resources requested

– Compute Worker: hosts VMs, controls hypervisor and VMs when receives cmds on Msg Queue

– Volume: manages permanent storage

37

Nova Messaging and Data

• Messaging is managed through RabbitMQ

– Server that allows messages to be posted to channels.

– Subscribers to channels receive messages.

– Services regularly announce availability.

– Scheduler regularly reads for availability.

– Scheduler makes requests to services.

• Persistent data stored in a database.

– VM metadata, network topology, volume metadata, known services

38

Messaging (RabbitMQ)• Get data from point A to point B

• Decouple publishers and consumers

• Queueing for later delivery

• Load balancing and scalability

• RabbitMQ is an AMQP messaging broker

• Advanced Message Queueing Protocol

• Network wire-level protocol

• Internet protocol - like HTTP, TCP - but ASYNCHRONOUS

39

40

41

44

45

Agenda

• OpenStack Brief Overview

• “Keystone” Identity

• “Storage”

• “Glance” Image

• “Nova” Compute

• “Without Quantum” Networking

• “Quantum” Networking

46

Without Quantum• Originally, Nova handles all networking by:

– Linux bridge networking

– Virtual interfaces connecting network through the physical interface

– Assigns VM IP address

– Fixed IP: Returns when VM shuts down

– Floating IP: Can be reassigned online

• Network Manager provides VN to enable compute servers to interact with each other and the public network

• A Blog states currently 90% Nova bugs are network related

47

Original Network Manager• Each VM network owned by one network host

–Simply a Linux running Nova-network daemon

• Nova Network node is the only gateway

• Flat Network Manager:

–Linux networking bridge forms a subnet

–All instances attached same bridge

–Manually Configure server, controller, and IP

• Flat DHCP Network Manager:

–Add DHCP server along same bridge

• Later: VLAN Network Manager

48

Bridged Networking

• One network card acts as many devices.

• Host does not need an IP address.

• Hypervisor sets virtual MAC address for guest machine.

• ACISS uses bridges, along with Virtual Local Area Networks (VLANs) to segment traffic and assign network addresses.

49

50

The only gatewayWith security measures

Linux running Nova-network daemon

Network host will act as the gateway for all the NICs bridged into that network.VMs bridged in to a raw Ethernet device

51

API for Networking in OpenStack Nova Integration OSI Network Layers L2 + L3 Decouples Logical / Tenant view of the network

from Physical / Provider Provides connectivity to VMs, Decouples logical

/Tenant view of the network from Physical/Provider. Manage OSI Network Layers L2 & L3 with an API.

What does Quantum provide ?

Not yet full-integraded with Dashboard : only L2 is working. L3 should be managed from CLI. Horizon can't manage L3 (routers + floatings IP).

Networking backed by plugins : Open-vSwitch, Linux Bridge, Cisco, OpenFlow (BigSwitch, Floodlight, NEC, Ryu, etc), Midonet (Midokura) and NVP (Nicira /Vmware).

Cont...

The Quantum Openvswitch plugin consists of two components:

• 1) A plugin loaded at runtime by the Quantum service. The plugin processes all API calls and stores the resulting logical network data model and associated network mappings in a database backend .

• 2) An agent which runs on each compute node (i.e., each node running nova-compute). This agent gathers the configuration and mappings from the central mysql database and communicates directly with the local Open vSwitch instance to configure flows to implement the logical data model.

Quantum Openvswitch plugin

Plugin

• The component where the ‘virtual networking’ magic happens. Fulfills API contract by implementing the ‘Plugin Interface’

• Tenants expect same behavior from Quantum API regardless of the particular plugin employed

• Available Quantum Plugins:

– Open vSwitch: Builds isolated networks with OVS and L2-in-L3 tunnels.

– Cisco UCS: Isolation based on VLAN and net-profiles applied to Cisco UCS

– converged network adapters

– Linux Bridge: Build isolated networks with VLAN interfaces and linux bridge

– NTT-Data Ryu: Acts as a proxy for the NTT Ryu platform

– Nicira NVP: Acts as a proxy for the Nicira NVP platform

60

The Quantum Manager

• Nova’s network manager for Quantum. Forwards network related requests.

• Also, provides other network services such as IP address management, DHCP, NAT, Floating IPs…

• Virtual Networking: A label nowadays applied to too many solutions and products.

– Securely partitioning the network

– Defining virtual network topologies

– Automating network provisioning

61

Thanks