Ceph Object Store

6.530 Aufrufe

Veröffentlicht am

Oder: Wie speicher man terabyteweise Dokumente.

Mein Talk auf der data2day in Karlsruhe, 28.11.2014.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
6.530
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4.323
Aktionen
Geteilt
0
Downloads
19
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Ceph Object Store

  1. 1. Ceph Object Store oder: Wie speichert man terabyteweise Dokumente Daniel Schneller daniel.schneller@centerdevice.de @dschneller
  2. 2. Wer sind wir?
  3. 3. @dschneller @drivebytesting
  4. 4. Was machen wir?
  5. 5. Wo kamen wir her?
  6. 6. Warum wollten wir da weg?
  7. 7. Wohin wollten wir?
  8. 8. Und der Weg?
  9. 9. Ceph Grundlagen
  10. 10. “Unified, distributed storage system designed for excellent performance, reliability and scalability”
  11. 11. Stark skalierbar Commodity Hardware Kein Single Point of Failure
  12. 12. Ceph Komponenten
  13. 13. OSD Daemons Object Storage Device Daemons
  14. 14. CRUSH Algorithmus Intelligente Objektverteilung ohne zentrale Metadaten
  15. 15. RADOS Reliable Autonomous Distributed Object Store
  16. 16. Objekte
  17. 17. Data Pools Sammelbecken für Objekte mit gleichen Anforderungen
  18. 18. Placement Groups
  19. 19. Monitors Erste Anlaufstelle für Clients
  20. 20. Hardware Setup
  21. 21. Storage Virtualization Bare Metal Hardware Compute Virtualization Network Virtualization Virtual Infrastructure Application
  22. 22. Storage Virtualization Bare Metal Hardware Compute Virtualization Network Virtualization Virtual Infrastructure Application
  23. 23. Baseline Benchmarks Erwartungen definieren
  24. 24. Storage Disk I/O pro Node
  25. 25. Netzwerk
  26. 26. 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 ... ...
  27. 27. IEEE 802.3ad != IEEE 802.3ad [node01] > iperf -s -B node01.ceph-cluster [node02] > iperf -c node01.ceph-cluster -P 2 [node03] > iperf -c node01.ceph-cluster -P 2 ------------------------------------------------------------ Server listening on TCP port 5001 Binding to local address node01.ceph-cluster TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 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
  28. 28. IEEE 802.3ad != IEEE 802.3ad [node01] > iperf -s -B node01.ceph-cluster [node02] > iperf -c node01.ceph-cluster -P 2 [node03] > iperf -c node01.ceph-cluster -P 2 ------------------------------------------------------------ Server listening on TCP port 5001 Binding to local address node01.ceph-cluster TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 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 ???
  29. 29. Messen! …und die Ergebnisse verstehen
  30. 30. CenterDevice
  31. 31. Gesamtarchitektur Node 1 OSD 1 … … Node 2 … … … Node 3 … … … Node 4 … OSD 48 … Bare Metal Ceph
  32. 32. Gesamtarchitektur Node 1 OSD 1 … … Rados GW Node 2 … … … Rados GW Node 3 … … … Rados GW Node 4 … OSD 48 … Rados GW Bare Metal Ceph
  33. 33. Gesamtarchitektur Node 1 OSD 1 … … Rados GW Node 2 … … … Rados GW Node 3 … … … Rados GW Node 4 … OSD 48 … Rados GW VM 1 HAProxy VM 1 HAProxy VM 1 HAProxy VM … HAProxy VMs Bare Metal Ceph
  34. 34. Gesamtarchitektur Node 1 OSD 1 … … Rados GW Node 2 … … … Rados GW Node 3 … … … Rados GW Node 4 … OSD 48 … Rados GW VMs Bare Metal VM 1 Ceph HAProxy CenterDevice Swift VM 1 HAProxy CenterDevice Swift VM 1 HAProxy CenterDevice Swift VM … HAProxy CenterDevice Swift
  35. 35. Vorteile
  36. 36. Nachteile
  37. 37. Caveats
  38. 38. CephFS Not recommended for production data.
  39. 39. Scrubbing Integrität hat ihren Preis. Aber man kann handeln!
  40. 40. Zukunft
  41. 41. Rados Gateway Ceph Caching Tier SSD based Journaling 10GBit/s Networking
  42. 42. Zum Schluss
  43. 43. Folien bei Slideshare http://www.slideshare.net/dschneller
  44. 44. Handout bei CenterDevice https://public.centerdevice.de/399612bf-ce31-489f- bd58-04e8d030be52
  45. 45. @drivebytesting @dschneller
  46. 46. Ende Daniel Schneller daniel.schneller@centerdevice.de @dschneller

×