Erasure-codierten Pool zu einem Ceph File System hinzufügen

Standardmäßig verwendet Ceph replizierte Pools für Datenpools. Bei Bedarf kann jedoch ein weiterer löschcodierter Datenpool zum Ceph File System hinzugefügt werden.

Vorbereitende Schritte

Bevor Sie beginnen, sollten Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:
  • Ein laufender IBM Storage Ceph -Cluster.
  • Ein vorhandenes Ceph File System.
  • Pools, die BlueStore -OSDs verwenden
  • Zugriff auf Stammebene auf einen Ceph-Monitorknoten.
  • Das installierte Paket attr .

Informationen zu dieser Task

Ceph-Dateisysteme (CephFS), die durch erasure-codierte Pools gesichert werden, verwenden weniger Gesamtspeicher als Ceph-Dateisysteme, die durch replizierte Pools gesichert werden. Während erasure-codierte Pools weniger Gesamtspeicher belegen, verwenden sie auch mehr Speicher und Prozessorressourcen als replizierte Pools.
Wichtig: Verwenden Sie für Produktionsumgebungen den replizierten Standarddatenpool für CephFS. Bei der Erstellung von I-Nodes in CephFS wird mindestens ein Objekt im Standarddatenpool erstellt. Es ist besser, einen replizierten Pool für die Standarddaten zu verwenden, um die Schreibleistung für kleine Objekte zu verbessern und um die Leseleistung für die Aktualisierung von Backtraces zu verbessern.
Weitere Informationen finden Sie unter:

Vorgehensweise

  1. Erstellen Sie einen löschcodierten Datenpool für CephFS.
    ceph osd pool create DATA_POOL_NAME erasure
    Beispiel:
    [ root@mon ~]# ceph osd pool create cephfs-data-ec01 erasure
    pool ' cephfs-data-ec01 ' erstellt
  2. Überprüfen Sie, dass der Pool hinzugefügt wurde.
    [root@mon ~]# ceph osd lspools
  3. Überschreibungen für den erasure-codierten Pool aktivieren.
    ceph osd pool set DATA_POOL_NAME allow_ec_overwrites true
    Beispiel:
    [ root@mon ~]# ceph osd pool set cephfs-data-ec01 allow_ec_overwrites true
    pool 15 allow_ec_overwrites auf true setzen
  4. Überprüfen Sie den Status des Ceph File System.
    ceph fs status FILE_SYSTEM_NAME
    Beispiel:
    [ root@mon ~]# ceph fs status cephfs-ec
    cephfs-ec - 14 Kunden
    =========
    RANG STAAT MDS AKTIVITÄT DNS INOS DIRS CAPS
     0 aktiv cephfs-ec.example.ooymyq Abrufe: 0 /s 8231 8233 891 921
           POOLTYP VERWENDET VERFÜGBAR
    cephfs-metadata-ec metadata 787M 8274G
      cephfs-data-ec Daten 2360G 12.1T
    
           STANDBY MDS
    cephfs-ec.example.irsrql
    cephfs-ec.example.cauuaj
  5. Fügen Sie den erasure-codierten Datenpool zum vorhandenen CephFShinzu.
    ceph fs add_data_pool FILE_SYSTEM_NAME DATA_POOL_NAME
    Im folgenden Beispiel wird der neue Datenpool, cephfs-data-ec01, dem vorhandenen Dateisystem mit Erasure-Code ( cephfs-ec) hinzugefügt.
    [ root@mon ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec01
  6. Überprüfen Sie, ob der Pool mit Löschcode zum Ceph File Systemhinzugefügt wurde.
    ceph fs status FILE_SYSTEM_NAME
    Beispiel:
    [ root@mon ~]# ceph fs status cephfs-ec
    cephfs-ec - 14 Kunden
    =========
    RANG STAAT MDS AKTIVITÄT DNS INOS DIRS CAPS
     0 aktiv cephfs-ec.example.ooymyq Abrufe: 0 /s 8231 8233 891 921
           POOLTYP VERWENDET VERFÜGBAR
    cephfs-metadata-ec metadata 787M 8274G
      cephfs-data-ec Daten 2360G 12.1T
     cephfs-data-ec01 daten 0 12.1T
    
           STANDBY MDS
    cephfs-ec.example.irsrql
    cephfs-ec.example.cauuaj
  7. Legt das Dateilayout für ein neues Verzeichnis fest.
    mkdir PATH_TO_DIRECTORY
    setfattr -n ceph.dir.layout.pool -v DATA_POOL_NAME PATH_TO_DIRECTORY
    Im folgenden Beispiel übernehmen alle neuen Dateien, die im Verzeichnis /mnt/cephfs/newdir erstellt werden, das Verzeichnislayout und stellen die Daten in den neu hinzugefügten erasure-codierten Pool.
    [ root@mon ~]# mkdir /mnt/cephfs/newdir
    [ root@mon ~]# setfattr -n ceph.dir.layout.pool -v cephfs-data-ec01 /mnt/cephfs/newdir