Ceph
Distributed Storage
Julian “mino” Klinck
GPN15 - 05.06.2015
2
Julian “mino”
Ceph
!
Karlsruhe
gpn15@lab10.de
twitter.com/julianklinck"
#
$
Interessen:
• Netzwerke
• Hardware
• Cocktai...
3
Julian “mino” Klinck
Ceph
!
Karlsruhe
jklinck@ocedo.com
#
$
Ceph
• Seit 2014
• Storage Lösung für die Company Cloud
4
Inhalt %
1 2 3 4
Einfuehrung Ceph Basics Verteilung
5 6
Sicherheit Q & A
Storage Allgemein Im Speziellen OSD, Monitor, M...
Einführung
Storage Allgemein
&
6
Storage '
Ceph
Die Datenhalde
Benutzer Speicher
7
Storage '
Ceph
Mehrere Benutzer
Benutzer Speicher
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutze...
8
Storage '
Ceph
Mehrere Disks
Benutzer Speicher
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
B...
9
Storage '
Ceph
Darf es etwas mehr sein?
Benutzer Speicher
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer...
10
Storage '
Ceph
Alles eine Skalierungsfrage
Benutzer Speicher
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benu...
11
Storage '
Ceph
Alles eine Skalierungsfrage
Benutzer Speicher
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benutzer
Benu...
12
Ceph '
Überblick
• LGPL 2.1
• Community getrieben
• Skalierbar
• Algorithmus aus Forschungsarbeit
• Kein Single-Point-O...
Basics( Systeme, OSD, MONITOR, MDS
14
Systeme '
Bits und Bytes
RADOS
A reliable, autonomous, distributed object store comprised of self-healing, self-
managi...
15
OSDs '
Bits und Bytes
• Eine Festplatte = Eine OSD
• Datenspeicher
• Replikation
• Recovery
• Backfilling
• Rebelancing...
16
OSDs '
Bits und Bytes
DISK
FS
DISK DISK
OSD
DISK DISK
OSD OSD OSD OSD
FS FS FSFS
btrfs
xfs
ext4
MMM
Quelle:
Ceph
17
MONs '
Cluster Status
• Cluster Mitglieder und Status
• Consensus Verteile Entscheidungen
• Wenige notwendig
• Kein Use...
Datenzugriff
18
LIBRADOS )
• Zugriff fuer alle RADOS Applikationen
• C, C++, Python, PHP, Java, Erlang
• Direkter Zugriff ...
19
RadosGW '
Object Storage
Quelle:
Ceph
20
)
• REST proxy
• Backend
• Rados
• API für
• Buckets
• Accounts
• Accounting
• S3 und Swift Kompatibel
RadosGW
Object S...
21
RBD '
Block Storage
Quelle:
Ceph
22
RBD '
Block Storage
Quelle:
Ceph
23
)
• Festplatten Abbilder
• VMs losgelöst von Hosts
• Abbilder werden verteilt gespeichert (striping)
• Snapshots
• Copy...
24
MDS '
Meta Data Server
Quelle:
Ceph
25
)
• Metadaten für POSIX-Kompatibles Filesystem
• Verzeichnissstruktur
• Dateien Metadaten (Besitzer, Speicherzeit, Rech...
Verteilung( PGs, Crush, Mons
27
CRUSH '
Wenn ihr wirklich richtig steht…
Quelle:
Ceph
28
CRUSH '
Wenn ihr wirklich richtig steht…
Quelle:
Ceph
29
)
• Pseudo-Randomiserter Verteilungs Algo
• Schnell
• Deterministisch und Wiederholbar
• Statistisch gleichverteilt
• S...
30
Copy-on-Write '
Schaufeln wenn es benötigt wird
Quelle:
Ceph
31
Copy-on-Write '
Schaufeln wenn es benötigt wird
Quelle:
Ceph
32
Copy-on-Write '
Schaufeln wenn es benötigt wird
Quelle:
Ceph
33
Copy-on-Write '
Schaufeln wenn es benötigt wird
Quelle:
Ceph
34
Metadata '
Skalierbarkeit
Quelle:
Ceph
35
Metadata '
Skalierbarkeit
Quelle:
Ceph
Sicherheit* Angriffsvektoren
37
Angriffsvektoren *
• Client Cluster Sessions nicht verschlüsselt
• Session Tokens
• Keyrings auf dem MDS
• Pool Separie...
DANKE FÜR DIE AUFMERKSAMKEIT
FRAGEN?
+
ARCAMA
VIEL SPASS AUF DER GPN15
Nächste SlideShare
Wird geladen in …5
×

Ceph Introduction @GPN15

430 Aufrufe

Veröffentlicht am

Opensource Storage Lösung mit Ceph
Deutsch/Englische Folien. Es gibt eine deutsche Video Aufzeichnung des Talks unter https://entropia.de/GPN15:Ceph
----
Opensource Cloud Solution with Ceph
German/English slides. There is a german recording to this talk at https://entropia.de/GPN15:Ceph

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
430
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
13
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Ceph Introduction @GPN15

  1. 1. Ceph Distributed Storage Julian “mino” Klinck GPN15 - 05.06.2015
  2. 2. 2 Julian “mino” Ceph ! Karlsruhe gpn15@lab10.de twitter.com/julianklinck" # $ Interessen: • Netzwerke • Hardware • Cocktails • Hacking • Musik- und Lichttechnik
  3. 3. 3 Julian “mino” Klinck Ceph ! Karlsruhe jklinck@ocedo.com # $ Ceph • Seit 2014 • Storage Lösung für die Company Cloud
  4. 4. 4 Inhalt % 1 2 3 4 Einfuehrung Ceph Basics Verteilung 5 6 Sicherheit Q & A Storage Allgemein Im Speziellen OSD, Monitor, MDS PGs, Crush, Angriffsvektoren Ceph
  5. 5. Einführung Storage Allgemein &
  6. 6. 6 Storage ' Ceph Die Datenhalde Benutzer Speicher
  7. 7. 7 Storage ' Ceph Mehrere Benutzer Benutzer Speicher Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Storage Controller
  8. 8. 8 Storage ' Ceph Mehrere Disks Benutzer Speicher Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Storage Controller Speicher Speicher Speicher Speicher Speicher Speicher
  9. 9. 9 Storage ' Ceph Darf es etwas mehr sein? Benutzer Speicher Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Speicher Speicher Speicher Speicher Speicher Speicher Storage Controller
  10. 10. 10 Storage ' Ceph Alles eine Skalierungsfrage Benutzer Speicher Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Speicher Speicher Speicher Speicher Speicher SpeicherController Controller Controller Controller Controller Controller Controller
  11. 11. 11 Storage ' Ceph Alles eine Skalierungsfrage Benutzer Speicher Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Benutzer Speicher Speicher Speicher Speicher Speicher SpeicherController Controller Controller Controller Controller Controller Controller Propiertäre Software Propiertäre Hardware NFS HTTP RAW
  12. 12. 12 Ceph ' Überblick • LGPL 2.1 • Community getrieben • Skalierbar • Algorithmus aus Forschungsarbeit • Kein Single-Point-Of-Failure • Software basiert • Selbstkontrollierend Ceph
  13. 13. Basics( Systeme, OSD, MONITOR, MDS
  14. 14. 14 Systeme ' Bits und Bytes RADOS A reliable, autonomous, distributed object store comprised of self-healing, self- managing, intelligent storage nodes LIBRADOS A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, RBD A reliable and fully- distributed block device, with a Linux kernel client and a QEMU/KVM driver CEPH FS A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE RADOSGW A bucket-based REST gateway, compatible with S3 and Swift APP APP HOST/VM CLIENT Quelle: Ceph
  15. 15. 15 OSDs ' Bits und Bytes • Eine Festplatte = Eine OSD • Datenspeicher • Replikation • Recovery • Backfilling • Rebelancing • Monitoring • Minimum 2 Speichermedien DISKOSD DISKOSD Ceph
  16. 16. 16 OSDs ' Bits und Bytes DISK FS DISK DISK OSD DISK DISK OSD OSD OSD OSD FS FS FSFS btrfs xfs ext4 MMM Quelle: Ceph
  17. 17. 17 MONs ' Cluster Status • Cluster Mitglieder und Status • Consensus Verteile Entscheidungen • Wenige notwendig • Kein User Zugriff Ceph
  18. 18. Datenzugriff 18 LIBRADOS ) • Zugriff fuer alle RADOS Applikationen • C, C++, Python, PHP, Java, Erlang • Direkter Zugriff auf OSDs • Kein HTTP Overhead Ceph
  19. 19. 19 RadosGW ' Object Storage Quelle: Ceph
  20. 20. 20 ) • REST proxy • Backend • Rados • API für • Buckets • Accounts • Accounting • S3 und Swift Kompatibel RadosGW Object Storage Ceph
  21. 21. 21 RBD ' Block Storage Quelle: Ceph
  22. 22. 22 RBD ' Block Storage Quelle: Ceph
  23. 23. 23 ) • Festplatten Abbilder • VMs losgelöst von Hosts • Abbilder werden verteilt gespeichert (striping) • Snapshots • Copy-on-write • Unterstützung: • Kernel 2.6.39+ • Qemu/KVM • OpenStack, CloudStack, Nebula, Proxmox Rados Block Device Rohe Bytes Ceph
  24. 24. 24 MDS ' Meta Data Server Quelle: Ceph
  25. 25. 25 ) • Metadaten für POSIX-Kompatibles Filesystem • Verzeichnissstruktur • Dateien Metadaten (Besitzer, Speicherzeit, Rechte..) • Metadaten in RADOS • Liefert keine Dateiinhalte • Nur für geteiltes Dateisystem (CephFS) MDS Meta Data Server Ceph
  26. 26. Verteilung( PGs, Crush, Mons
  27. 27. 27 CRUSH ' Wenn ihr wirklich richtig steht… Quelle: Ceph
  28. 28. 28 CRUSH ' Wenn ihr wirklich richtig steht… Quelle: Ceph
  29. 29. 29 ) • Pseudo-Randomiserter Verteilungs Algo • Schnell • Deterministisch und Wiederholbar • Statistisch gleichverteilt • Stabile Zuweisungen • Topologie-Aware • Definierbare Replikation • Gewichtung CRUSH Objekte sinnvoll verteilen Ceph
  30. 30. 30 Copy-on-Write ' Schaufeln wenn es benötigt wird Quelle: Ceph
  31. 31. 31 Copy-on-Write ' Schaufeln wenn es benötigt wird Quelle: Ceph
  32. 32. 32 Copy-on-Write ' Schaufeln wenn es benötigt wird Quelle: Ceph
  33. 33. 33 Copy-on-Write ' Schaufeln wenn es benötigt wird Quelle: Ceph
  34. 34. 34 Metadata ' Skalierbarkeit Quelle: Ceph
  35. 35. 35 Metadata ' Skalierbarkeit Quelle: Ceph
  36. 36. Sicherheit* Angriffsvektoren
  37. 37. 37 Angriffsvektoren * • Client Cluster Sessions nicht verschlüsselt • Session Tokens • Keyrings auf dem MDS • Pool Separierung • S3 / Swift API • DOS • API requests • I/O Last Ceph
  38. 38. DANKE FÜR DIE AUFMERKSAMKEIT FRAGEN? +
  39. 39. ARCAMA VIEL SPASS AUF DER GPN15

×