Ceph Object Store

5.044 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
5.044
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3.257
Aktionen
Geteilt
0
Downloads
10
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. Application Virtual Infrastructure Network Virtualization Compute Virtualization Storage Virtualization Bare Metal Hardware
  22. 22. Application Virtual Infrastructure Network Virtualization Compute Virtualization Storage Virtualization Bare Metal Hardware
  23. 23. Baseline Benchmarks Erwartungen definieren
  24. 24. Storage Disk I/O pro Node
  25. 25. Netzwerk
  26. 26. > 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 IEEE vlan-802.3ad ceph-clust != IEEE 802.3ad 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. [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 [ 6] IEEE local 802.3ad 10.102.5.11 != IEEE port 802.3ad 5001 connected with 10.102.5.12 port 49413 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. [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 [ 6] IEEE local 802.3ad 10.102.5.11 != IEEE port 802.3ad 5001 connected with 10.102.5.12 port 49413 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 OSD 1 … … Node 1 … … … Node 2 … … … Node 3 … … OSD 48 Node 4 Ceph Bare Metal
  32. 32. Gesamtarchitektur Rados GW OSD 1 … … Node 1 Rados GW … … … Node 2 Rados GW … … … Node 3 Rados GW … … OSD 48 Node 4 Ceph Bare Metal
  33. 33. Gesamtarchitektur Rados GW OSD 1 … … Node 1 Rados GW … … … Node 2 Rados GW … … … Node 3 Rados GW … … OSD 48 Node 4 VM 1 HAProxy VM 1 HAProxy VM 1 HAProxy VM … HAProxy VMs Ceph Bare Metal
  34. 34. Gesamtarchitektur CenterDevice Swift Rados GW OSD 1 … … Node 1 CenterDevice Swift Rados GW … … … Node 2 CenterDevice Swift Rados GW … … … Node 3 CenterDevice Swift Rados GW … … OSD 48 Node 4 VMs Bare Metal VM 1 Ceph HAProxy VM 1 HAProxy VM 1 HAProxy VM … HAProxy
  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

×