software:ceph-storage-cluster

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:ceph-storage-cluster [2022/09/24 17:51] – [Leistungsanforderungen] stsoftware:ceph-storage-cluster [2024/03/11 23:25] (aktuell) – [Benchmarks] st
Zeile 88: Zeile 88:
     * über CRUSH-Rules kann die geforderte örtliche Verteilung (Datenzentren, Brandabschnitte) eingestellt werden, dazu müssen die Verbindungen performant genug sein (niedrige Latenz, Bandbreite)     * über CRUSH-Rules kann die geforderte örtliche Verteilung (Datenzentren, Brandabschnitte) eingestellt werden, dazu müssen die Verbindungen performant genug sein (niedrige Latenz, Bandbreite)
  
-**Latenz**: Da die Daten über Netzwerk, CPU, RAM des lokalen und entfernter Rechner geschleust werden müssen, ist die Leistung nicht mit lokalen Datenträgern vergleichbar. Insbesondere die Latenz steigt deutlich an was für bestimmte Zeitkritische Applikationen (z.B. Datenbanken) problematisch sein kann:+**Latenz**: Da die Daten über Netzwerk, CPU, RAM des lokalen und entfernter Rechner geschleust werden müssen, ist die Leistung nicht mit lokalen Datenträgern vergleichbar. Insbesondere die Latenz steigt deutlich an was für bestimmte Zeitkritische Applikationen (z.B. Datenbanken) problematisch sein kann. Insbesondere die Ausreißer nach oben können problematisch sein. 
 +Möglicherweise sind  
 + 
 +''ceph osd perf'' zeigt die aktuell performance der OSDs an. 
 + 
 +nativ lokal möglich:
   * NVMe + SSD (lokal): ~0,25ms   * NVMe + SSD (lokal): ~0,25ms
   * disk 7200rpm (lokal): 4,17ms   * disk 7200rpm (lokal): 4,17ms
   * disk 5400rpm (lokal): 5,56ms   * disk 5400rpm (lokal): 5,56ms
-  * Ceph: avg (best case on nvme and 100G, multi-client): >30ms 
-  * Ceph: max (best case on nvme and 100G, multi-client): >200ms 
  
-sieh auch: [[https://www.proxmox.com/en/downloads?task=callelement&format=raw&item_id=540&element=f85c494b-2b32-4109-b8c1-083cca2b7db6&method=download&args[0]=a2ff48c36560e7cecdaa3c2accdced83|Ceph Benchmark 2020/09 rev.2]].+siehe auch: 
 +  * [[https://www.proxmox.com/en/downloads/item/proxmox-ve-ceph-benchmark-2020-09|Ceph Benchmark 2020/09 rev.2]]. 
 +  * [[https://www.heise.de/select/ix/2018/2/1517701858523828|Performance-Tuning für Ceph]] (2018)
  
  
Zeile 127: Zeile 132:
   * [[https://www.youtube.com/watch?v=OopRMUYiY5E|Ceph at CERN: A Year in the Life of a Petabyte-Scale Block Storage Service]]   * [[https://www.youtube.com/watch?v=OopRMUYiY5E|Ceph at CERN: A Year in the Life of a Petabyte-Scale Block Storage Service]]
  
 +==== Hyperconverged setup ====
 +
 +[[https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_hyper_converged_infrastructure|Hyperconverged setup]] bedeutet: Storage und Virtualisierungsnodes sind die gleichen Maschinen.
 +
 +Vorteile:
 +  - einfacheres setup
 +  - weniger hardware nötig
 +
 +Nachteile:
 +  - rebalance frisst RAM und CPU
 +  - keine Trennung zwischen Storage und Virtualisierung
 ==== Benchmarks ==== ==== Benchmarks ====
 +
 +[[https://www.thomas-krenn.com/de/wiki/Ceph_Perfomance_Guide_-_Sizing_%26_Testing|Ceph Perfomance Guide - Sizing & Testing]]
  
 rados bench: Installation aus Paketquelle: https://download.ceph.com/ rados bench: Installation aus Paketquelle: https://download.ceph.com/
Zeile 190: Zeile 208:
 <code bash>ceph pg repair 1.4ac</code> <code bash>ceph pg repair 1.4ac</code>
  
 +Für Rados: 
 +<code bash> 
 +rados lspools 
 +rados list-inconsistent-pg {POOL} 
 +rados list-inconsistent-obj {placement-group-ID} --format=json-pretty 
 +</code>
 ===== Monitoring ===== ===== Monitoring =====
  
Zeile 507: Zeile 530:
 Beispiel OSD.0 entfernen: Beispiel OSD.0 entfernen:
 <code bash> <code bash>
 +ceph osd down 10
 +systemctl stop ceph-osd@10
 ceph osd purge 0 --yes-i-really-mean-it ceph osd purge 0 --yes-i-really-mean-it
-ceph osd crush remove osd.0 +# nicht mehr nötig: 
-ceph auth del osd.0+ceph osd crush remove osd.0 
 +ceph auth del osd.0
 # "updated" # "updated"
 # oder: # oder:
Zeile 515: Zeile 541:
 </code> </code>
  
 +wenn das Gerät dann immer noch busy ist:
  
 +<code bash>
 +ls /dev/mapper/ceph-* | xargs -I% -- dmsetup remove %
 +partprobe $DISK
 +sgdisk --zap-all $DISK
 +</code>
 +[[https://github.com/rook/rook/issues/9764|Quelle]]
 ==== Cluster Einstellungen ==== ==== Cluster Einstellungen ====
  
Zeile 1256: Zeile 1289:
  
 <code bash>fusermount -u /media/rdb</code> <code bash>fusermount -u /media/rdb</code>
 +
 +
 +==== RGW (S3) ====
 +
 +[[https://docs.ceph.com/en/latest/man/8/radosgw-admin/|radosgw-admin (man page)]]
 +