TASTE-OF-IT

Proxmox VE 5.2 Ceph Storage erstellen

Proxmox VE Logo

Proxmox VE Logo

In dieser Anleitung erkläre ich die Einrichtung von Ceph „Luminous“ unter Proxmox VE 5.2.  Hintergrund ist ein Test zur Nutzung von Proxmox mit zentralem Storage in einer Testumgebung.

Zuvor habe ich einen 3 Node Proxmox VE Cluster zu Testzwecken erstellt. Ceph Luminous ist die aktuelle Stable Version 12.1.2. Zuvor gab es Kraken 11.x und Jewel 10.x.. Seit VE 5.x ist die Einrichtung und Konfiguration einfacher geworden und einige Schritten lassen sich nun in der WebGUI erledigen.

Grundsätzlich ist Ceph ein verteiltes Dateisystem über mehrere Nodes. Dies entspricht der Begrifflichkeit eines Cluster.

Empfehlungen Ceph Storage

Begrifflichkeiten

Rados Block Device (RBD) und OSD

Oder auch Object-Storage genannt, ermöglicht unter Proxmox Images im RAW-Format zu speichern. Hierbei stellt Rados den eigentlichen Object Store unter Ceph dar. In ihm werden die Objekte abgelegt. Hier spielen weitere Komponente wie das Object Storage Node (OSN) und das Object Storage Device (OSD) sowie das OSD Journal eine wichtige Rolle. Alle zusammen bilden dann den eigentlichen Object Storage unter Ceph und ermögilchen die intelligente und automatische verwaltete Speicherung und Verteilung von Daten.

Ceph Monitor

Dieser ist ein Daemon / Dienst der die Aufgabe hat die Cluster Map aufzubauen und zu verwalten. In der Regel besteht ein Cluster aus einer ungeraden Anzahl an Nodes und Monitoren. Von diesen muss min. die Hälfte laufen, ansonten ist der Cluster nicht funktional und der Zugriff der Clients nicht möglich.

Ceph Bluestore

Bluestore ist das neue Backend in Ceph Luminous. Es wurde hinsichtlich der Performance deutlich gegenüber seinem Vorgänger verbessert. Er soll bis zu 2x schnellere Schreibvoränge ermöglichen, führt full data checksumming aus und hat eine Built-In-compression. Mehr Infos unter: https://ceph.com/community/new-luminous-bluestore/

Ceph Pools

Pools sind in Ceph logische Partitionen zum Speichern von Objekten. Sie bestehen aus einer definierten Anzahl an PGS.

Crush Map

Ist eine Abkürzung und steht für Controlled Replication under scalable Hashing. Es ist ein Algorithmus der die Verteilung der Daten auf die OSDs steuert. Bei der Berechnung und Platzierung der Objekte setzt es auf eine pseudo-zufällige, deterministische Berechnung. Vorteil ist die genaue Berechnung des Ortes von Objekten im Cluster durch jeden Node und Client. Weiterhin ist der Aufwand für Metadaten nidriger als z.B. bei Lookup-basierten Storageberechnungen. Crush kann mittles Regeln konfiguriert werden, was auch ungewöhnlich ist.

Vorbereitung

Proxmox VE 5.2 Ceph Installation

Aus Performancegründen wird eine Extra SSD für das Journal empfohlen. Die Partition muss GPT formatiert sein und ist aktuell durch Proxmox auf 5GB limitiert.

Achtung später können die Placement Groups im Pool nur vergrößert aber nicht mehr verkleinert werden. Daher ist die Kalkulation und Konfiguration im Vorfelde wichtig.

Das ist es im gröbsten. Das Thema ist umfassen, daher die Empfehlung die entsprechenden Doks zu lesen.

Ceph Benchmark

Ein tolle Benchmark ist unter https://www.proxmox.com/en/downloads/item/proxmox-ve-ceph-benchmark zu finden(

). Hier wird auch deutlich, dass Ceph als Storage mit nur 1GB Netzwerkanbindung kaum Sinn macht.

# rados -p <ceph-pool-name> bench 10 write --no-cleanup
Total time run: 10.746617
Total writes made: 253
Write size: 4194304
Object size: 4194304
Bandwidth (MB/sec): 94.1692
Stddev Bandwidth: 9.27601
Max bandwidth (MB/sec): 108
Min bandwidth (MB/sec): 72
Average IOPS: 23
Stddev IOPS: 2
Max IOPS: 27
Min IOPS: 18
Average Latency(s): 0.677425
Stddev Latency(s): 0.572964
Max latency(s): 2.05175
Min latency(s): 0.130149

# rados -p <ceph-pool-name> bench 10 seq

Total time run: 4.597503
Total reads made: 253
Read size: 4194304
Object size: 4194304
Bandwidth (MB/sec): 220.119
Average IOPS: 55
Stddev IOPS: 21
Max IOPS: 90
Min IOPS: 47
Average Latency(s): 0.28152
Max latency(s): 1.21331
Min latency(s): 0.0191976

Fehler – Ceph Install remove Proxmox-VE

Sollte bei der Installation von Ceph, Proxmox deinstalliert werden, dann:

File /etc/apt/sources.list
deb http://ftp.debian.org/debian stretch main contrib

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

# security updates
deb http://security.debian.org stretch/updates main contrib

https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysadmin_package_repositories

Fehler – Ceph OSD Festplatte wird nicht erkannt

Ceph nutzt für den OSD die gesamte Festplatte, also keine Partition. Weiterhin sollte die Festplatte vorher gelöscht und von allen Partition befreit werden: # dd if=/dev/zero of=/dev/sd[X] bs=1M count=200
.

Die mobile Version verlassen