OpenStack in der Praxis B1 Systems GmbH http://www.b1-systems.de c B1 Systems GmbH 2006 2011 Chapter -1, Slide 1
Cloudcomputing c B1 Systems GmbH 2006 2011 Chapter 0, Slide 1
XaaS c B1 Systems GmbH 2006 2011 Chapter 0, Slide 2
XaaS c B1 Systems GmbH 2006 2011 Chapter 0, Slide 3
Gründe für eine OpenSource Cloudlösung Open Source: Entwicklung eines Standards Open Design: Eliminierung von Vendor Lock-In, Interobilität zwischen Clouds, Umzug und Zusammenlegung von Clouds Open Development: mehr Teilnehmer, schnellere Entwicklung c B1 Systems GmbH 2006 2011 Chapter 0, Slide 4
OpenStack c B1 Systems GmbH 2006 2011 Chapter 1, Slide 5
Gründer und Community Rackspace Hosting, spezialisiert auf Cloudhosting NASA Raumfahrtbehörde der USA Community > 150 aktive Entwickler in der Community > 50 Firmen unterstützen das Projekt c B1 Systems GmbH 2006 2011 Chapter 1, Slide 6
Geschichte März 2010: Rackspace entscheidet Cloud Software als OpenSource freizugeben Mai 2010: Nasa gibt Nebula als OpenSource frei Juni 2010: Nasa und Rackspace gründen OpenStack Juli 2010: erster öentlicher Design Summit in Austin, TX Oktober 2010: Austin - erstes OpenStack Release Februar 2011: Bexar Release 14. April 2011: Cactus Release c B1 Systems GmbH 2006 2011 Chapter 1, Slide 7
OpenStack - die 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. OpenStack Mission Statement: http://openstack.org/projects/openstack-faq/ c B1 Systems GmbH 2006 2011 Chapter 1, Slide 8
Prinzipien Open Source: Apache 2.0 Lizenz, kein Open-Core Modell, keine Enterprise Version Open Design: Designsummit alle 6 Monate, jeder kann Blueprints einreichen Open Development: oenes SourceCode-Repo, Launchpad Projekthosting, Oene Code Reviews, modulares Design Open Community: Diskussionen auf öentlichen Kanälen, Transparenz der Entscheidungen,gute Dokumentation c B1 Systems GmbH 2006 2011 Chapter 1, Slide 9
Nova und Swift OpenStack besteht momentan aus 2 Hauptprojekten. Compute aka. Nova - ist der von der Nasa eingebrachte Infrastruktur-Verwaltungs-Teil der die Bereitstellung von VMs auf Standard Hardware bei maximaler Skalierbarkeit verwalten soll. Object Storage aka. Swift - ist der von Rackspace aus Cloud Files hervorgegangene Storage Dienst, der zuverlässig und skalierbar Milliarden an Objekten auf Standardhardware bereitstellen soll. c B1 Systems GmbH 2006 2011 Chapter 2, Slide 10
OpenStack Object Storage aka. Swift Object Storage - keine Blockdevices vollständig modular - massiv skalierbar REST Interface keine Gröÿenlimits stabil für Produktiveinsatz automatische Redundanz und Failover kein SPOF Standardhardware Raid nicht nötig c B1 Systems GmbH 2006 2011 Chapter 2, Slide 11
OpenStack Object Storage - Swift - Aufbau Komponenten Proxy Server Zugang von Aussen Storage Server Accounts, Container, Objekte Tool Server Updater, Auditor... Funktionsweise Objekte in Ringen Zuordnung von Namen <> Storage Objekten Availibility Zones Aufteilung gegen Hardwareausfall Rsync Replikation SQLlite xattr's c B1 Systems GmbH 2006 2011 Chapter 2, Slide 12
OpenStack Compute - Nova Erstellung und Verteilung von VMs EC2 und OpenStack API schnelle Entwicklung gute Skalierbarkeit c B1 Systems GmbH 2006 2011 Chapter 2, Slide 13
Aufbau OpenStack Compute c B1 Systems GmbH 2006 2011 Chapter 2, Slide 14
the big picture c B1 Systems GmbH 2006 2011 Chapter 2, Slide 15
In der Praxis in der Praxis c B1 Systems GmbH 2006 2011 Chapter 3, Slide 16
Hardwareauswahl Compute und Swift Compute Standard x86 Server exible Speicherkonguration (lokal, SAN, NAS..) ObjectStorage Standard x86 Server lokale Platten, kein Raid c B1 Systems GmbH 2006 2011 Chapter 3, Slide 17
Node Deployment Hardwarebereitstellung(Server, Netzwerk, Strom) Remote Management(ILO, IPMI, etc...) Netzwerkverbindung(statisch oder DHCP) Betriebssysteminstallation(Preseed, Kickstart, autoyast) Konguration(puppet, chef, cfengine) c B1 Systems GmbH 2006 2011 Chapter 3, Slide 18
Betriebssystemkonguration in den VMs vorkongurierte Images Kongurationsmanagement(puppet, chef, cfengine) c B1 Systems GmbH 2006 2011 Chapter 3, Slide 19
Benutzermanagement Users public und secret Key pro Benutzer Role based Access Admin, NetAdmin, ProjectMan... Projekte jeweils VLANs, Volumes, Quotas, Instances, Images, Keys... c B1 Systems GmbH 2006 2011 Chapter 3, Slide 20
Netzwerk Flat Modus Flat Modus mit DHCP VLAN Modus mit DHCP c B1 Systems GmbH 2006 2011 Chapter 3, Slide 21
Netzwerkzugri Securitygroups Sammlung von Nezwerkregeln Gruppenänderungen werden sofort umgesetzt für alle laufenden VMs Cloudpipe VPN Standard Image mit Linux und OpenVPN Projektbasierter VPN Tunnel in das VLAN des Projekts c B1 Systems GmbH 2006 2011 Chapter 3, Slide 22
Paketierung Entwicklung im Launchpad basiert auf Ubuntu 10.04 LTS alternative Repos für Redhat und Fedora Buildservice Repo für SLES11 SP1 http://download.opensuse.org/repositories/ isv:/b1-systems:/openstack/sle_11_sp1/ c B1 Systems GmbH 2006 2011 Chapter 3, Slide 23
Evaluierung auf Ubuntu 10.04 LTS (oder latest in 11.04) Dokumentation auf docs.openstack.org (wiki, irc) SLES 11 SP1 per Whitepaper Whitepaper unter www.b1-systems.de/whitepaper c B1 Systems GmbH 2006 2011 Chapter 3, Slide 24
Sizing Compute Node 4GB Ram per Core viele CPUs / Cores Storage Node 2GB Ram per Core viele HDDs c B1 Systems GmbH 2006 2011 Chapter 3, Slide 25
Nova - Details OpenStack Compute - Nova c B1 Systems GmbH 2006 2011 Chapter 4, Slide 26
Nova - vom API-Call zur VM Nova - vom API-Call zur VM c B1 Systems GmbH 2006 2011 Chapter 4, Slide 27
Nova - User- und Projektmanagement c B1 Systems GmbH 2006 2011 Chapter 4, Slide 28
Nova - User- und Projektmanagement # nova-manage user admin tux export EC2_ACCESS_KEY=51d36ba0-fab4-4c3f-a904-7e449679bcb9 export EC2_SECRET_KEY=808808c4-7b0b-463c-88f1-6aaf8d3ba572 # nova-manage project create tuxproject tux # nova-manage network create 192.168.3.0/24 1 255 # nova-manage project zipfile tuxproject tuxuser ~ # unzip creds.zip Archive: creds.zip Extracting: novarc extracting: pk.pem Extracting: cert.pem extracting: cacert.pem c B1 Systems GmbH 2006 2011 Chapter 4, Slide 29
Nova - Instanzierungsanforderung c B1 Systems GmbH 2006 2011 Chapter 4, Slide 30
Nova - Instanzierungsanforderung Der Benutzer fordert per EC2 Schnittstelle neue virtuelle Instanzen von Nova-Api an. Per Kommando: euca-run-instances ami-8yiqs0tz -t m1.tiny -k tuxkey -n 20 c B1 Systems GmbH 2006 2011 Chapter 4, Slide 31
Nova - Authentizierungsprozess c B1 Systems GmbH 2006 2011 Chapter 4, Slide 32
Nova - Authentizierungsprozess Nova-Api klärt lokal mit Nova-Auth ab ob der User berechtigt ist die Calls abzusetzen. Nova-Auth versichert sich Bei einem Auth-Provider wie LDAP oder SQL. cat /var/log/nova/api.log: 2011-03-08 15:46:27,553 DEBUG nova.auth.manager [-] Looking up user: u'3df6cde4-eac8-441b-90d9-e2a2260af940' from (pid=9513) authenticate c B1 Systems GmbH 2006 2011 Chapter 4, Slide 33
Nova - Weiterleitung an Scheduler c B1 Systems GmbH 2006 2011 Chapter 4, Slide 34
Nova - Weiterleitung an Scheduler Nova-Api schickt nun die Requests Für die einzelnen Komponenten wie Compute, Network und Volume per AMQP an den Scheduler. cat /var/log/nova/api.log: 2011-03-08 15:46:27,819 DEBUG nova.compute.api [-] Going to run 2 instances... from (pid=9513) create c B1 Systems GmbH 2006 2011 Chapter 4, Slide 35
Nova - Schedulerkommunikation c B1 Systems GmbH 2006 2011 Chapter 4, Slide 36
Nova - Schedulerkommunikation Der Scheduler wählt einen Compute Node aus und startet dort die Ressourcen von Nova-Compute und Nova-Network. cat /var/log/nova/scheduler.log: 2011-03-08 15:52:00,377 DEBUG nova.scheduler.manager [-] Casting to compute bsa5956 for run_instance from (pid=8554) c B1 Systems GmbH 2006 2011 Chapter 4, Slide 37
Nova - Imageübertragung aus dem Objectstore c B1 Systems GmbH 2006 2011 Chapter 4, Slide 38
Nova - Imageübertragung aus dem Objectstore Nova-Compute bezieht das richtige Image für die Inszanz direkt vom Objectstore per http. Er startet dann die Instanz und hängt das root Volume ein. cat /var/log/nova/compute.log: 2011-03-08 15:52:00,477 AUDIT nova.compute.manager [EL86WO-3XLF0FLAQ5ODL admin tux] instance 842: starting... c B1 Systems GmbH 2006 2011 Chapter 4, Slide 39
Nova - Netzwerkinitialisierung c B1 Systems GmbH 2006 2011 Chapter 4, Slide 40
Nova - Netzwerkinitialisierung Nova-Network kümmert sich um die Zuweisung von IP-Adressen und ggf. das Anlegen von VLANs c B1 Systems GmbH 2006 2011 Chapter 4, Slide 41
Nova - Storageanbindung c B1 Systems GmbH 2006 2011 Chapter 4, Slide 42
OpenStack Object Storage - Swift - Aufbau Object Storage massiv skalierbar automatisch Replikation und Fehlerhandling nothing shared Architektur scale in / out c B1 Systems GmbH 2006 2011 Chapter 4, Slide 43
OpenStack Object Storage - Swift - Aufbau Bestandteile Proxy Server Zugang von Aussen Account Server Liste der Container Objekte in SQLLite Container Server Liste der Objects Objekte in SQLLite Object Server Speicherung der Objekte der Ring Zuordnung von Namen <> Storage Objekten Replikation Konsistenz und Fehlerbehandlung Updater abgebrochene oder wartende Updates behandeln Auditor Integritätsprüfung von Storage Objekten c B1 Systems GmbH 2006 2011 Chapter 4, Slide 44
Swift - Availibility Zones c B1 Systems GmbH 2006 2011 Chapter 4, Slide 45
Swift - Ringe c B1 Systems GmbH 2006 2011 Chapter 4, Slide 46
Ausblick Ausblick c B1 Systems GmbH 2006 2011 Chapter 5, Slide 47
Ausblick geplant für Cactus Release: Compute - Livemigration Compute - OpenStack API 1.1 (EC2 weiterhin supported) Compute - LXC Support Compute - userfriendly Names ObjectStorage - Einführung von Verbrauchsstatistiken ObjectStorage - ACL Support ObjectStorage - Performancegewinne Glance - neue Kommandozeileninterface Glance - Support für mehr Containerformate c B1 Systems GmbH 2006 2011 Chapter 5, Slide 48
weitere OpenStack Projekte Core-Projekte: Glance Image Service Entwicklungs-Projekte: OpenStack dashboard Burrow - neuer Message Bus Projekte um OpenStack: Deployment Tools Mobile Phone Clients c B1 Systems GmbH 2006 2011 Chapter 5, Slide 49
Ende OpenStack Ressourcen www.openstack.org docs.openstack.org wiki.openstack.org IRC freenode.org #openstack SLES 11 SP1 per Whitepaper www.b1-systems.de/whitepaper c B1 Systems GmbH 2006 2011 Chapter 6, Slide 50