Unit II
Prof Nikita Mahajan
COEP, Pune
Open Stack
• Open source S/W Project
• Open Stack is a cloud operating system that controls large pools of
compute, storage, and networking resources throughout a
datacenter, all managed and provisioned through APIs with
common authentication mechanisms.
• Contributors:
– NASA: Nebula platform Compute Part
– Rackspace Cloud file: Object Storage on cloud
• Provide IaaS :
What is Open-Stack
Open Stack
What runs on Open-Stack
History of Open-Stack
Is OpenStack just a virtualization
management platform?
• Not quite. There are a lot of similarities, but they're not the
same.
• Yes, OpenStack and virtualization management platforms
both sit on top of virtualized resources
• But while virtualization management platforms make it
easier to manipulate the features and functions of virtual
resources
• OpenStack actually uses the virtual resources to run a
combination of tools.
• These tools create a cloud environment that meets
the National Institute of Standards and Technology's 5
criteria of cloud computing: a network, pooled resources, a
user interface, provisioning capabilities, and automatic
resource control/allocation.
How does Open-Stack work?
• OpenStack is essentially a series of commands
known as scripts.
• Those scripts are bundled into packages called
projects that relay tasks that create cloud
environments.
• In order to create those environments,
OpenStack relies on 2 other types of software:
– Virtualization that creates a layer of virtual resources
abstracted from hardware
– A base operating system (OS) that carries out
commands given by OpenStack scripts
Think about it like this
• OpenStack itself doesn't virtualize resources, but
rather uses them to build clouds.
• OpenStack also doesn’t execute commands, but
rather relays them to the base OS.
• All 3 technologies—OpenStack, virtualization, and
the base OS—must work together.
• That interdependency is why so many OpenStack
clouds are deployed using Linux, which was the
inspiration behind RackSpace and NASA’s
decision to release OpenStack as open
source software.
Open Stack Component (Services)
Open Stack Services
Why open-stack for IaaS cloud
Open-stack
Simple view of how open-stack service
work
Open Stack Services
Keystone
Keystone: Identity/Authentication
• Two way authentication
– Username/ password based -- Token based
• Keystone services:
Token Services Carries authentication information about authenticated user
Catalog Contains lists of available service at user side
Policy Manage access to specific services by specific user
• By default, Keystone is using a database, which is the
MariaDB database, to store information.
Keystone: Identity/Authentication
Keystone: Authentication
Multiple Data-center
Cont.…tomorrow…
THANK YOU
NOVA: COMPUTE
• Management Platform that manages
– compute resources
– networking
– authorization
– scalability needs of the OpenStack cloud.
• Nova does not provide any virtualization capabilities by itself
(It interfaces to the hypervisor, but it is not a hypervisor)
• Nova service processes that are running on the cloud
controller, as well as Nova agents, that are running on the
hypervisor.
• It uses API to interact with supported hypervisors
– XenAPI for XenServer/XCP
– libvirt for KVM or QEMU
– VMwareAPI for VMware
• Nova exposes all its capabilities through a web services API
NOVA Architecture
NOVA COMPONENTS
• API Server (nova-api) : interface for the outside world
to interact with the cloud infrastructure
• Message Queue (rabbit-mq): communicates among
themselves using the message queue [Asynchronous
call]
• Compute Workers (nova-compute): instance
management life cycle
• Network Controller (nova-network) : network
configuration of host machines
• Volume Worker (nova-volume): creation, deletion,
attaching a volume to an instance, and detaching a
volume from an instance
• Scheduler (nova-scheduler): maps the nova-API calls
to the appropriate OpenStack components
NOVA: COMPUTE
Rabbit Mq
Cinder
• Provides ephemeral or persistent storage to
guest VM
• Foundation for storing VM and data used by
that VM
• Manages creation, attaching and detaching of
block devices
• Features
– Clone: copy image to volume and volume to image
– Snapshots of volume, create backup volume
Cinder Components
• cinder-api: Accepts API requests and routes them to cinder-
volume for action.
• cinder-volume: Responds to requests to read from and write
to a block storage database to maintain state by interacting
with other processes,
• cinder-scheduler: Picks the optimal block storage provider
node on which to create the volume.
• Messaging queue: Routes information between Block Storage
Service processes.
AMQP :Advanced Message Queue Protocol
Cinder Architecture
CONT..
THANK YOU…
Block / File/ Object Storage
•increase storage Example: Car
without increasing the valet parking
size or capacity of
server or by
provisioning new
ones.
•mount and format
your drive as regular
drive
What is Object
Difference between Block and Objects
BLOCK STORAGE OBJECT STORAGE
Files are spilt into evenly sized block of data Does not split the files, entire clumps of
with own address data is stored with meta data and unique ID
Edit one part of a file Does not provide incremental edit of file
Data increases to certain level it may run to Solve the problem with increasing data
different issues
Not that protected Protected : multiple copies over distributed
environment [reliability]
Structured data storage Unstructured data storage [static files]
Manage through VM Accessible from anywhere
Why need object storage
SWIFT: Object Storage
• Retrieval : API call (GET,
HTTP..)
• Open-Stack Swift is best
suited to
– backup
– archive unstructured data,
such as documents,
images, audio and video
files, email and virtual
machine images.
• Scalable in term of size
[several PB] and capacity
[No. of objects]
SWIFT: Object Storage
• Proxy Server: Handle all of the
incoming API requests.
• Ring: Map logical names of data to
locations on particular disks[MD5 hash
Technique]
• Partition: A partition stores objects,
account databases, and container
databases and helps manage locations
where data lives in the cluster.
• Zone: A zone could represent a drive, a
server, a cabinet, a switch, or even a
data center.
• Account: list of containers in that
account
• Container: list of objects in that
container
• Objects: Data Itself
SWIFT: Authentication Process
GENERATE RESPONSE
SWIFT: Object Storage
PARTITION
Swift Example
Difference between Swift & Cinder
Basic Networking Concepts
• Ethernet occupies the second layer, which is known as the
data link layer. Can often hear terms such as local
network, layer 2, L2, link layer
• VLAN is a networking technology that enables a single
switch to act as if it was multiple independent switches
• Subnets are used to allocate IP addresses when new ports
are created on a network. If a host’s IP address
is 10.10.53.24/16, then we would say the subnet
is 10.10.0.0/16.
• Dynamic Host Configuration Protocol (DHCP) to
dynamically obtain IP addresses.
• NAT: Network Address Translation; Process of modifying
IP address information while in transit.
• IP occupies the third layer, which is known as the network
layer. When discussing IP, you will often hear terms such
as layer 3, L3, and network layer.
Neutron : Quantum
• API-based Networking as a Service software
system that enables users to manage networks
and IP addresses for OpenStack-based clouds.
• Neutron-server a database for persistent
storage, and any number of plug-in agents
• A large number of networking vendors have
built plug-ins to integrate their hardware and
software with Neutron,
– Cisco,
– VMware-Nicira,….
Why Neutron
Networking was subcomponent of NOVA
Two Key Problems
1. No tenant control over networking (VM anywhere, access any
VLANs : 4096 limit )
2. Limited Network resources
Old Nova Computing
Neutron Features
Neutron Model
Basic API Abstraction
Neutron
View
Neutron Working
Example
• Tenants creates a network(ie.net1)
• Tenant associates a subnet with a
network (i.e subnet 1-10.10.10.0/24)
• Tenant boots an instances,
specifying the network it connect to
(i.e nova boot-nic net-id=<net1 id>)
• Nova contacts Neutron and create a
prot1 on net1
• Neutron assigns an IP address to the
instances (through DHCP Agent)
• Tenant destroy the instances
• Nova contacts Neutron to destroy
port1 associated IP address are
returned to pool.
Neutron- Access from Network
https://www.youtube.com/watch?v=yqFpyubs
YfE
Cont..
THANK YOU
THE END
Neutron Component