Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
Bezieht sich auf SUSE Enterprise Storage 6

15 Leistungsverbesserung mit dem LVM-Cache Edit source

Warnung
Warnung: Technology Preview

Der LVM-Cache ist derzeit eine Technology Preview.

Der LVM-Cache ist ein Caching-Mechanismus und verbessert die Leistung eines logischen Volumes (LV). In der Regel wird die E/A-Leistung eines größeren, langsamereren LV mithilfe eines kleineren und schnelleren Geräts verbessert. Weitere Informationen zum LVM-Cache finden Sie auf der zugehörigen Handbuchseite (man 7 lvmcache).

In SUSE Enterprise Storage kann der LVM-Cache die Leistung der OSDs steigern. Die Unterstützung für den LVM-Cache wird mit einem ceph-volume-Plugin umgesetzt. Ausführliche Informationen zur Verwendung erhalten Sie mit dem Kommando ceph-volume lvmcache.

15.1 Voraussetzungen Edit source

Zur Verbesserung der Leistung eines Ceph Clusters mithilfe von LVM-Cache-Funktionen muss Folgendes vorliegen:

  • Ein aktiver Ceph Cluster in einem stabilen Zustand ('HEALTH_OK').

  • OSDs mit BlueStore und LVM. Dies ist die Standardeinstellung, wenn die OSDs mit SUSE Enterprise Storage 6 (oder höher) implementiert wurden.

  • Leere Datenträger oder Partitionen für das Caching.

15.2 Zu berücksichtigende Aspekte Edit source

Vor der Konfiguration der OSDs für die Nutzung des LVM-Caches sind folgende Punkte zu berücksichtigen:

  • Prüfen Sie, ob der LVM-Cache für Ihren Anwendungsfall geeignet ist. Wenn Sie lediglich wenige schnelle Laufwerke besitzen, die nicht für OSDs verwendet werden, wird im Allgemeinen empfohlen, diese Laufwerke als WAL/DB-Geräte für die OSDs einzusetzen. In diesem Fall werden WAL- und DB-Operationen (kleine, seltene Operationen) auf dem schnellen Laufwerk durchgeführt, die Datenoperationen dagegen auf dem langsameren OSD-Laufwerk.

    Tipp
    Tipp

    Wenn die Latenz für Ihre Implementierung wichtiger ist als die IOPS oder der Durchsatz, verwenden Sie die schnellen Laufwerke eher als LVM-Cache statt als WAL/DB-Partitionen.

  • Soll ein schnelles Laufwerk als LVM-Cache für mehrere OSDs fungieren, beachten Sie dabei, dass alle OSD-Operationen (auch die Reproduktion) über das Caching-Gerät abgewickelt werden. Alle Lesevorgänge werden über das Caching-Gerät abgerufen und werden nur bei einem Cache-Fehltreffer über das langsame Gerät durchgeführt. Schreibvorgänge werden stets zuerst auf das Caching-Gerät angewendet und erst später auf das langsame Gerät verschoben (der standardmäßige Caching-Modus ist „writeback“).

    Wenn Sie einen LVM-Cache erwägen, Prüfen Sie, ob das schnelle Laufwerk als Front für mehrere OSDs fungieren und dabei dennoch eine annehmbare IOPS-Zahl erbringen kann. Zum Testen messen Sie die maximale IOPS-Zahl des schnellen Geräts und dividieren Sie diese Zahl durch die Anzahl der OSDs hinter dem schnellen Gerät. Liegt das Ergebnis unter der maximalen IOPS-Zahl (oder nahe daran), die der OSD ohne den Cache erbringen kann, ist der LVM-Cache für diese Einrichtung vermutlich nicht geeignet.

  • Die Interaktion des LVM-Cache-Geräts mit den OSDs ist wichtig. Schreibvorgänge werden regelmäßig vom Caching-Gerät auf das langsame Gerät verschoben. Bei stetig hohem eingehendem Datenverkehr muss sich das Caching-Gerät abmühen, die eingehenden Anforderungen und noch dazu die Verschiebung zu bewältigen, sodass die Leistung absinkt. Falls das schnelle Gerät nicht deutlich mehr IOPS mit einer besseren Latenz als das langsame Gerät erbringen kann, verzichten Sie bei einem stetig hohen Workload auf den LVM-Cache. Der blockweise Datenverkehr eignet sich besser für den LVM-Cache, da der Cache hierbei genug Zeit hat, die kürzlich bearbeiteten („dirty“) Daten ohne Störung des Client-Datenverkehrs zu verschieben. Bei stetig niedrigem Datenverkehr-Workload lässt sich nur schwer im Voraus abschätzen, ob der LVM-Cache die Leistung erhöhen kann. In diesem Fall sollten Sie am besten die LVM-Cache-Einrichtung messen und mit der WAL/DB-Einrichtung vergleichen. Da kleine Schreibvorgänge die WAL-Partition zudem stark belasten, wird empfohlen, das schnelle Gerät für DB und/oder WAL statt für einen LVM-Cache einzusetzen.

  • Wenn Sie sich nicht sicher sind, ob der LVM-Cache einen Vorteil bringen würde, nutzen Sie das schnelle Gerät als WAL- und/oder DB-Gerät.

15.3 Vorbereitung Edit source

Das schnelle Gerät muss in mehrere Partitionen aufgeteilt werden. Jeder OSD benötigt zwei Partitionen für den Cache: eine Partition für die Cache-Daten, eine zweite für die Cache-Metadaten. Die Mindestgröße jeder Partition liegt bei 2 GB. Ein einzelnes schnelles Gerät kann als Cache für mehrere OSDs fungieren. Es muss lediglich entsprechend partitioniert werden.

15.4 Konfigurieren des LVM-Caches Edit source

Ausführliche Informationen zum Hinzufügen, Entfernen und Konfigurieren des LVM-Caches erhalten Sie mit dem Kommando ceph-volume lvmcache.

15.4.1 Hinzufügen des LVM-Caches Edit source

Mit folgendem Kommando ergänzen Sie einen vorhandenen OSD mit dem LVM-Cache:

cephadm@osd > ceph-volume lvmcache add
 --cachemetadata METADATA-PARTITION
 --cachedata DATA-PARTITION
 --osd-id OSD-ID

Die Optionen --data, --db oder --wal bestimmen die im Cache zu speichernde Partition. Die Standardeinstellung ist --data.

Tipp
Tipp: Bestimmtes logisches Volume (LV)

Alternativ können Sie mit der Option --origin statt mit der Option --osd-id das im Cache zu speichernde LV angeben:

[...]
--origin VOLUME-GROUP/LOGICAL-VOLUME

15.4.2 Entfernen des LVM-Caches Edit source

Mit folgendem Kommando entfernen Sie den vorhandenen LVM-Cache aus einem OSD:

cephadm@osd > ceph-volume lvmcache rm --osd-id OSD-ID

15.4.3 Festlegen des LVM-Cache-Modus Edit source

Mit folgendem Kommando legen Sie den Caching-Modus fest:

cephadm@osd > ceph-volume lvmcache mode --set CACHING-MODE --osd-id OSD-ID

CACHING-MODE lautet entweder „writeback“ (Standard) oder „writethrough“.

15.5 Fehlerbehebung Edit source

Wenn das Caching-Gerät ausfällt, müssen alle OSDs hinter dem Caching-Gerät aus dem Cluster entfernt (siehe Abschnitt 2.6, „Entfernen eines OSD“), bereinigt und erneut implementiert werden. Fällt das OSD-Laufwerk aus, sind das LV des OSD und das LV des zugehörigen Caches aktiv, jedoch nicht funktionsfähig. Bereinigen Sie die Partitionen (physische Volumes) für die Cache-Daten des OSD und die Metadaten-Partitionen mit pvremove PARTITION. Mit pvs rufen Sie eine Liste aller physischen Volumes ab.

15.6 Häufig gestellte Fragen Edit source

F: 1. Was passiert, wenn ein OSD entfernt wird?

Wenn Sie das LV des OSD mit lvremove entfernen, müssen auch die Cache-LVs entfernt werden. Dennoch müssen Sie pvremove für die Partitionen aufrufen, damit gewährleistet ist, dass alle Kennzeichnungen gelöscht wurden.

F: 2. Was passiert, wenn das OSD mit ceph-volume zap gelöscht wurde?

Hier gilt dieselbe Antwort wie für die Frage Was passiert, wenn ein OSD entfernt wird?

F: 3. Was passiert, wenn das ursprüngliche Laufwerk ausfällt?

Die Cache-LVs sind weiterhin vorhanden und cache info listet sie weiterhin als verfügbar auf. Sie können die Daten nicht aus dem Cache entfernen; LVM kann den Cache nicht leeren, da das Gerät des ursprünglichen LV fehlt. In dieser Situation ist das ursprüngliche LV vorhanden, das Hintergrundgerät jedoch nicht. Zur Behebung ermitteln Sie die Geräte, die mit dem ursprünglichen LV verknüpft sind, mit dem Kommando pvs. Entfernen Sie sie anschließend mit

cephadm@osd > sudo pvremove /dev/DEVICE or PARTITION

Diesen Vorgang können Sie auch für die Cache-Partitionen durchführen. Hierbei werden sowohl das ursprüngliche LV als auch die Cache-LVs beseitigt. Sie können sie auch mit

cephadm@osd > sudo dd if=/dev/zero of=/dev/DEVICE or PARTITION

löschen, bevor Sie pvremove ausführen.

Diese Seite drucken