OpenStack Tutorial - SALSAHPC |
Transcript of OpenStack Tutorial - SALSAHPC |
![Page 1: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/1.jpg)
Community StackerBret Piatt
OpenStack TutorialIEEE CloudCom 2010
Twitter: @bpiatt
![Page 2: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/2.jpg)
70’s – 80’sMainframe Era
90’s-2000’sClient Server Era
2010-beyondCloud Era
[Based on a Gartner Study]
Application Platforms Undergoing A Major Shift
2010 IT budgets aren’t getting cut....but CIOs expect their spend to go further.
#1 Priority is Virtualization#2 is Cloud Computing
![Page 3: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/3.jpg)
Founded in 1998Publicly traded on NYSE: RAX120,000+ customers
$628m revenue in 2009 across two major businessesDedicated Managed HostingCloud Infrastructure & Apps (Servers, Files, Sites, Email)
Primary focus on customer service ("Fanatical Support")
3,000+ employees
9 datacenters in the US, UK and Hong Kong65,000+ physical servers
Overview of Rackspace
![Page 4: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/4.jpg)
Rackspace Cloud: 3 Products with Solid TractionCompute: Cloud Servers
Virtualized, API-accessible servers with root accessWindows & Linux (many distros)Sold by the hour (CPU/RAM/HDD) with persistent storage Launched 2009Based on SlicehostXen & XenServer HVs
Storage: Cloud FilesLaunched 2008 Object file storev2.0 in May 2010
PaaS: Cloud SitesLaunched 2006Formally MossoCode it & Load it: .Net, PHP, Python apps autoscaled
Source: Guy Rosen (http://www.jackofallclouds.com)
![Page 5: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/5.jpg)
Open ReST APIs released July 2009 (Creative Commons License)Included in major API bindings: Libcloud, Simple Cloud, jclouds, σ-cloudSupported by key cloud vendors and SaaS servicesMarketplace: http://tools.rackspacecloud.com
Active Ecosystem on Rackspace APIs
![Page 6: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/6.jpg)
What is OpenStack?Overview of the project
![Page 7: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/7.jpg)
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 8: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/8.jpg)
OpenStack History
Rackspace Decides to Open Source Cloud Software
March
NASA Open Sources Nebula
Platform
May June July
OpenStack formed b/w Rackspace and
NASA
Inaugural Design Summit in Austin
20102005
Rackspace Cloud
developed
![Page 9: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/9.jpg)
OpenStack History
OpenStack launches with 25+
partners
July
First ‘Austin’ code release with 35+
partners
October November February
First public Design Summit in San
Antonio
Second ‘Bexar’ code release planned
2011
![Page 10: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/10.jpg)
OpenStack Founding Principles
Apache 2.0 license (OSI), open development process
Open design process, 2x year public Design Summits
Publicly available open source code repository
Open community processes documented and transparent
Commitment to drive and adopt open standards
Modular design for deployment flexibility via APIs
![Page 11: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/11.jpg)
Community with Broad Commercial Support
![Page 12: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/12.jpg)
OpenStack Isn't Everything
ConsultantsBusiness Process Automation
Database EngineersOperating System TechniciansSystems Security ProfessionalsNetwork Experts
Servers, Firewalls, Load BalancersOperating SystemsStorageManagement ToolsVirtualization
Data CenterNetworkingPower
![Page 13: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/13.jpg)
Software to provision virtual machines on standard hardware at massive scale
Software to reliably store billions of objects distributed across standard hardware
OpenStack Compute
OpenStack Object Storage
creating open source software to build public and private clouds
![Page 14: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/14.jpg)
OpenStack Release Schedule
Design Summit:April TBA 2011
Cactus: April 15, 2011
Bexar:February 3, 2011
OpenStack Compute ready for enterprise private cloud deployments and mid-size service provider deploymentsEnhanced documentationEasier to install and deploy
Community gathers to plan for next release, likely Fall 2011
OpenStack Compute ready for large service provider scale deploymentsThis is the ‘Rackspace-ready’ release; need to communicate Rackspace support and plans for deployment
![Page 15: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/15.jpg)
Building an OpenStack CloudDatacenter, Hardware, and Process
![Page 16: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/16.jpg)
Business Prerequisites
![Page 17: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/17.jpg)
Technical Prerequisites
![Page 18: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/18.jpg)
Cloud Ready Datacenter Requirements
![Page 19: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/19.jpg)
Bootstrapping Your Physical NodesBootstrapping the Host Machines
![Page 20: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/20.jpg)
Building an OpenStack CloudObject Storage
![Page 21: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/21.jpg)
Zettabyte1,000 Exabytes
1,000,000 PetabytesAll of the data on Earth today(150GB of data per person)
![Page 22: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/22.jpg)
Zettabyte2% OF THE DATA ON EARTH IN 2020
![Page 23: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/23.jpg)
If we stored all of the global data as “an average” enterprise..
..it would take....38.5% of the World GDP!
Data Must Be Stored Efficiently
ITEM MONTHLY FIGURESENTERPRISE AVGERAGE STORAGE COST $1.98 PER GIGABYTEWORLD GDP $5.13 TRILLIONCOST TO STORE A ZETTABYTE $1.98 TRILLION
![Page 24: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/24.jpg)
Object Storage Summary
![Page 25: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/25.jpg)
ReST-based API Data distributed evenly throughout system
Hardware agnostic: standard hardware, RAID not required
Object Storage Key Features
No centraldatabase
Scalable to multiple petabytes, billions of objects
Account/Container/Object structure (not file system, no nesting) plus Replication (N copies of accounts, containers, objects)
![Page 26: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/26.jpg)
System Components
The Ring: Mapping of names to entities (accounts, containers, objects) on disk.
Stores data based on zones, devices, partitions, and replicasWeights can be used to balance the distribution of partitionsUsed 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
![Page 27: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/27.jpg)
System Components (Cont.)
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 28: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/28.jpg)
Software Dependencies
Object Storage should work on most Linux platforms with the following software (main build target for Austin release is Ubuntu 10.04):
Python 2.6rsync 3.0
And the following python libraries:Eventlet 0.9.8WebOb 0.9.8SetuptoolsSimplejsonXattrNoseSphinx
![Page 29: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/29.jpg)
Evolution of Object Storage Architecture
Version 1: Central DB (Rackspace Cloud Files 2008)
Version 2: Fully Distributed (OpenStack Object Storage 2010)
![Page 30: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/30.jpg)
Example Small Scale Deployment
![Page 31: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/31.jpg)
5 Zones2 Proxies per 25
Storage Nodes10 GigE to Proxies
1 GigE to Storage Nodes
24 x 2TB Drivesper Storage Node
Public Internet
Load Balancers (SW)
Example Large Scale Deployment -- Many Configs Possible
Example OpenStack Object Storage Hardware
![Page 32: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/32.jpg)
Building an OpenStack CloudCompute
![Page 33: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/33.jpg)
Asynchronous eventually consistent
communication
ReST-based API
Horizontally and massively scalable
Hypervisor agnostic: support for Xen ,XenServer, Hyper-V,
KVM, UML and ESX is coming Hardware agnostic: standard hardware, RAID not required
OpenStack Compute Key Features
![Page 34: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/34.jpg)
API: Receives HTTP requests, converts commands to/from API format, and sends requests to cloud controller
Cloud Controller: Global state of system, talks to LDAP, OpenStack Object Storage, and node/storage workers through a queue
User Manager
ATAoE / iSCSI
Host Machines: workers that spawn instances
Glance: HTTP + OpenStack Object Storage for server imagesOpenStack Compute
![Page 35: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/35.jpg)
System ComponentsAPI Server: Interface module for command and control requests
Designed to be modular to support multiple APIsIn current release: OpenStack API, EC2 Compatibility ModuleApproved blueprint: Open Cloud Computing Interface (OCCI)
Message Queue: Broker to handle interactions between servicesCurrently based on RabbitMQ
Metadata Storage: ORM Layer using SQLAlchemy for datastore abstraction
In current release: MySQLIn development: PostgreSQL
User Manager: Directory service to store user identitiesIn current release: OpenLDAP, FakeLDAP (with Redis)
Scheduler: Determines the placement of a new resource requested via the API
Modular architecture to allow for optimizationBase schedulers included in Austin: Round-robin, Least busy
![Page 36: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/36.jpg)
System Components (Cont.)Compute Worker: Manage compute hosts through commands received on the Message Queue via the API�
Base features: Run, Terminate, Reboot, Attach/Detach Volume, Get Console Output
Network Controller: Manage networking resources on compute hosts through commands received on the Message Queue via the API
Support for multiple network modelsFixed (Static) IP addressesVLAN zones with NAT
Volume Worker: Interact with iSCSI Targets to manage volumes�Base features: Create, Delete, Establish
Image Store: Manage and deploy VM images to host machines
![Page 37: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/37.jpg)
Hypervisor IndependenceCloud applications should be designed and packaged abstracted from the hypervisor, deploy and test for best fit for your workloadManage application definition and workload, not the machine image
Configuration managementAbstract virtual machine definition
Open Virtualization Format
![Page 38: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/38.jpg)
Network ModelsPrivate VMs on Project VLANs or Public VMs on flat networks
![Page 39: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/39.jpg)
Network DetailsSecurity Group: Named collection of network access rules
Access rules specify which incoming network traffic should be delivered to all VM instances in the groupUsers can modify rules for a group at any time
New rules are automatically enforced for all running instances and instances launched from then on
Cloudpipe: Per project VPN tunnel to connect users to the cloudCertificate Authority: Used for Project VPNs and to decrypt bundled imagesCloudpipe Image: Based on Linux with OpenVPN
![Page 40: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/40.jpg)
Server GroupsDual Quad CoreRAID 10 Drives1 GigE Public1 GigE Private1 GigE Management
Public Network
Private Network(intra data center)
Management
Example OpenStack Compute Hardware
(other models possible)
![Page 41: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/41.jpg)
Example innovation: Simcloud
![Page 43: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/43.jpg)
Backup ContentAdditional Information
![Page 44: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/44.jpg)
Project Technical DocumentationOverall: http://wiki.openstack.org Object Storage (Swift): http://swift.openstack.orgCompute (Nova): http://nova.openstack.org
Project General DocumentationHome Page: http://openstack.org Announcements: http://openstack.org/blog
OpenStack Documentation
![Page 45: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/45.jpg)
OpenStack: Core Open PrinciplesOpen Source: All code will be released under the Apache License allowing the community to use it freely.
Open Design: Every 6 months the development community will hold a design summit to gather requirements and write specifications for the upcoming release.
Open Development: We will maintain a publicly available source code repository through the entire development process. This will be hosted on Launchpad, the same community used by 100s of projects including the Ubuntu Linux distribution.
Open Community: Our core goal is to produce a healthy, vibrant development and user community. Most decisions will be made using a lazy consensus model. All processes will be documented, open and transparent.
![Page 46: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/46.jpg)
Backup ContentBootstrapping a cloud
![Page 47: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/47.jpg)
Hardware Selection
OpenStack 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 48: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/48.jpg)
Server Vendor Support
Find out how much configuration your hardware vendor can provide
Basic needsBIOS settings
Network bootIP on IPMI card
Advanced supportHost OS installation
Still get management network IP via DHCP
![Page 49: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/49.jpg)
Network Device Configuration
Build in a manner that requires minimal changeLay out addressing in a block based modelGo to L3 from the top of rack uplink
Keep configuration simpleMore bandwidth is better than advanced QoSLet the compute host machines create logical zones
![Page 50: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/50.jpg)
Host Networking
DHCP for the management network Infinite leasesBase DNS on IP
Ex. nh-pod-a-10-241-61-8.example.orgOpenStack Compute handles IP provisioning for all guest instances – Cloud deployment tools only need to setup management IPs
![Page 51: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/51.jpg)
Host OS Seed Installation
BOOTP / TFTP – Simple to configureSecurity 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 forwardGPXE
Not all hardware supportsBetter concurrent install capability than TFTP
![Page 52: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/52.jpg)
Host OS Installation
Building a configuration based on a scripted installation is better than a monolithic “golden image”
Preseed for Ubuntu / Debian hostsKickstart for Fedora / CentOS / RHEL hostsYaST for SUSE / SLES hostsRemote bootstrapping for XenServer / Hyper-V hosts
Scripted configuration allows for incremental updates with less effort
![Page 53: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/53.jpg)
Post OS Configuration
Utilize a configuration management solutionPuppet / Chef / Cfengine
Create roles to scale out controller infrastructureQueueDatabaseController
Automate registration of new host machinesBase the configuration to run on management net IP
![Page 54: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/54.jpg)
Backup ContentCompute
![Page 55: OpenStack Tutorial - SALSAHPC |](https://reader036.fdocuments.net/reader036/viewer/2022071600/613d1b9c736caf36b7596713/html5/thumbnails/55.jpg)
Component Architecture Detail