Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Private Cloud mit Ceph
und OpenStack
Daniel Schneller
daniel.schneller@centerdevice.de
@dschneller
Lukas Pustina
lukas.pus...
Aus dem täglichen Wahnsinn des Cloud Betriebs
Wer sind wir?
@dschneller
@drivebytesting
Was machen wir?
Wo kamen wir her?
Warum wollten wir
davon weg?
Wohin wollten wir?
Private Cloud
Hardwareabstraktion
Bare Metal Hardware
Virtual Environment
Application
Virtualization
Storage NetworkCompute
Bare Metal Hardware
Baseline Benchmarks
Erwartungen definieren
Storage
Disk I/O pro Node
Netzwerk
IEEE 802.3ad != IEEE 802.3ad
> cat /etc/network/interfaces
...
auto bond2
iface bond2 inet manual
bond-slaves p2p3 p2p4 # ...
[node01] > iperf -s -B node01.ceph-cluster
[node02] > iperf -c node01.ceph-cluster
[node03] > iperf -c node01.ceph-cluster
Storage
“Unified, distributed storage system designed for
excellent performance, reliability and scalability”
Hoch skalierbar
Commodity Hardware
Kein Single Point of Failure
Ceph Komponenten
OSD Daemons
Object Storage Device Daemons
Ceph Benchmark
Virtualisierung
OpenStack Komponenten
CenterDevice
Gesamtarchitektur
Bare Metal
Ceph
Node 1 Node 2 Node 3 Node 4
OSD 1
…
…
…
…
…
…
…
…
…
OSD 48
…
Node 5
Node 1 Node 2 Node 3 Node 4
CD-VM1
VMs
Bare Metal
Ceph
Node 6
CD-VM2
Node 7
CD-VM3
Node 8
CD-VM4
ES Mo
CD CD
ES Mo
...
Node 5
Node 3Node 1
Rados GW
Node 2
Rados GW Rados GW
Node 4
Rados GW
CD-VM1
VMs
Bare Metal
Ceph
Node 6
CD-VM2
Node 7
CD-V...
Node 5
Node 1
Rados GW
Node 2
Rados GW
Node 3
Rados GW
Node 4
Rados GW
CD-VM1
HAProxyVMs
Bare Metal
Ceph
Node 6
CD-VM2
Nod...
Node 5
Node 1
Rados GW
Node 2
Rados GW
Node 3
Rados GW
Node 4
Rados GW
CD-VM1
HAProxyVMs
Bare Metal
Ceph
Node 6
CD-VM2
Nod...
Vorteile
Nachteile
Hardware Caveats
Bonding Modes
Halbe Kraft voraus!
[node01] > iperf -s -B node01.ceph-cluster
[…]
[ 4] local 10.102.5.11 port 5001 connecte...
Bonding Modes
Halbe Kraft voraus!
CAUTION
TRUST

NOTHING!
CAUTION
MEASURE

EVERYTHING!
Bonding und VLANs
Ein Switch als Weihnachtsbaum
Bonding und VLANs
Ein Switch als Weihnachtsbaum
01: Handle up event of interface Po4
02: VPC Po4(VPC ID: 4) UP on self. In...
Bonding und VLANs
Ein Switch als Weihnachtsbaum
CAUTION
TRUST

NOTHING!
CAUTION
FIRMWARE
FAILS, TOO!
BIOS Updates
3 Betriebssysteme und diverse Gigabytes
BIOS Updates
3 Betriebssysteme und diverse Gigabytes
CAUTION
KNOW THE

TOOLCHAIN!
Ceph Caveats
Scrubbing
Integrität hat ihren Preis.
CAUTION
DISK I/O

INTENSIVE!
CAUTION
SCHEDULE

MANUALLY!
RADOS Gateway
Use as recommended for maximum happiness
CAUTION
OBEY USER

LIMITS!
CAUTION
KNOW THE
CONFIG
CAUTION
NO SNAPS...
OpenStack Caveats
Netzwerk – Total trivial
Node 5
CD-VM1
Node 6
CD-VM2
Node 7
LB1
HAProxy
…
Node 8
LB2
HAProxy
…
Der Wolf im Netzpelz
Netzwerk – Total trivial
Der Wolf im Netzpelz
https://openstack.redhat.com/Networking_in_too_much_detail
Netzwerk – Total trivial
Der Wolf im Netzpelz
VHOST_NET_ENABLED=0
# To load the vhost_net module, which in some cases can ...
Netzwerk – Total trivial
Der Wolf im Netzpelz
# To load the vhost_net module, which in some cases can speed up
# network p...
Netzwerk – Total trivial
Der Wolf im Netzpelz
# To load the vhost_net module, which in some cases can speed up
# network p...
Live Migration
“Der sich den Wolf patcht”
CAUTION
CHECK BUG

TRACKERS!
CAUTION
YOU’RE NOT

DEFAULT!
Heat Stacks
Ein Wolf kommt selten allein
CAUTION
CHECK BUG

TRACKERS!
CAUTION
YOU’RE NOT

THE DEFAULT!
Fazit
Fazit
http://bit.ly/1FktZok #AllesKaputt
Aber OpenSource ermöglicht Selbsthilfe.
Zum Schluss
Folien bei Slideshare
http://www.slideshare.net/dschneller
http://www.cloudfibel.de
codecentricCloudFibel1.2015
PRAXIS AUS DEM NÄHKÄSTCHENÜBERBLICK
6 OPENSTACK - PRIVATSACHE
18 DOCKE...
Blog Posts
• https://blog.codecentric.de/en/2015/03/true-kvm-live-migration-openstack-
icehouse-ceph-based-vm-storage/
• h...
Vielen Dank.
Daniel Schneller
daniel.schneller@centerdevice.de
@dschneller
Dr. Lukas Pustina
lukas.pustina@centerdevice.de...
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Upcoming SlideShare
Loading in …5
×

Private Cloud mit Ceph und OpenStack

5,306 views

Published on

Wie baut man ein privates Amazon AWS mit Open Source? In diesem Vortag wird die Realisierung einer privaten Cloud vom Konzept bis hin zum Produktivsystem vorgestellt. Amazon hat mit AWS diese Idee als Public Cloud für die breite Öffentlichkeit zugänglich gemacht. Es gibt jedoch gute Gründe eine eigene, private Cloud zu bauen. Diese Gründe können Sicherheitsbedenken und rechtliche Kriterien sein. Dr. Lukas Pustina und Daniel Schneller von der codecentric AG haben für das Startup CenterDevice eine private Cloud realisiert. In diesem Vortrag werden konkret Konzepte, Entscheidungen und Probleme erläutert. Dabei wird auch die ein oder andere Anekdote aus dem täglichen Wahnsinn der Cloud Administration nicht fehlen. Anhand spezifischer Anforderungen werden die eingesetzten Komponenten Ubuntu Linux, Ansible, Ceph und OpenStack eingeführt.

Slides unseres Talks auf der DevOps Conference 2015 in Berlin.

Published in: Technology
  • Be the first to comment

Private Cloud mit Ceph und OpenStack

  1. 1. Private Cloud mit Ceph und OpenStack Daniel Schneller daniel.schneller@centerdevice.de @dschneller Lukas Pustina lukas.pustina@centerdevice.de @drivebytesting
  2. 2. Aus dem täglichen Wahnsinn des Cloud Betriebs
  3. 3. Wer sind wir?
  4. 4. @dschneller @drivebytesting
  5. 5. Was machen wir?
  6. 6. Wo kamen wir her?
  7. 7. Warum wollten wir davon weg?
  8. 8. Wohin wollten wir?
  9. 9. Private Cloud
  10. 10. Hardwareabstraktion
  11. 11. Bare Metal Hardware Virtual Environment Application Virtualization Storage NetworkCompute
  12. 12. Bare Metal Hardware
  13. 13. Baseline Benchmarks Erwartungen definieren
  14. 14. Storage Disk I/O pro Node
  15. 15. Netzwerk
  16. 16. IEEE 802.3ad != IEEE 802.3ad > cat /etc/network/interfaces ... auto bond2 iface bond2 inet manual bond-slaves p2p3 p2p4 # interfaces to bond bond-mode 802.3ad # activate LACP bond-miimon 100 # monitor link health bond-xmit_hash_policy layer3+4 # use Layer 3+4 for link selection pre-up ip link set dev bond2 mtu 9000 # set Jumbo Frames auto vlan-ceph-clust iface vlan-ceph-clust inet static pre-up ip link add link bond2 name vlan-ceph-clust type vlan id 105 pre-up ip link set dev vlan-ceph-clust mtu 9000 # Jumbo Frames post-down ip link delete vlan-ceph-clust address ... netmask ... network ... broadcast ... ...
  17. 17. [node01] > iperf -s -B node01.ceph-cluster [node02] > iperf -c node01.ceph-cluster [node03] > iperf -c node01.ceph-cluster
  18. 18. Storage
  19. 19. “Unified, distributed storage system designed for excellent performance, reliability and scalability”
  20. 20. Hoch skalierbar Commodity Hardware Kein Single Point of Failure
  21. 21. Ceph Komponenten
  22. 22. OSD Daemons Object Storage Device Daemons
  23. 23. Ceph Benchmark
  24. 24. Virtualisierung
  25. 25. OpenStack Komponenten
  26. 26. CenterDevice
  27. 27. Gesamtarchitektur Bare Metal Ceph Node 1 Node 2 Node 3 Node 4 OSD 1 … … … … … … … … … OSD 48 …
  28. 28. Node 5 Node 1 Node 2 Node 3 Node 4 CD-VM1 VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  29. 29. Node 5 Node 3Node 1 Rados GW Node 2 Rados GW Rados GW Node 4 Rados GW CD-VM1 VMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  30. 30. Node 5 Node 1 Rados GW Node 2 Rados GW Node 3 Rados GW Node 4 Rados GW CD-VM1 HAProxyVMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 HAProxy HAProxyHAProxy ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  31. 31. Node 5 Node 1 Rados GW Node 2 Rados GW Node 3 Rados GW Node 4 Rados GW CD-VM1 HAProxyVMs Bare Metal Ceph Node 6 CD-VM2 Node 7 CD-VM3 Node 8 CD-VM4 HAProxy HAProxyHAProxy ES Mo CD CD ES Mo CD CD ES Mo CD CD ES Mo CD CD Node … VM … VM … Gesamtarchitektur OSD 1 … … … … … … … … … OSD 48 …
  32. 32. Vorteile
  33. 33. Nachteile
  34. 34. Hardware Caveats
  35. 35. Bonding Modes Halbe Kraft voraus! [node01] > iperf -s -B node01.ceph-cluster […] [ 4] local 10.102.5.11 port 5001 connected with 10.102.5.12 port 49412 [ 5] local 10.102.5.11 port 5001 connected with 10.102.5.12 port 49413 [ 6] local 10.102.5.11 port 5001 connected with 10.102.5.13 port 59947 [ 7] local 10.102.5.11 port 5001 connected with 10.102.5.13 port 59946 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 342 MBytes 286 Mbits/sec [ 5] 0.0-10.0 sec 271 MBytes 227 Mbits/sec [SUM] 0.0-10.0 sec 613 MBytes 513 Mbits/sec [ 6] 0.0-10.0 sec 293 MBytes 246 Mbits/sec [ 7] 0.0-10.0 sec 338 MBytes 283 Mbits/sec [SUM] 0.0-10.0 sec 631 MBytes 529 Mbits/sec ???
  36. 36. Bonding Modes Halbe Kraft voraus! CAUTION TRUST
 NOTHING! CAUTION MEASURE
 EVERYTHING!
  37. 37. Bonding und VLANs Ein Switch als Weihnachtsbaum
  38. 38. Bonding und VLANs Ein Switch als Weihnachtsbaum 01: Handle up event of interface Po4 02: VPC Po4(VPC ID: 4) UP on self. Inform peer to program peer-link to BLOCK traffic 03: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 4 04: Handle down event of interface Po2 05: VPC Po2(VPC ID: 2) DOWN on self. Inform peer to program peer-link to ALLOW traffic 06: Handle up event of interface Po2 07: VPC Po2(VPC ID: 2) UP on self. Inform peer to program peer-link to BLOCK traffic 08: Handle down event of interface Po42 09: VPC Po42(VPC ID: 42) DOWN on self. Inform peer to program peer-link to ALLOW traffic 10: Handle up event of interface Po42 11: VPC Po42(VPC ID: 42) UP on self. Inform peer to program peer-link to BLOCK traffic 12: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 42 13: Received control message of type MLAG_INTERFACE_UP, for VPC ID 14 14: Handle down event of interface Po16 15: VPC Po16(VPC ID: 16) DOWN on self. Inform peer to program peer-link to ALLOW traffic 16: Received control message of type MLAG_INTERFACE_DOWN, for VPC ID 39 17: Received control message of type MLAG_INTERFACE_UP, for VPC ID 42 […]
  39. 39. Bonding und VLANs Ein Switch als Weihnachtsbaum CAUTION TRUST
 NOTHING! CAUTION FIRMWARE FAILS, TOO!
  40. 40. BIOS Updates 3 Betriebssysteme und diverse Gigabytes
  41. 41. BIOS Updates 3 Betriebssysteme und diverse Gigabytes CAUTION KNOW THE
 TOOLCHAIN!
  42. 42. Ceph Caveats
  43. 43. Scrubbing Integrität hat ihren Preis. CAUTION DISK I/O
 INTENSIVE! CAUTION SCHEDULE
 MANUALLY!
  44. 44. RADOS Gateway Use as recommended for maximum happiness CAUTION OBEY USER
 LIMITS! CAUTION KNOW THE CONFIG CAUTION NO SNAPS
 ALLOWED!
  45. 45. OpenStack Caveats
  46. 46. Netzwerk – Total trivial Node 5 CD-VM1 Node 6 CD-VM2 Node 7 LB1 HAProxy … Node 8 LB2 HAProxy … Der Wolf im Netzpelz
  47. 47. Netzwerk – Total trivial Der Wolf im Netzpelz https://openstack.redhat.com/Networking_in_too_much_detail
  48. 48. Netzwerk – Total trivial Der Wolf im Netzpelz VHOST_NET_ENABLED=0 # To load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. $ cat /etc/default/qemu-kvm
  49. 49. Netzwerk – Total trivial Der Wolf im Netzpelz # To load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. VHOST_NET_ENABLED=1 $ cat /etc/default/qemu-kvm
  50. 50. Netzwerk – Total trivial Der Wolf im Netzpelz # To load the vhost_net module, which in some cases can speed up # network performance, set VHOST_NET_ENABLED to 1. VHOST_NET_ENABLED=1 $ cat /etc/default/qemu-kvm CAUTION VIRTUAL
 NETWORKS!
  51. 51. Live Migration “Der sich den Wolf patcht” CAUTION CHECK BUG
 TRACKERS! CAUTION YOU’RE NOT
 DEFAULT!
  52. 52. Heat Stacks Ein Wolf kommt selten allein CAUTION CHECK BUG
 TRACKERS! CAUTION YOU’RE NOT
 THE DEFAULT!
  53. 53. Fazit
  54. 54. Fazit http://bit.ly/1FktZok #AllesKaputt Aber OpenSource ermöglicht Selbsthilfe.
  55. 55. Zum Schluss
  56. 56. Folien bei Slideshare http://www.slideshare.net/dschneller
  57. 57. http://www.cloudfibel.de codecentricCloudFibel1.2015 PRAXIS AUS DEM NÄHKÄSTCHENÜBERBLICK 6 OPENSTACK - PRIVATSACHE 18 DOCKER - DIENSTE IN CONTAINERN 29 CEPH - MÄCHTIG FLEXIBEL 42 ANSIBLE - EINFACH LEISTUNGSFÄHIG 58 DOCKER TOOLS 68 CEPH BENCHMARKS 74 HARDWARE FÄLLT AUS 78 NEVER CHANGE A RUNNING SYSTEM 80 PROVISIONIERUNG VON IAAS CLOUDS 86 JINJA2 FÜR BESSERE ANSIBLE TEMPLATES 93 SSH ZWEIFAKTOR-AUTHENTIFIZIERUNG 100 EIN OPENSTACK-KRIMI
  58. 58. Blog Posts • https://blog.codecentric.de/en/2015/03/true-kvm-live-migration-openstack- icehouse-ceph-based-vm-storage/ • https://blog.codecentric.de/en/2014/06/provisioning-iaas-clouds-dynamic-ansible- inventories-openstack-metadata/ • https://blog.codecentric.de/en/2014/08/jinja2-better-ansible-playbooks-templates/ • https://blog.codecentric.de/en/2014/06/ansible-simple-yet-powerful-automation/ • https://blog.codecentric.de/en/2014/09/openstack-crime-story-solved-tcpdump- sysdig-iostat-episode-1/ • https://blog.codecentric.de/en/2014/12/haproxy-http-header-rate-limiting/ • https://blog.codecentric.de/en/2014/12/centerdevice-cloud-architecture-revisited/ • https://blog.codecentric.de/en/2013/12/never-change-running-system-wrong/ • https://blog.codecentric.de/en/2013/11/hardware-will-fail-just-way-expect/
  59. 59. Vielen Dank. Daniel Schneller daniel.schneller@centerdevice.de @dschneller Dr. Lukas Pustina lukas.pustina@centerdevice.de @drivebytesting

×