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

19 Cluster-Dateisystem Edit source

In diesem Kapitel werden Verwaltungsaufgaben beschrieben, die normalerweise nach der Einrichtung des Clusters und dem Export des CephFS ausgeführt werden. Weitere Informationen zum Einrichten des CephFS finden Sie im Kapitel 11, Installation des CephFS.

19.1 Einhängen des CephFS Edit source

Wenn das Dateisystem erstellt und der MDS aktiv ist, sind Sie bereit, das Dateisystem von einem Client-Host aus einzuhängen.

19.1.1 Vorbereitung des Clients Edit source

Wenn auf dem Client-Host SUSE Linux Enterprise 12 SP2 oder SP3 ausgeführt wird, können Sie diesen Abschnitt überspringen, weil das System bereit ist, das CephFS ohne weitere Anpassung einzuhängen.

Wenn auf dem Client-Host SUSE Linux Enterprise 12 SP1 ausgeführt wird, müssen Sie alle neuesten Patches anwenden, bevor Sie das CephFS einhängen.

In jedem Fall ist in SUSE Linux Enterprise alles enthalten, was zum Einhängen des CephFS benötigt wird. SUSE Enterprise Storage 6 wird nicht benötigt.

Zur Unterstützung der vollständigen mount-Syntax sollte das Paket ceph-common (das im Lieferumfang von SUSE Linux Enterprise enthalten ist) installiert werden, bevor Sie versuchen, das CephFS einzuhängen.

19.1.2 Erstellen einer Geheimnisdatei Edit source

Der Ceph Cluster wird mit standardmäßig eingeschalteter Authentifizierung ausgeführt. Sie sollten eine Datei erstellen, in der Ihr geheimer Schlüssel (nicht der Schlüsselbund selbst) gespeichert wird. Gehen Sie folgendermaßen vor, um den geheimen Schlüssel für einen bestimmten Benutzer abzurufen und dann die Datei zu erstellen:

Prozedur 19.1: Erstellen eines geheimen Schlüssels
  1. Sehen Sie sich den Schlüssel für den bestimmten Benutzer in einer Schlüsselbunddatei an:

    cephadm@adm > cat /etc/ceph/ceph.client.admin.keyring
  2. Kopieren Sie den Schlüssel des Benutzers, der das eingehängte Ceph FS-Dateisystem verwenden wird. Normalerweise sieht der Schlüssel in etwa so aus:

    AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==
  3. Erstellen Sie eine Datei mit dem Benutzernamen als Teil des Dateinamens, wie zum Beispiel /etc/ceph/admin.secret für den Benutzer admin.

  4. Fügen Sie den Schlüsselwert in der im vorigen Schritt erstellten Datei ein.

  5. Legen Sie die ordnungsgemäßen Zugriffsrechte für die Datei fest. Ausschließlich der Benutzer sollte die Datei lesen können. Andere dürfen keine Zugriffsrechte dafür erhalten.

19.1.3 Einhängen des CephFS Edit source

Das CephFS wird mit dem Befehl mount eingehängt. Sie müssen den Hostnamen oder die IP-Adresse des Monitors angeben. Da in SUSE Enterprise Storage standardmäßig die cephx-Authentifizierung aktiviert ist, müssen Sie einen Benutzernamen und das entsprechende Geheimnis angeben:

root # mount -t ceph ceph_mon1:6789:/ /mnt/cephfs \
 -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==

Da das vorige Kommando im Shell-Verlauf bleibt, ist es sicherer, das Geheimnis aus einer Datei zu lesen:

root # mount -t ceph ceph_mon1:6789:/ /mnt/cephfs \
 -o name=admin,secretfile=/etc/ceph/admin.secret

Beachten Sie, dass die Geheimnisdatei nur das tatsächliche Schlüsselbundgeheimnis enthalten sollte. In unserem Beispiel enthält die Datei dann nur die folgende Zeile:

AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==
Tipp
Tipp: Mehrere Monitors angeben

Es ist sinnvoll, in der mount-Kommandozeile mehrere Monitors durch Komma getrennt anzugeben, für den Fall, dass zum Zeitpunkt des Einhängens ein Monitor zufällig inaktiv ist. Jede Monitoradresse hat die Form host[:port]. Wenn der Port nicht angegeben wird, ist es standardmäßig Port 6789.

Erstellen sie den Einhängepunkt am lokalen Host:

root # mkdir /mnt/cephfs

Hängen Sie das CephFS ein:

root # mount -t ceph ceph_mon1:6789:/ /mnt/cephfs \
 -o name=admin,secretfile=/etc/ceph/admin.secret

Ein Unterverzeichnis subdir kann angegeben werden, wenn eine Teilmenge des Dateisystems eingehängt werden soll:

root # mount -t ceph ceph_mon1:6789:/subdir /mnt/cephfs \
 -o name=admin,secretfile=/etc/ceph/admin.secret

Sie können mehr als einen Monitor-Host im Kommando mount angeben:

root # mount -t ceph ceph_mon1,ceph_mon2,ceph_mon3:6789:/ /mnt/cephfs \
 -o name=admin,secretfile=/etc/ceph/admin.secret
Wichtig
Wichtig: Lesezugriff auf das Stammverzeichnis

Wenn Clients mit Pfadbeschränkungen verwendet werden, muss der MDS Lesezugriff auf das Stammverzeichnis enthalten. Ein Schlüsselbund sieht beispielsweise in etwa wie folgt aus:

client.bar
 key: supersecretkey
 caps: [mds] allow rw path=/barjail, allow r path=/
 caps: [mon] allow r
 caps: [osd] allow rwx

Der Abschnitt allow r path=/ bedeutet, dass pfadbeschränkte Clients das Root-Volume sehen können, jedoch nicht darauf schreiben dürfen. In Anwendungsfällen, in denen die vollständige Isolierung vorausgesetzt wird, könnte dies ein Problem darstellen.

19.2 Aushängen des CephFS Edit source

Das CephFS wird mit dem Kommando umount ausgehängt:

root # umount /mnt/cephfs

19.3 CephFS in /etc/fstab Edit source

Fügen Sie zum automatischen Einhängen des CephFS bei Client-Start die entsprechende Zeile in die Tabelle /etc/fstab seines Dateisystems ein:

mon1:6790,mon2:/subdir /mnt/cephfs ceph name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev 0 2

19.4 Mehrere aktive MDS-Daemons (Aktiv/Aktiv-MDS) Edit source

CephFS wird standardmäßig für einen einzelnen aktiven MDS-Daemon konfiguriert. Zum Skalieren der Metadatenleistung für große Systeme können Sie mehrere aktive MDS-Daemons aktivieren. Dadurch wird der Metadaten-Workload untereinander aufgeteilt.

19.4.1 Anwendungsfall eines Aktiv/Aktiv-MDS Edit source

Erwägen Sie, mehrere aktive MDS-Daemons zu verwenden, falls Ihre Metadatenleistung bei einem standardmäßigen einzelnen MDS einen Engpass erfahren würde.

Das Hinzufügen weiterer Daemons erhöht nicht die Leistung bei allen Workload-Typen. Beispielsweise profitiert eine Einzelanwendung, die auf einem einzelnen Client ausgeführt wird, nicht von einer höheren Anzahl von MDS-Daemons, es sei denn, die Anwendung führt sehr viele Metadaten-Operationen gleichzeitig aus.

Workloads, die normalerweise von einer höheren Anzahl aktiver MDS-Daemons profitieren, sind Workloads mit vielen Clients, die eventuell in vielen verschiedenen Verzeichnissen arbeiten.

19.4.2 Vergrößern des aktiven MDS Clusters Edit source

Jedes CephFS-Dateisystem verfügt über eine max_mds-Einstellung, die steuert, wie viele Rangstufen erstellt werden. Die tatsächliche Anzahl der Rangstufen im Dateisystem wird nur dann erhöht, wenn ein Ersatz-Daemon verfügbar ist, der die neue Rangstufe übernehmen kann. Wenn beispielsweise nur ein MDS-Daemon ausgeführt wird und max_mds auf "2" festgelegt ist, wird keine zweite Rangstufe erstellt.

Im folgenden Beispiel legen wir die Option max_mds auf "2" fest, um eine neue Rangstufe abgesehen von der standardmäßigen Rangstufe zu erstellen. Führen Sie zum Anzeigen der Änderungen ceph status aus bevor und nachdem Sie max_mds festlegen und beobachten Sie die Zeile, die fsmap enthält:

cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-1/1/1 up  {0=node2=up:active}, 1 up:standby
    [...]
cephadm@adm > ceph mds set max_mds 2
cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-2/2/2 up  {0=node2=up:active,1=node1=up:active}
    [...]

Die neu erstellte Rangstufe (1) durchläuft den Zustand „wird erstellt“ und wird dann in den Zustand „aktiv“ versetzt.

Wichtig
Wichtig: Standby-Daemons

Auch bei mehreren aktiven Daemons benötigt ein hochverfügbares System weiterhin Standby-Daemons, die übernehmen, wenn einer der Server, auf dem ein aktiver Daemon ausgeführt wird, ausfällt.

Folglich ist die praktische maximale Anzahl von max_mds bei hochverfügbaren Systemen ein Server weniger als die Gesamtanzahl der MDS-Server in Ihrem System. Um im Fall mehrerer Serverausfälle verfügbar zu bleiben, müssen Sie die Anzahl der Standby-Daemons im System entsprechend der Anzahl der Serverausfälle anpassen, die sie kompensieren müssen.

19.4.3 Reduzieren der Anzahl von Rangstufen Edit source

Alle Rangstufen, einschließlich der zu entfernenden Rangstufen, müssen zunächst aktiv sein. Dies bedeutet, dass mindestens max_mds MDS-Daemons verfügbar sein müssen.

Legen Sie zunächst max_mds auf eine kleinere Anzahl fest. Gehen Sie beispielsweise zu einem einzelnen aktiven MDS zurück:

cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-2/2/2 up  {0=node2=up:active,1=node1=up:active}
    [...]
cephadm@adm > ceph mds set max_mds 1
cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-1/1/1 up  {0=node2=up:active}, 1 up:standby
    [...]

Beachten Sie, dass wir immer noch zwei aktive MDS haben. Die Rangstufe ist immer noch vorhanden, obwohl wir max_mds reduziert haben, weil max_mds nur die Erstellung neuer Rangstufen beschränkt.

Entfernen Sie als nächstes die nicht benötigten Rangstufe mit dem Kommando ceph mds deactivate rank:

cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-2/2/1 up  {0=node2=up:active,1=node1=up:active}
cephadm@adm > ceph mds deactivate 1
telling mds.1:1 192.168.58.101:6805/2799214375 to deactivate

cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-2/2/1 up  {0=node2=up:active,1=node1=up:stopping}

cephadm@adm > ceph status
  [...]
  services:
    [...]
    mds: cephfs-1/1/1 up  {0=node2=up:active}, 1 up:standby

Die deaktivierte Rangstufe erhält zunächst den Zustand „wird gestoppt“ und zwar für den Zeitraum, den er benötigt, um seinen Teil der Metadaten an die verbleibenden aktiven Daemons abzugeben. Diese Phase kann Sekunden, aber auch Minuten dauern. Falls der MDS im Zustand „wird gestoppt“ hängen bleibt, sollten Sie prüfen, ob es sich dabei um einen möglichen Fehler handelt.

Wenn ein MDS-Daemon im Zustand „wird gestoppt“ abstürzt oder beendet wird, übernimmt ein Standby-Daemon und die Rangstufe wird wieder auf „aktiv“ gesetzt. Sie können versuchen, ihn erneut zu deaktivieren, falls er sich wieder erholt.

Wenn ein Daemon den Stoppvorgang abgeschlossen hat, startet er erneut und ist wieder ein Standby-Daemon.

19.4.4 Manuelles Anheften von Verzeichnisbäumen an eine Rangstufe Edit source

Bei Konfigurationen mit mehreren aktiven Metadaten-Servern wird ein Ausgleichsprogramm ausgeführt, das die Metadatenlast gleichmäßig im Cluster verteilt. Dies funktioniert normalerweise bei den meisten Benutzern ganz gut, doch manchmal ist es wünschenswert, das dynamische Ausgleichsprogramm durch explizite Zuordnungen von Metadaten zu bestimmten Rangstufen außer Kraft zu setzen. Dadurch erhalten der Administrator oder die Benutzer die Möglichkeit, die Anwendungslast gleichmäßig zu verteilen oder die Auswirkungen auf die Metadatenanforderungen der Benutzer auf den gesamten Cluster einzuschränken.

Der zu diesem Zweck bereitgestellte Mechanismus wird "Export-Pin" genannt. Es handelt sich um ein erweitertes Attribut von Verzeichnissen. Der Name dieses erweiterten Attributs ist ceph.dir.pin. Benutzer können dieses Attribut mit Standardkommandos festlegen:

root # setfattr -n ceph.dir.pin -v 2 /path/to/dir

Der Wert (-v) des erweiterten Attributs ist die Rangstufe, zu dem der Verzeichnisunterbaum zugewiesen wird. Ein Standardwert von -1 gibt an, dass das Verzeichnis nicht angeheftet wird.

Ein Verzeichnisexport-Pin wird vom nächstgelegenen übergeordneten Verzeichnis mit einem festgelegten Export-Pin übernommen. Daher betrifft die Festlegung eines Export-Pins auch alle untergeordneten Verzeichnisse. Der Pin des übergeordneten Verzeichnisses kann jedoch durch Festlegen des Verzeichnisexport-Pins des untergeordneten Verzeichnisses außer Kraft gesetzt werden. Beispiel:

root # mkdir -p a/b                      # "a" and "a/b" start with no export pin set.
setfattr -n ceph.dir.pin -v 1 a/  # "a" and "b" are now pinned to rank 1.
setfattr -n ceph.dir.pin -v 0 a/b # "a/b" is now pinned to rank 0
                                  # and "a/" and the rest of its children
                                  # are still pinned to rank 1.

19.5 Failover-Verwaltung Edit source

Wenn ein MDS-Daemon die Kommunikation mit dem Monitor stoppt, dann wartet der Monitor mds_beacon_grace Sekunden (standardmäßig 15 Sekunden), bevor er den Daemon als laggy (langsam) kennzeichnet. Sie können einen oder mehrere „standby“-Daemons konfigurieren, die bei einem MDS-Daemon-Failover übernehmen.

19.5.1 Konfigurieren von Standby-Daemons Edit source

Mit verschiedenen Konfigurationseinstellungen wird das Verhalten des Daemons im Standby-Modus gesteuert. Sie werden in der Datei ceph.conf am Host angegeben, auf dem der MDS-Daemon ausgeführt wird. Der Daemon lädt diese Einstellungen beim Starten und sendet sie zum Monitor.

Wenn keine dieser Einstellungen verwendet wird, werden alle MDS-Daemons ohne Rangstufe standardmäßig als „Standbys“ für alle Rangstufen verwendet.

Die Einstellungen, durch die ein Standby-Daemon einem bestimmten Namen oder einer bestimmten Rangstufe zugeordnet wird, garantieren nicht, dass dieser Daemon für nur eine Rangstufe verwendet wird. Es bedeutet nur, dass der zugeordnete Standby-Daemon verwendet wird, wenn mehrere Standbys verfügbar sind. Wenn eine Rangstufe ausfällt und ein Standby verfügbar ist, wird er verwendet, auch wenn er einer anderen Rangstufe oder einem benannten Daemon zugeordnet ist.

mds_standby_replay

Wenn diese Option auf „true“ festgelegt ist, liest der Standby-Daemon kontinuierlich das Metadatenjournal einer aktiven Rangstufe. Dadurch erhält er einen betriebsbereiten Metadaten-Cache und der Vorgang des Failovers wird beschleunigt, wenn der Daemon, der die Rangstufe bedient, ausfällt.

Einer aktiven Rangstufe ist möglicherweise nur ein Standby Replay-Daemon zugewiesen. Wenn beide Daemons als Standby Replay festgelegt sind, wird willkürlich einer der beiden herangezogen und der andere wird ein normaler Nicht-Replay Standby.

Wenn ein Daemon den Status Standby Replay hat, wird er nur als Standby für die Rangstufe verwendet, der er folgt. Wenn eine andere Rangstufe ausfällt, wird dieser Standby Replay-Daemon nicht als Ersatz verwendet, auch wenn keine anderen Standbys verfügbar sind.

mds_standby_for_name

Legen Sie diese Option fest, wenn der Standby-Daemon nur eine ausgefallen Rangstufe übernehmen soll, wenn der letzte Daemon, der diese enthalten hat, mit diesem Namen übereinstimmt.

mds_standby_for_rank

Legen Sie diese Option fest, wenn der Standby-Daemon nur die angegebene Rangstufe übernehmen soll. Wenn eine andere Rangstufe ausfällt, wird dieser Daemon nicht als Ersatz dafür verwendet.

Verwenden Sie diese Option zusammen mit mds_standby_for_fscid, um genau anzugeben, in welchem Dateisystem die Rangstufe sich befindet, falls mehrere Dateisysteme vorhanden sind.

mds_standby_for_fscid

Wenn mds_standby_for_rank festgelegt ist, wird damit nur angegebenen, auf die Rangstufe von welchem Dateisystem Bezug genommen wird.

Wenn mds_standby_for_rank nicht festgelegt ist, greift dieser Daemon durch Festlegen der FSCID auf jede Rangstufe in der angegebenen FSCID zu. Verwenden Sie diese Option, wenn Sie über einen Daemon verfügen, den Sie für beliebige Rangstufen verwenden möchten, allerdings nur innerhalb eines Dateisystems.

mon_force_standby_active

Diese Einstellung wird für Monitor-Hosts verwendet. Die Standardeinstellung ist „true“.

Wenn sie auf „false“ festgelegt ist, werden Daemons, die mit standby_replay=true konfiguriert sind, nur aktiv, wenn die Rangstufe/der Name, der sie laut Konfiguration folgen sollen, ausfällt. Andererseits wird einem Daemon, der mit standby_replay=true konfiguriert ist, möglicherweise eine andere Rangstufe zugewiesen, wenn diese Einstellung auf „true“ festgelegt ist.

19.5.2 Beispiele Edit source

Nachfolgend sehen Sie einige Beispiele zur ceph.conf-Konfiguration. Sie können entweder eine ceph.conf mit der Konfiguration aller Daemons zu allen Ihren Servern kopieren oder Sie können eine andere Datei auf jedem Server erstellen, die die Daemon-Konfiguration dieses Servers enthält.

19.5.2.1 Einfaches Paar Edit source

Zwei MDS-Daemons „a“ und „b“, die als Paar fungieren. Der Daemon, dem aktuell keine Rangstufe zugewiesen ist, wird zum Standby Replay des anderen.

[mds.a]
mds standby replay = true
mds standby for rank = 0

[mds.b]
mds standby replay = true
mds standby for rank = 0

19.6 Festlegen von CephFS-Kontingenten Edit source

Sie können Kontingente für beliebige Unterverzeichnisse des Ceph-Dateisystems anlegen. Das Kontingent beschränkt entweder die Anzahl der Byte oder die Anzahl der Dateien, die unterhalb des angegebenen Punkts in der Verzeichnishierarchie gespeichert werden können.

19.6.1 Einschränkungen Edit source

Kontingente in CephFS unterliegen folgenden Einschränkungen:

Kontingente sind kooperativ und konkurrieren nicht untereinander.

Ceph-Kontingente sind darauf angewiesen, dass der Client, der das Dateisystem einhängt, nicht mehr darin schreibt, sobald ein bestimmter Grenzwert erreicht ist. Der Server-Teil kann nicht verhindern, dass ein böswilliger Client beliebig viele Daten schreibt. Es ist nicht zulässig, das Füllen des Dateisystems in Umgebungen, in denen die Clients als überhaupt nicht verbürgt gelten, mithilfe von Kontingenten zu verhindern.

Kontingente sind nicht absolut genau.

Prozesse, die in das Dateisystem schreiben, werden kurz nach Erreichen des Kontingentgrenzwerts angehalten. Es ist nicht zu verhindern, dass eine gewisse Datenmenge geschrieben wird, die den konfigurierten Grenzwert übersteigt. Client-Schreibvorgänge werden innerhalb weniger Zehntelsekunden nach dem Überschreiten des konfigurierten Grenzwerts angehalten.

Kontingente werden ab Version 4.17 im Kernel-Client implementiert.

Kontingente werden durch den Benutzerbereichs-Client (libcephfs, ceph-fuse) unterstützt. Die Linux-Kernel-Clients 4.17 und höher unterstützen CephFS-Kontingente auf Clustern mit SUSE Enterprise Storage 6. Kernel-Clients (selbst die neueren Versionen) können Kontingente nicht auf älteren Clustern verarbeiten, auch wenn sie die erweiterten Attribute der Kontingente festlegen können.

Konfigurieren Sie die Kontingente nur mit Vorsicht, wenn pfadbasierte Einhängeeinschränkungen gelten.

Der Client kann die Kontingente nur dann durchsetzen, wenn er den Zugriff auf den Verzeichnis-Inode besitzt, auf dem die Kontingente konfiguriert sind. Wenn der Zugriff des Clients auf einen bestimmten Pfad (z. B. /home/user) gemäß der MDS-Capability eingeschränkt ist und Sie ein Kontingent für ein übergeordnetes Verzeichnis konfigurieren, auf das der Client nicht zugreifen kann (/home), kann der Client das Kontingent nicht erzwingen. Bei pfadbasierten Zugriffseinschränkungen muss das Kontingent für das Verzeichnis konfiguriert werden, auf das der Client zugreifen kann (/home/user), oder auf ein Verzeichnis unter diesem Verzeichnis.

19.6.2 Konfiguration Edit source

CephFS-Kontingente werden mit virtuellen erweiterten Attributen konfiguriert:

ceph.quota.max_files

Konfiguriert einen Grenzwert für die Anzahl der Dateien.

ceph.quota.max_bytes

Konfiguriert einen Grenzwert für die Anzahl der Bytes.

Wenn Attribute für einen Verzeichnis-Inode angezeigt werden, ist dort ein Kontingent konfiguriert. Fehlen die Attribute, wurde kein Kontingent für das Verzeichnis festgelegt (eventuell jedoch für ein übergeordnetes Verzeichnis).

Mit folgendem Kommando legen Sie ein Kontingent von 100 MB fest:

cephadm@mds > setfattr -n ceph.quota.max_bytes -v 100000000 /SOME/DIRECTORY

Mit folgendem Kommando legen Sie ein Kontingent von 10.000 Dateien fest:

cephadm@mds > setfattr -n ceph.quota.max_files -v 10000 /SOME/DIRECTORY

Mit folgendem Kommando rufen Sie die Kontingenteinstellung ab:

cephadm@mds > getfattr -n ceph.quota.max_bytes /SOME/DIRECTORY
cephadm@mds > getfattr -n ceph.quota.max_files /SOME/DIRECTORY
Anmerkung
Anmerkung: Kein Kontingent festgelegt

Wenn das erweiterte Attribut den Wert „0“ aufweist, ist kein Kontingent festgelegt.

Mit folgendem Kommando entfernen Sie ein Kontingent:

cephadm@mds > setfattr -n ceph.quota.max_bytes -v 0 /SOME/DIRECTORY
cephadm@mds > setfattr -n ceph.quota.max_files -v 0 /SOME/DIRECTORY

19.7 Verwalten von CephFS-Snapshots Edit source

Ein CephFS-Snapshot ist eine schreibgeschützte Ansicht des Dateisystems zu dem Zeitpunkt, zu dem der Snapshot erstellt wurde. Sie können Snapshots in beliebigen Verzeichnissen erstellen. Der Snapshot deckt alle Daten im Dateisystem unter dem angegebenen Verzeichnis ab. Nach dem Erstellen des Snapshots werden die zwischengespeicherten Daten asynchron von verschiedenen Clients verschoben. Die Snapshot-Erstellung ist daher sehr schnell.

Wichtig
Wichtig: Mehrere Dateisysteme

Greifen mehrere CephFS-Dateisysteme auf einen einzelnen Pool zu (über Namespaces), prallen ihre Snapshots aufeinander. Wenn Sie dann einen einzelnen Snapshot löschen, fehlen die entsprechenden Daten in anderen Snapshots, die denselben Pool nutzen.

19.7.1 Erstellen von Snapshots Edit source

Die CephFS-Snapshot-Funktion ist auf neuen Dateisystemen standardmäßig aktiviert. Mit folgendem Kommando aktivieren Sie die Funktion auf vorhandenen Dateisystemen:

cephadm@adm > ceph fs set CEPHFS_NAME allow_new_snaps true

Sobald Sie die Snapshots aktiviert haben, enthalten alle Verzeichnisse im CephFS das besondere Unterverzeichnis .snap.

Für CephFS-Kernel-Clients gilt eine Einschränkung: Diese Clients können maximal 400 Snapshots in einem Verzeichnisbaum verarbeiten. Halten Sie die Anzahl der Snapshots stets unter diesem Grenzwert, unabhängig vom tatsächlichen Client. Wenn Sie mit älteren CephFS-Clients arbeiten (z. B. mit SLE12-SP3), bedenken Sie, dass eine Anzahl von mehr als 400 Snapshots zum Absturz des Clients führt und damit die Abläufe erheblich beeinträchtigt.

Tipp
Tipp: Benutzerdefinierter Name für das Snapshot-Unterverzeichnis

Mit der Einstellung client snapdir können Sie einen anderen Namen für das Snapshot-Unterverzeichnis konfigurieren.

Zum Erstellen eines Snapshots legen Sie ein Unterverzeichnis mit einem benutzerdefinierten Namen unter dem Verzeichnis .snap an. Mit folgendem Kommando erstellen Sie beispielsweise einen Snapshot des Verzeichnisses /CEPHFS_MOUNT/2/3/:

tux > mkdir /CEPHFS_MOUNT/2/3/.snap/CUSTOM_SNAPSHOT_NAME

19.7.2 Löschen von Snapshots Edit source

Soll ein Snapshot gelöscht werden, entfernen Sie das zugehörige Unterverzeichnis aus dem Verzeichnis .snap:

tux > rmdir /CEPHFS_MOUNT/2/3/.snap/CUSTOM_SNAPSHOT_NAME
Diese Seite drucken