2
Ceph - Was ist das?
verteilter Object Store (RADOS)
Daten werden in Objekten verteilt auf mehreren Servern
gespeichert
B...
Ceph - Architecture
4
Ceph - Features
kein ’single point of failure’
ausgelegt auf commodity Hardware
Daten werden in Pools abgelegt
Cache Tie...
5
Ceph - Komponenten
Ceph/oeffentlich Sebastian Nickel 1.0
6
Ceph - Komponenten
Monitore (MONs)
stellen
”
Master“ Maps des Clusterzustandes zur Verf¨ugung
werden als erstes von eine...
7
Ceph - Komponenten
OSDs
zust¨andig f¨ur Objektspeicherung
ist mit Journal- und Datenspeicher verkn¨upft
haben noch doubl...
8
Ceph - Komponenten
MDS
Meta-Daten Daemon f¨ur CephFS
Eigenschaften:
def explainMDS:
raise NoKnowledgeException ("not in ...
9
Ceph - Komponenten
RGW (Ceph Object Gateway)
bietet S3/SWIFT kompatible REST API f¨ur Ceph
umgesetzt mittels apache und ...
10
Ceph - Crush Design
Crush Map
wird von Mons verteilt
beschreibt hierarchischen Aufbau des Clusters
beinhaltet Regeln wo...
11
Ceph - Placement Groups
Placement Groups
Abstraktionsschicht zwischen OSD und Objekten
Ceph/oeffentlich Sebastian Nickel...
12
Ceph bei der Nine
damals 2 Ceph Cluster im Einsatz
1 x Rados Block Device Cluster
f¨ur virtuelle Maschinen
Standard Auf...
13
Neuer Ceph Cluster bei der Nine
Ausgangspunkt?
Wir wollten einen neuen Ceph Cluster (in anderem DC)
unser prim¨arer Cep...
14
Neuer Ceph Cluster bei der Nine
erster L¨osungsansatz: Cache Tiering
Vorteil: transparente Aktivierung/Deaktivierung
Te...
15
Neuer Ceph Cluster bei der Nine
Ablauf:
Maschinen generieren 4K IO mit fio
Aktivieren des SSD Cache Pools inmitten des T...
16
Neuer Ceph Cluster bei der Nine
Ergebnis nach erstem Test:
Client Berechtigungen des neuen Pools vergessen
bedeutet abe...
17
Neuer Ceph Cluster bei der Nine
Ergebnis nach zweitem Test:
Ceph/oeffentlich Sebastian Nickel 1.0
18
Neuer Ceph Cluster bei der Nine
Generelles Ergebnis:
Cache Tiering nur f¨ur bestimmte Einsatzzwecke
Probleme beim ’hot-...
19
Neuer Ceph Cluster bei der Nine - SSD
mehrere Varianten standen zur Auswahl (SATA SSD +
NVME; nur NVME; nur SATA SSD)
g...
20
Neuer Ceph Cluster bei der Nine - Benchmark
jede Komponente des Clusters mit fio benchmarken
immer gleiche Testbedingung...
21
Neuer Ceph Cluster bei der Nine - Benchmark
fio auf purem NVME device (psync, iodepth=1):
Test/Blocksize 4K 8K 16K 2048K...
22
Neuer Ceph Cluster bei der Nine - Benchmark
weitere Tests welche man ausf¨uhren kann
ceph tell osd.<number> bench
rados...
23
Neuer Ceph Cluster bei der Nine - iperf
iperf Tests auf gebondetem Interface mit VLAN tags
maximal 2.8 Gbps zwischen Co...
24
Neuer Ceph Cluster bei der Nine - tunings
CPUs immer auf 100% der max. Taktfrequenz laufen lassen
OSDs auf CPUs pinnen
...
25
Neuer Ceph Cluster bei der Nine - fio mit rbd
fio mit rbd engine auf Image
Test/Blocksize 4K 8K 16K 2048K 4096K
Serial Wr...
26
Neuer Ceph Cluster bei der Nine - RedHat Cluster Check
RedHat Cluster Check durchf¨uhren lassen
interessante Ergebnisse...
27
Neuer Ceph Cluster bei der Nine - Fazit
eine VM kann den Speed der NVME devices nicht voll nutzen
Parallelisierung bei ...
28
Fragen?
Ceph/oeffentlich Sebastian Nickel 1.0
29
Danke?
Ceph/oeffentlich Sebastian Nickel 1.0
TechTalkThursday 27.10.2016: Ceph im NVME Cluster
Nächste SlideShare
Wird geladen in …5
×

TechTalkThursday 27.10.2016: Ceph im NVME Cluster

84 Aufrufe

Veröffentlicht am

Überblick über den Einsatz und die Erfahrungen von Ceph in einem NVME-only Cluster.

Veröffentlicht in: Internet
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
84
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
0
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

TechTalkThursday 27.10.2016: Ceph im NVME Cluster

  1. 1. 2 Ceph - Was ist das? verteilter Object Store (RADOS) Daten werden in Objekten verteilt auf mehreren Servern gespeichert Block Storage (RADOS Block Device) POSIX Filesystem (CephFS) Block Storage und Filesystem legen Daten auch als Objekte ab Zugriff auf Block Storage via Kernel Treiber (rbd) oder Library (librbd) Ceph/oeffentlich Sebastian Nickel 1.0
  2. 2. Ceph - Architecture
  3. 3. 4 Ceph - Features kein ’single point of failure’ ausgelegt auf commodity Hardware Daten werden in Pools abgelegt Cache Tiering (SSDs als Cache Pool) replicated Pools und erasure coded Pools Snapshots schnelles Klonen copy-on-write images von Snapshots wichtig f¨ur ’cloud’ Images Scrubbing Ceph/oeffentlich Sebastian Nickel 1.0
  4. 4. 5 Ceph - Komponenten Ceph/oeffentlich Sebastian Nickel 1.0
  5. 5. 6 Ceph - Komponenten Monitore (MONs) stellen ” Master“ Maps des Clusterzustandes zur Verf¨ugung werden als erstes von einem neuen Client kontaktiert ¨ubernehmen Authentifizierung ungerade Anzahl im Cluster ¨uberpr¨ufen in regelm¨assigen Abst¨anden die OSDs Ceph/oeffentlich Sebastian Nickel 1.0
  6. 6. 7 Ceph - Komponenten OSDs zust¨andig f¨ur Objektspeicherung ist mit Journal- und Datenspeicher verkn¨upft haben noch double write penalty verschwindet mit ’BlueStore’ normalerweise 1 Daemon pro Festplatte ’pingen’ andere OSDs und melden an Mons f¨uhren scrubbing aus Ceph/oeffentlich Sebastian Nickel 1.0
  7. 7. 8 Ceph - Komponenten MDS Meta-Daten Daemon f¨ur CephFS Eigenschaften: def explainMDS: raise NoKnowledgeException ("not in use") Ceph/oeffentlich Sebastian Nickel 1.0
  8. 8. 9 Ceph - Komponenten RGW (Ceph Object Gateway) bietet S3/SWIFT kompatible REST API f¨ur Ceph umgesetzt mittels apache und mod proxy (ab apache 2.4) besitzt eigene Userverwaltung Daten werden in ’buckets’ organisiert Update von Hammer oder Infernalis auf Jewel → ¨uber Umwege Ceph/oeffentlich Sebastian Nickel 1.0
  9. 9. 10 Ceph - Crush Design Crush Map wird von Mons verteilt beschreibt hierarchischen Aufbau des Clusters beinhaltet Regeln wo Daten f¨ur Pools abgelegt werden sollen besitzt ’tuneables’, welche Verteilung beeinflussen Ceph/oeffentlich Sebastian Nickel 1.0
  10. 10. 11 Ceph - Placement Groups Placement Groups Abstraktionsschicht zwischen OSD und Objekten Ceph/oeffentlich Sebastian Nickel 1.0
  11. 11. 12 Ceph bei der Nine damals 2 Ceph Cluster im Einsatz 1 x Rados Block Device Cluster f¨ur virtuelle Maschinen Standard Aufbau (HDD + SSD Journals) 1 x RGW Cluster genutzt als Backup Cluster Ceph/oeffentlich Sebastian Nickel 1.0
  12. 12. 13 Neuer Ceph Cluster bei der Nine Ausgangspunkt? Wir wollten einen neuen Ceph Cluster (in anderem DC) unser prim¨arer Ceph Cluster zeigte Performance Probleme (HDD/SSD) deep scrubs beeinflussen performance Festplattenausfall bedeutet kurzes Performance Problem ’recovery op priority’, ’max backfills’, etc bereits gesetzt hatten Bedenken ¨uber Performance Probleme w¨ahrend Erweiterung Ceph/oeffentlich Sebastian Nickel 1.0
  13. 13. 14 Neuer Ceph Cluster bei der Nine erster L¨osungsansatz: Cache Tiering Vorteil: transparente Aktivierung/Deaktivierung Tests im Staging Bereich durchgef¨uhrt 2 Hosts mit SSDs als Cache Pool konfiguriert Crush Rules f¨ur SSD Pool erstellt 10 virtuellen Maschinen als Clients vorbereitet Ceph/oeffentlich Sebastian Nickel 1.0
  14. 14. 15 Neuer Ceph Cluster bei der Nine Ablauf: Maschinen generieren 4K IO mit fio Aktivieren des SSD Cache Pools inmitten des Tests Messen der Ergebnisse Ceph/oeffentlich Sebastian Nickel 1.0
  15. 15. 16 Neuer Ceph Cluster bei der Nine Ergebnis nach erstem Test: Client Berechtigungen des neuen Pools vergessen bedeutet aber auch das alle Maschinen migriert werden m¨ussten Ceph/oeffentlich Sebastian Nickel 1.0
  16. 16. 17 Neuer Ceph Cluster bei der Nine Ergebnis nach zweitem Test: Ceph/oeffentlich Sebastian Nickel 1.0
  17. 17. 18 Neuer Ceph Cluster bei der Nine Generelles Ergebnis: Cache Tiering nur f¨ur bestimmte Einsatzzwecke Probleme beim ’hot-pull’ einer SSD Red Hat Ceph Storage 2.0: ’Cache tiering is now deprecated’ Wir wollen einen SSD Ceph Cluster! Ceph/oeffentlich Sebastian Nickel 1.0
  18. 18. 19 Neuer Ceph Cluster bei der Nine - SSD mehrere Varianten standen zur Auswahl (SATA SSD + NVME; nur NVME; nur SATA SSD) gewonnen hat: only NVME Cluster Hardware: 2 x 10 Core Intel CPU 64GB RAM 2 x Intel SSD DC 3510 f¨ur OS 4x Intel SSD DC P3600 NVME Disks 4 x 10G NIC Ceph/oeffentlich Sebastian Nickel 1.0
  19. 19. 20 Neuer Ceph Cluster bei der Nine - Benchmark jede Komponente des Clusters mit fio benchmarken immer gleiche Testbedingungen mehrere Testl¨aufe durchf¨uhren und Ergebnis mitteln Ceph/oeffentlich Sebastian Nickel 1.0
  20. 20. 21 Neuer Ceph Cluster bei der Nine - Benchmark fio auf purem NVME device (psync, iodepth=1): Test/Blocksize 4K 8K 16K 2048K 4096K Serial Write 81692 / 319.11 66387 / 518.65 47982 / 749.72 820 / 1641.7 418 / 1672.2 Serial Read 84176 / 328 77399 / 604.68 59642 / 931.91 968 / 1936.1 540 / 2163.3 Rand. Write 82331 / 321 66796 / 521.84 49617 / 775.26 820 / 1640.7 416 / 1667.7 Rand. Read 10746 / 41 8753 / 68.38 6758 / 105.6 966 / 1933.6 544 / 2179.7 Einheit: IOPS / MB per s fio auf purem NVME device (libaio, iodepth=64): Test/Blocksize 4K 8K 16K 2048K 4096K Serial Write 406189 / 1586.7 218887 / 1710.7 111092 / 1735.9 892 / 1789.2 446 / 1791.2 Serial Read 317558 / 1240.5 249434 / 1948.8 157287 / 2457.7 1283 / 2571.6 657 / 2638.3 Rand. Write 314276 / 1227.7 192417 / 1503.3 104569 / 1633.1 892 / 1787.3 445 / 1788.1 Rand. Read 351525 / 1373.2 246589 / 1926.6 138682 / 2166.1 1248 / 2501.5 648 / 2605.5 Einheit: IOPS / MB per s Ceph/oeffentlich Sebastian Nickel 1.0
  21. 21. 22 Neuer Ceph Cluster bei der Nine - Benchmark weitere Tests welche man ausf¨uhren kann ceph tell osd.<number> bench rados bench -p <pool> <dauer> write iperf fio mit rbd engine Ceph/oeffentlich Sebastian Nickel 1.0
  22. 22. 23 Neuer Ceph Cluster bei der Nine - iperf iperf Tests auf gebondetem Interface mit VLAN tags maximal 2.8 Gbps zwischen Compute Node und Ceph Node MTU variiert → 4.8 Gbps nur bonding ohne VLAN oder kein bonding mit VLAN → 9.x Gbps bonding + VLAN ohne Switch → 9.x Gbps Ergebnis: kein VLAN Ceph/oeffentlich Sebastian Nickel 1.0
  23. 23. 24 Neuer Ceph Cluster bei der Nine - tunings CPUs immer auf 100% der max. Taktfrequenz laufen lassen OSDs auf CPUs pinnen rq affinity der NVME devices setzen 2 OSDs pro NVME device Ceph/oeffentlich Sebastian Nickel 1.0
  24. 24. 25 Neuer Ceph Cluster bei der Nine - fio mit rbd fio mit rbd engine auf Image Test/Blocksize 4K 8K 16K 2048K 4096K Serial Write 26791 IOPS 24232 IOPS 28086 IOPS 283 IOPS / 566.39 MB/s 142 IOPS / 571.36 MB/s Serial Read 2147 IOPS 2108 IOPS 1960 IOPS 281 IOPS / 563.46 MB/s 176 IOPS / 705.55 MBs Rand. Write 12408 IOPS 12369 IOPS 13370 IOPS 523 IOPS / 1047.2 MB/s 255 IOPS / 1020.1 MB/s Rand. Read 1512 IOPS 1442 IOPS 1451 IOPS 272 IOPS / 544.88 MB/s 175 IOPS / 703.5 MB/s fio innerhalb einer VM (psync, iodepth=1) Test/Blocksize 4K 8K 16K 2048K 4096K Serial Write 14686 IOPS 14038 IOPS 12407 IOPS 318 IOPS / 636.95 MB/s 128 IOPS / 515.33 MB/s Serial Read 1719 IOPS 1645 IOPS 1546 IOPS 220 IOPS / 440.58 MB/s 104 IOPS / 416.01 MB/s Rand. Write 9377 IOPS 9111 IOPS 8900 IOPS 323 IOPS / 646.10 MB/s 122 IOPS / 488.29 MB/s Rand. Read 1401 IOPS 1375 IOPS 1323 IOPS 222 IOPS / 444.64 MB/s 106 IOPS / 427.72 MB/s Ceph/oeffentlich Sebastian Nickel 1.0
  25. 25. 26 Neuer Ceph Cluster bei der Nine - RedHat Cluster Check RedHat Cluster Check durchf¨uhren lassen interessante Ergebnisse: es gibt noch keine Recommendations f¨ur NVME Cluster alle NVMEs sind via PCIe Bus auf CPU1 verbunden, alle NICs auf CPU0 Crush tunables nicht optimal RBD client cache size hatte unit extensions (MB) Ceph/oeffentlich Sebastian Nickel 1.0
  26. 26. 27 Neuer Ceph Cluster bei der Nine - Fazit eine VM kann den Speed der NVME devices nicht voll nutzen Parallelisierung bei NVME ist wichtig es gibt noch keine grossen Erfahrungen damit Cluster Check durch externe Firma sinnvoll Ceph/oeffentlich Sebastian Nickel 1.0
  27. 27. 28 Fragen? Ceph/oeffentlich Sebastian Nickel 1.0
  28. 28. 29 Danke? Ceph/oeffentlich Sebastian Nickel 1.0

×