28 Konfiguration des Ceph-Clusters #
In diesem Kapitel wird beschrieben, wie Sie den Ceph-Cluster mithilfe von Konfigurationsoptionen konfigurieren.
28.1 Konfigurieren der Datei ceph.conf #
   cephadm verwendet eine einfache ceph.conf-Datei, die nur einen minimalen Satz von Optionen für die Verbindung mit MONs, die Authentifizierung und das Abrufen von Konfigurationsinformationen enthält. In den meisten Fällen ist dies auf die Option mon_host beschränkt (obwohl dies durch die Verwendung von DNS-SRV-Datensätzen verhindert werden kann).
  
    Die Datei ceph.conf dient nicht mehr als zentraler Ort zum Speichern der Cluster-Konfiguration, sondern zum Speichern der Konfigurationsdatenbank (weitere Informationen hierzu finden Sie in Abschnitt 28.2, „Konfigurationsdatenbank“).
   
    Wenn Sie die Cluster-Konfiguration dennoch über die Datei ceph.conf ändern müssen (zum Beispiel, weil Sie einen Client verwenden, der das Lesen von Optionen aus der Konfigurationsdatenbank nicht unterstützt), müssen Sie folgendes Kommando ausführen und sich um die Pflege und Verteilung der Datei ceph.conf im gesamten Cluster kümmern:
   
cephuser@adm > ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false28.1.1 Zugreifen auf ceph.conf innerhalb der Container-Images #
    Obwohl Ceph-Daemons innerhalb von Containern ausgeführt werden, können Sie dennoch auf deren Konfigurationsdatei ceph.conf zugreifen. Sie ist auf dem Hostsystem als folgende Datei gebunden und eingehängt:
   
/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config
    Ersetzen Sie CLUSTER_FSID durch die eindeutige FSID des aktiven Clusters, wie sie vom Kommando ceph fsid zurückgegeben wird, und DAEMON_NAME durch den Namen des spezifischen Daemons, wie er vom Kommando ceph orch ps aufgeführt wird. Beispiel:
   
/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config
    Um die Konfiguration eines Daemons zu ändern, bearbeiten Sie seine config-Datei und starten Sie ihn neu:
   
# systemctl restart ceph-CLUSTER_FSID-DAEMON_NAMEBeispiel:
# systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2Alle benutzerdefinierten Einstellungen gehen verloren, nachdem cephadm den Daemon neu bereitgestellt hat.
28.2 Konfigurationsdatenbank #
Ceph Monitors verwalten eine zentrale Datenbank mit Konfigurationsoptionen, die das Verhalten des gesamten Clusters beeinflussen.
28.2.1 Konfigurieren von Abschnitten und Masken #
Die vom MON gespeicherten Konfigurationsoptionen können sich in einem globalen Abschnitt, einem Abschnitt für den Daemon-Typ oder einem Abschnitt für den spezifischen Daemon befinden. Darüber hinaus können Optionen auch mit einer Maske verknüpft sein, um weiter einzuschränken, für welche Daemons oder Clients die Option gilt. Es gibt zwei Arten von Masken:
- TYPE:LOCATION, wobei TYPE eine CRUSH-Eigenschaft wie - rackoder- hostist, während LOCATION einen Wert für diese Eigenschaft bezeichnet.- Zum Beispiel schränkt - host:example_hostdie Option nur auf Daemons oder Clients ein, die auf einem bestimmten Host ausgeführt werden.
- CLASS:DEVICE_CLASS, wobei DEVICE_CLASS für den Namen einer CRUSH-Geräteklasse steht wie - HDDoder- SSD. Zum Beispiel beschränkt- class:ssddie Option nur auf OSDs, die von SSDs gesichert werden. Für Nicht-OSD-Daemons oder -Clients hat diese Maske keine Wirkung.
28.2.2 Festlegen und Lesen von Konfigurationsoptionen #
    Mit folgenden Kommandos legen Sie Cluster-Konfigurationsoptionen fest oder lesen sie: Der WHO-Parameter kann ein Abschnittsname, eine Maske oder eine Kombination aus beidem sein, getrennt durch einen Schrägstrich (/). Zum Beispiel steht osd/rack:foo für alle OSD-Daemons im Rack mit dem Namen foo.
   
- ceph config dump
- Gibt die gesamte Konfigurationsdatenbank für einen ganzen Cluster aus. 
- ceph config get WHO
- Gibt die Konfiguration für einen bestimmten Daemon oder Client (z. B. - mds.a) aus, wie sie in der Konfigurationsdatenbank gespeichert ist.
- ceph config set WHO OPTION VALUE
- Legt die Konfigurationsoption auf den angegebenen Wert in der Konfigurationsdatenbank fest. 
- ceph config show WHO
- Zeigt die gemeldete aktive Konfiguration für einen aktiven Daemon an. Diese Einstellungen können von denen abweichen, die von den Monitoren gespeichert werden, wenn auch lokale Konfigurationsdateien verwendet werden oder Optionen auf der Kommandozeile oder zur Laufzeit außer Kraft gesetzt wurden. Die Quelle der Optionswerte wird als Teil der Ausgabe gemeldet. 
- ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
- Importiert eine als INPUT_FILE angegebene Konfigurationsdatei und speichert alle gültigen Optionen in der Konfigurationsdatenbank. Alle Einstellungen, die nicht erkannt werden, ungültig sind oder vom Monitor nicht gesteuert werden können, werden in einer verkürzten Datei zurückgegeben, die als OUTPUT_FILE gespeichert wird. Dieses Kommando ist nützlich für die Umstellung von älteren Konfigurationsdateien auf die zentralisierte monitorbasierte Konfiguration. 
28.2.3 Konfigurieren von Daemons zur Laufzeit #
In den meisten Fällen lässt Ceph es zu, dass Sie Änderungen an der Konfiguration eines Daemons zur Laufzeit vornehmen. Dies ist beispielsweise nützlich, wenn Sie die Menge der Protokollierungsausgabe erhöhen oder verringern müssen oder wenn Sie eine Clusteroptimierung der Laufzeit durchführen.
Sie können die Werte von Konfigurationsoptionen mit folgendem Kommando aktualisieren:
cephuser@adm > ceph config set DAEMON OPTION VALUEFühren Sie zum Anpassen der Protokollstufe für die Fehlersuche zu einem bestimmten OSD folgendes Kommando aus:
cephuser@adm > ceph config set osd.123 debug_ms 20Wenn dieselbe Option auch in einer lokalen Konfigurationsdatei angepasst ist, wird die Monitoreinstellung ignoriert, da sie eine niedrigere Priorität als die Konfigurationsdatei hat.
28.2.3.1 Überschreiben von Werten #
     Sie können einen Optionswert vorübergehend mit den Unterkommandos tell oder daemon ändern. Solche Änderungen wirken sich nur auf den laufenden Prozess aus und werden nach dem Neustart des Daemons oder Prozesses verworfen.
    
Zum Überschreiben von Werten haben Sie zwei Möglichkeiten:
- Senden Sie mit dem Unterkommando - telleine Nachricht von einem beliebigen Cluster-Knoten aus an einen bestimmten Daemon:- cephuser@adm >ceph tell DAEMON config set OPTION VALUE- Beispiel: - cephuser@adm >ceph tell osd.123 config set debug_osd 20Tipp- Mit dem Unterkommando - tellwerden Platzhalter als Daemon-Bezeichner akzeptiert. Führen Sie zum Anpassen der Fehlersuchestufe für alle OSD-Daemons folgendes Kommando aus:- cephuser@adm >ceph tell osd.* config set debug_osd 20
- Stellen Sie mit dem Unterkommando - daemoneine Verbindung zu einem bestimmten Daemon-Prozess über einen Socket in- /var/run/cephvon dem Knoten aus her, auf dem der Prozess ausgeführt wird:- cephuser@adm >cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUE- Beispiel: - cephuser@adm >cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
      Bei der Anzeige von Laufzeiteinstellungen mit dem Kommando ceph config show (weitere Informationen hierzu finden Sie in Abschnitt 28.2.3.2, „Anzeigen der Laufzeiteinstellungen“) werden temporär überschriebene Werte mit der Quelle override angezeigt.
     
28.2.3.2 Anzeigen der Laufzeiteinstellungen #
So zeigen Sie alle für einen Daemon festgelegten Optionen an:
cephuser@adm > ceph config show-with-defaults osd.0So zeigen Sie alle für einen Daemon festgelegten nicht standardmäßigen Optionen an:
cephuser@adm > ceph config show osd.0So prüfen Sie eine bestimmte Option:
cephuser@adm > ceph config show osd.0 debug_osdSie können auch eine Verbindung zu einem aktiven Daemon von dem Knoten aus herstellen, auf dem sein Prozess ausgeführt wird, und seine Konfiguration beobachten:
cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config showSo zeigen Sie nicht standardmäßige Einstellungen an:
cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config diffSo prüfen Sie eine bestimmte Option:
cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd28.3 config-key Speichern #
config-key ist ein Service von Ceph Monitors für allgemeine Zwecke. Er vereinfacht die Verwaltung von Konfigurationsschlüsseln durch die permanente Speicherung von Schlüssel-Wert-Paaren. config-key wird hauptsächlich von Ceph-Werkzeugen und -Daemons verwendet.
  
Nachdem Sie einen neuen Schlüssel hinzugefügt oder einen vorhandenen Schlüssel geändert haben, starten Sie den betroffenen Service neu, damit die Änderungen wirksam werden. Weitere Details zum Betrieb von Ceph-Services finden Sie in Kapitel 14, Betrieb von Ceph-Services.
   Mit dem Kommando  betreiben Sie den config-keyconfig-key-Speicher. Das Kommando config-key verwendet folgende Unterkommandos:
  
- ceph config-key rm KEY
- Löscht den angegebenen Schlüssel. 
- ceph config-key exists KEY
- Prüft, ob der angegebene Schlüssel vorhanden ist. 
- ceph config-key get KEY
- Ruft den Wert des angegebenen Schlüssels ab. 
- ceph config-key ls
- Listet alle Schlüssel auf. 
- ceph config-key dump
- Gibt alle Schlüssel und deren Werte aus. 
- ceph config-key set KEY VALUE
- Speichert den angegebenen Schlüssel mit dem entsprechenden Wert. 
28.3.1 iSCSI Gateway #
    Das iSCSI Gateway speichert oder liest seine Konfigurationsoptionen im config-key-Speicher. Allen auf das iSCSI Gateway bezogenen Schlüsseln wird die Zeichenkette iscsi vorangestellt, wie zum Beispiel:
   
iscsi/trusted_ip_list iscsi/api_port iscsi/api_user iscsi/api_password iscsi/api_secure
    Wenn Sie beispielsweise zwei Sätze von Konfigurationsoptionen benötigen, erweitern Sie das Präfix um ein weiteres beschreibendes Schlüsselwort, z. B. datacenterA und datacenterB:
   
iscsi/datacenterA/trusted_ip_list iscsi/datacenterA/api_port [...] iscsi/datacenterB/trusted_ip_list iscsi/datacenterB/api_port [...]
28.4 Ceph OSD und BlueStore #
28.4.1 Konfigurieren der automatischen Cache-Größe #
    BlueStore kann so konfiguriert werden, dass die Größe der Caches automatisch geändert wird, wenn tc_malloc als Arbeitsspeicherzuordner konfiguriert und die Einstellung bluestore_cache_autotune aktiviert ist. Diese Option ist derzeit standardmäßig aktiviert. BlueStore versucht mit der Konfigurationsoption osd_memory_target, die Auslastung des OSD-Heap-Speichers unter einer bestimmten Zielgröße zu halten. Dies ist ein Best-Effort-Algorithmus und die Caches werden nicht auf eine Größe unter dem mit osd_memory_cache_min angegebenen Wert verkleinert. Die Cache-Verhältnisse werden auf der Grundlage einer Prioritätenhierarchie festgelegt. Wenn keine Prioritätsdaten vorliegen, werden die Optionen bluestore_cache_meta_ratio und bluestore_cache_kv_ratio herangezogen.
   
- bluestore_cache_autotune
- Passt automatisch die Verhältnisse an, die verschiedenen BlueStore-Caches zugewiesen sind, und beachtet dabei die Mindestwerte. Die Standardeinstellung ist - true.
- osd_memory_target
- Wenn - tc_mallocund- bluestore_cache_autotuneaktiviert sind, wird versucht, die Zuordnung dieser Datenmenge (in Byte) im Speicher beizubehalten.Anmerkung- Dies ist nicht völlig mit der RSS-Speichernutzung des Prozesses identisch. Die Gesamtmenge an Heap-Speicher, die durch den Prozess zugeordnet wird, sollte im Allgemeinen nahe an diesem Ziel legen. Es gibt jedoch keine Garantie, dass der Kernel den Speicher, dessen Zuordnung aufgehoben wurde, tatsächlich freigibt. 
- osd_memory_cache_min
- Wenn - tc_mallocund- bluestore_cache_autotuneaktiviert sind, legen Sie die Mindestspeichermenge für Caches fest.Anmerkung- Ein zu niedriger Wert kann zu einer erheblichen Cache-Überlastung führen. 
28.5 Ceph Object Gateway #
Sie können das Verhalten des Object Gateways durch eine Reihe von Optionen beeinflussen. Wenn eine Option nicht angegeben ist, wird ihr Standardwert verwendet. Liste aller Object-Gateway-Optionen:
28.5.1 Allgemeine Einstellungen #
- rgw_frontends
- Konfiguriert das oder die HTTP-Front-Ends. Geben Sie mehrere Front-Ends in einer durch Komma getrennten Liste an. Die einzelnen Front-End-Konfigurationen können eine Liste mit Optionen umfassen, die durch Leerzeichen getrennt sind. Die Optionen werden jeweils in der Form „Schlüssel=Wert“ oder „Schlüssel“ angegeben. Der Standardwert ist - beast port=7480.
- rgw_data
- Bestimmt den Speicherort der Datendateien für das Object Gateway. Die Standardeinstellung ist - /var/lib/ceph/radosgw/CLUSTER_ID.
- rgw_enable_apis
- Aktiviert die angegebenen APIs. Die Standardeinstellung ist „s3, swift, swift_auth, admin All APIs“. 
- rgw_cache_enabled
- Aktiviert oder deaktiviert den Object-Gateway-Cache. Die Standardeinstellung ist - true.
- rgw_cache_lru_size
- Anzahl der Einträge im Object-Gateway-Cache. Der Standardwert ist 10000. 
- rgw_socket_path
- Socket-Pfad für den Domänen-Socket. - FastCgiExternalServernutzt diesen Socket. Wenn Sie keinen Socket-Pfad angeben, wird das Object Gateway nicht als externer Server ausgeführt. Hier muss derselbe Pfad angegeben werden wie in der Datei- rgw.conf.
- rgw_fcgi_socket_backlog
- Socket-Backlog für fcgi. Der Standardwert ist 1024. 
- rgw_host
- Host für die Object-Gateway-Instanz. Dies kann eine IP-Adresse oder ein Hostname sein. Der Standardwert ist - 0.0.0.0.
- rgw_port
- Portnummer, die die Instanz auf Anforderungen überwacht. Falls hier kein Wert angegeben ist, wird externes FastCGI auf dem Object Gateway ausgeführt. 
- rgw_dns_name
- DNS-Name der bedienten Domäne. 
- rgw_script_uri
- Alternativwert für die SCRIPT_URI, falls dieser in der Anforderung nicht angegeben ist. 
- rgw_request_uri
- Alternativwert für die REQUEST_URI, falls dieser in der Anforderung nicht angegeben ist. 
- rgw_print_continue
- Bei Betriebsbereitschaft aktivieren Sie „100-continue“. Die Standardeinstellung ist - true.
- rgw_remote_addr_param
- Remote-Adressparameter. Dies ist beispielsweise das HTTP-Feld mit der Remote-Adresse oder die X-Forwarded-For-Adresse, wenn ein Reverse-Proxy verwendet wird. Die Standardeinstellung ist - REMOTE_ADDR.
- rgw_op_thread_timeout
- Zeitüberschreitung (in Sekunden) für offene Threads. Der Standardwert ist 600. 
- rgw_op_thread_suicide_timeout
- Zeitüberschreitung (in Sekunden), bevor der Object-Gateway-Prozess abgebrochen wird. Beim Wert 0 (Standard) ist dies deaktiviert. 
- rgw_thread_pool_size
- Anzahl der Threads für den Beast-Server. Erhöhen Sie den Wert, wenn Sie mehr Anforderungen verarbeiten müssen. Der Standardwert ist 100 Threads. 
- rgw_num_rados_handles
- Anzahl der RADOS-Cluster-Zugriffsnummern für das Object Gateway. Jeder Object-Gateway-Worker-Thread kann nun eine RADOS-Zugriffsnummer für seine Gültigkeitsdauer auswählen. Diese Option wird unter Umständen aus künftigen Versionen als veraltet entfernt. Der Standardwert ist 1. 
- rgw_num_control_oids
- Anzahl der Benachrichtigungsobjekte für die Cache-Synchronisierung zwischen verschiedenen Object-Gateway-Instanzen. Der Standardwert ist 8. 
- rgw_init_timeout
- Zeitraum (in Sekunden), bevor das Object Gateway die Initialisierung abbricht. Der Standardwert ist 30. 
- rgw_mime_types_file
- Pfad und Speicherort der MIME-Typen. Für die Swift-Autoerkennung von Objekttypen. Die Standardeinstellung ist - /etc/mime.types.
- rgw_gc_max_objs
- Maximale Anzahl der Objekte, die durch die Speicherbereinigung in einem einzelnen Speicherbereinigungszyklus verarbeitet werden kann. Der Standardwert ist 32. 
- rgw_gc_obj_min_wait
- Minimale Wartezeit, bevor das Objekt entfernt und durch die Speicherbereinigung verarbeitet werden kann. Der Standardwert ist 2*3600. 
- rgw_gc_processor_max_time
- Maximaler Zeitraum zwischen dem Beginn zweier aufeinanderfolgender Speicherbereinigungszyklen. Der Standardwert ist 3600. 
- rgw_gc_processor_period
- Zyklusdauer für die Speicherbereinigung. Der Standardwert ist 3600. 
- rgw_s3_success_create_obj_status
- Alternative Erfolgsstatusantwort für - create-obj. Der Standardwert ist 0.
- rgw_resolve_cname
- Angabe, ob das Object Gateway den Datensatz DNS CNAME aus dem Feld für den Hostnamen in der Anforderung heranziehen soll (falls der Hostname nicht mit dem DNS-Namen des Object Gateways übereinstimmt). Die Standardeinstellung ist - false.
- rgw_obj_stripe_size
- Größe eines Objekt-Stripes für Object-Gateway-Objekte. Der Standardwert ist - 4 << 20.
- rgw_extended_http_attrs
- Fügt einen neuen Attributsatz ein, der für eine Entität festgelegt werden kann (z. B. einen Benutzer, einen Bucket oder ein Objekt). Diese zusätzlichen Attribute können mithilfe von HTTP-Header-Feldern festgelegt werden, wenn die Entität platziert oder mit der POST-Methode bearbeitet wird. Wenn diese Option aktiviert ist, werden diese Attribute als HTTP-Felder zurückgegeben, wenn GET/HEAD für die Entität angefordert wird. Die Standardeinstellung ist - content_foo, content_bar, x-foo-bar.
- rgw_exit_timeout_secs
- Wartezeit (in Sekunden) für einen Prozess, bevor er uneingeschränkt beendet wird. Der Standardwert ist 120. 
- rgw_get_obj_window_size
- Fenstergröße (in Byte) für eine einzelne Objektanforderung. Der Standardwert ist - 16 << 20.
- rgw_get_obj_max_req_size
- Maximale Anforderungsgröße einer einzelnen GET-Operation, die an den Ceph Storage Cluster gesendet wird. Der Standardwert ist - 4 << 20.
- rgw_relaxed_s3_bucket_names
- Aktiviert lockere Namensregeln für S3-Buckets in der US-Region. Die Standardeinstellung ist - false.
- rgw_list_buckets_max_chunk
- Maximale Anzahl an Buckets, die in einer einzelnen Operation zum Auflisten der Benutzer-Buckets abgerufen werden soll. Der Standardwert ist 1000. 
- rgw_override_bucket_index_max_shards
- Anzahl der Shards für das Bucket-Indexobjekt. Bei der Einstellung 0 (Standard) wird kein Sharding durchgeführt. Ein zu hoher Wert (z. B. 1.000) wird nicht empfohlen, da dies die Kosten für die Bucket-Auflistung erhöht. Diese Variable ist im Client-Abschnitt oder im globalen Abschnitt festzulegen, damit sie bei einem Kommando - radosgw-adminautomatisch übernommen wird.
- rgw_curl_wait_timeout_ms
- Zeitüberschreitung (in Millisekunden) für bestimmte - curl-Aufrufe. Der Standardwert ist 1000.
- rgw_copy_obj_progress
- Aktiviert die Ausgabe des Objektfortschritts bei umfangreichen Kopiervorgängen. Die Standardeinstellung ist - true.
- rgw_copy_obj_progress_every_bytes
- Minimale Datenmenge (in Byte) zwischen zwei Ausgaben des Kopierfortschritts. Der Standardwert ist 1024*1024. 
- rgw_admin_entry
- Der Einstiegspunkt für eine Admin-Anforderungs-URL. Die Standardeinstellung ist - admin.
- rgw_content_length_compat
- Aktiviert die Kompatibilitätsverarbeitung von FCGI-Anforderungen, bei denen sowohl CONTENT_LENGTH als auch HTTP_CONTENT_LENGTH festgelegt ist. Die Standardeinstellung ist - false.
- rgw_bucket_quota_ttl
- Zeitraum (in Sekunden), über den die im Cache gespeicherten Kontingentdaten als verbürgt gelten. Nach Ablauf dieser Zeitüberschreitung werden die Kontingentdaten erneut aus dem Cluster abgerufen. Der Standardwert ist 600. 
- rgw_user_quota_bucket_sync_interval
- Zeitraum (Sekunden), über den die Bucket-Kontingentdaten akkumuliert werden, bevor sie mit dem Cluster synchronisiert werden. In diesem Zeitraum können andere Object-Gateway-Instanzen die Veränderungen an der Bucket-Kontingentstatistik im Zusammenhang mit Operationen für diese Instanz nicht sehen. Der Standardwert ist 180. 
- rgw_user_quota_sync_interval
- Zeitraum (Sekunden), über den die Benutzer-Kontingentdaten akkumuliert werden, bevor sie mit dem Cluster synchronisiert werden. In diesem Zeitraum können andere Object-Gateway-Instanzen die Veränderungen an der Benutzer-Kontingentstatistik im Zusammenhang mit Operationen für diese Instanz nicht sehen. Der Standardwert ist 180. 
- rgw_bucket_default_quota_max_objects
- Standardmäßige maximale Anzahl der Objekte pro Bucket. Dieser Wert wird für neue Benutzer festgelegt, wenn kein anderes Kontingent angegeben wurde. Er wirkt sich nicht auf vorhandene Benutzer aus. Diese Variable ist im Client-Abschnitt oder im globalen Abschnitt festzulegen, damit sie bei einem Kommando - radosgw-adminautomatisch übernommen wird. Der Standardwert ist -1.
- rgw_bucket_default_quota_max_size
- Standardmäßige maximale Kapazität pro Bucket (in Byte). Dieser Wert wird für neue Benutzer festgelegt, wenn kein anderes Kontingent angegeben wurde. Er wirkt sich nicht auf vorhandene Benutzer aus. Der Standardwert ist -1. 
- rgw_user_default_quota_max_objects
- Standardmäßige maximale Anzahl der Objekte für einen Benutzer. Hierzu zählen alle Objekte in allen Buckets, die im Eigentum des Benutzers stehen. Dieser Wert wird für neue Benutzer festgelegt, wenn kein anderes Kontingent angegeben wurde. Er wirkt sich nicht auf vorhandene Benutzer aus. Der Standardwert ist -1. 
- rgw_user_default_quota_max_size
- Wert für das benutzerspezifische maximale Größenkontingent (in Byte). Dieser Wert wird für neue Benutzer festgelegt, wenn kein anderes Kontingent angegeben wurde. Er wirkt sich nicht auf vorhandene Benutzer aus. Der Standardwert ist -1. 
- rgw_verify_ssl
- Überprüft SSL-Zertifikate im Rahmen von Anforderungen. Die Standardeinstellung ist - true.
- rgw_max_chunk_size
- Die maximale Größe eines Datenblocks, der bei einer einzelnen Operation gelesen wird. Die Leistung bei der Verarbeitung von großen Objekten wird verbessert, wenn der Wert auf 4 MB (4194304) erhöht wird. Der Standardwert ist 128 KB (131072). 
- rgw_zone
- Name der Zone für die Gateway-Instanz. Wenn keine Zone festgelegt ist, können Sie mit dem Kommando - radosgw-admin zone defaulteine clusterweite Standardeinstellung festlegen.
- rgw_zonegroup
- Name der Zonengruppe für die Gateway-Instanz. Wenn keine Zonengruppe festgelegt ist, können Sie mit dem Kommando - radosgw-admin zonegroup defaulteine clusterweite Standardeinstellung festlegen.
- rgw_realm
- Name des Bereichs für die Gateway-Instanz. Wenn kein Bereich festgelegt ist, können Sie mit dem Kommando - radosgw-admin realm defaulteine clusterweite Standardeinstellung festlegen.
- rgw_run_sync_thread
- Wenn der Bereich weitere Zonen für die Synchronisierung umfasst, werden Threads erzeugt, die die Synchronisierung der Daten und Metadaten übernehmen. Die Standardeinstellung ist - true.
- rgw_data_log_window
- Zeitfenster (in Sekunden) für Datenprotokolleinträge. Der Standardwert ist 30. 
- rgw_data_log_changes_size
- Anzahl der Einträge im Speicher, die für das Datenänderungsprotokoll beibehalten werden sollen. Der Standardwert ist 1000. 
- rgw_data_log_obj_prefix
- Objektnamenpräfix für das Datenprotokoll. Die Standardeinstellung ist „data_log“. 
- rgw_data_log_num_shards
- Anzahl der Shards (Objekte), in denen das Datenänderungsprotokoll abgelegt werden soll. Der Standardwert ist 128. 
- rgw_md_log_max_shards
- Maximale Anzahl der Shards für das Metadaten-Protokoll. Der Standardwert ist 64. 
- rgw_enforce_swift_acls
- Erzwingt die Swift-Einstellungen für die Zugriffssteuerungsliste (ACL). Die Standardeinstellung ist - true.
- rgw_swift_token_expiration
- Zeitraum (in Sekunden), nach dem ein Swift-Token abläuft. Der Standardwert ist 24*3600. 
- rgw_swift_url
- URL für die Swift-API des Ceph Object Gateway. 
- rgw_swift_url_prefix
- URL-Präfix für Swift StorageURL, das dem Teil „/v1“ vorangestellt wird. Hiermit können mehrere Gateway-Instanzen auf demselben Host ausgeführt werden. Wenn diese Konfigurationsvariable leer bleibt, wird aus Kompatibilitätsgründen die Standardeinstellung „/swift“ verwendet. Mit dem expliziten Präfix „/“ wird StorageURL im Root-Verzeichnis gestartet. Warnung- Es ist nicht möglich, „/“ für diese Option festzulegen, wenn die S3-API aktiviert ist. Wichtiger Hinweis: Wenn S3 deaktiviert wird, kann das Object Gateway nicht in der Konfiguration für mehrere Standorte implementiert werden. 
- rgw_swift_auth_url
- Standard-URL die Überprüfung der v1-Authentifizierungs-Token, wenn die interne Swift-Authentifizierung nicht verwendet wird. 
- rgw_swift_auth_entry
- Einstiegspunkt für eine Swift-Authentifizierungs-URL. Die Standardeinstellung ist - auth.
- rgw_swift_versioning_enabled
- Aktiviert die Objektversionierung der OpenStack Object Storage-API. Damit können Clients das Attribut - X-Versions-Locationfür Container festlegen, die versioniert werden sollen. Das Attribut bestimmt den Namen des Containers, in dem die archivierten Versionen gespeichert werden. Aus Gründen der Zugriffssteuerungsprüfung muss dieser Container im Eigentum desselben Benutzers stehen wie der versionierte Container – ACLs werden nicht berücksichtigt. Diese Container können nicht mit dem S3-Mechanismus zur Objektversionierung versioniert werden. Die Standardeinstellung ist- false.
- rgw_log_nonexistent_bucket
- Hiermit kann das Object Gateway eine Anforderung nach einem nicht vorhandenen Bucket protokollieren. Die Standardeinstellung ist - false.
- rgw_log_object_name
- Protokollierungsformat für einen Objektnamen. Weitere Informationen zu Formatspezifizierern finden Sie auf der Handbuchseite - man 1 date. Die Standardeinstellung ist- %Y-%m-%d-%H-%i-%n.
- rgw_log_object_name_utc
- Angabe, ob ein protokollierter Objektname eine UTC-Zeit enthält. Bei der Einstellung - false(Standard) wird die Ortszeit verwendet.
- rgw_usage_max_shards
- Maximale Anzahl der Shards für die Auslastungsprotokollierung. Der Standardwert ist 32. 
- rgw_usage_max_user_shards
- Maximale Anzahl der Shards für die Auslastungsprotokollierung für einen einzelnen Benutzer . Der Standardwert ist 1. 
- rgw_enable_ops_log
- Aktiviert die Protokollierung für jede erfolgreiche Object-Gateway-Operation. Die Standardeinstellung ist - false.
- rgw_enable_usage_log
- Aktiviert das Auslastungsprotokoll. Die Standardeinstellung ist - false.
- rgw_ops_log_rados
- Angabe, ob das Operationsprotokoll in das Ceph Storage ClusterࢮBack-End geschrieben werden soll. Die Standardeinstellung ist - true.
- rgw_ops_log_socket_path
- Unix-Domänen-Socket für das Schreiben der Operationsprotokolle. 
- rgw_ops_log_data_backlog
- Maximale Datengröße des Daten-Backlogs für Operationsprotokolle, die auf einen Unix-Domänen-Socket geschrieben werden. Der Standardwert ist 5 << 20. 
- rgw_usage_log_flush_threshold
- Anzahl der kürzlich bearbeiteten („dirty“) zusammengeführten Einträge im Auslastungsprotokoll, bevor sie synchron verschoben werden. Der Standardwert ist 1024. 
- rgw_usage_log_tick_interval
- Auslastungsprotokolldaten zu ausstehenden Verschiebungen alle „n“ Sekunden. Der Standardwert ist 30. 
- rgw_log_http_headers
- Durch Komma getrennte Liste der HTTP-Header, die in Protokolleinträge aufgenommen werden sollen. Bei Header-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Geben Sie den vollständigen Header-Namen ein und trennen Sie die einzelnen Wörter jeweils durch Unterstrich. Beispiel: „http_x_forwarded_for“, „http_x_special_k“. 
- rgw_intent_log_object_name
- Protokollierungsformat für den Intent-Protokollobjektnamen. Weitere Informationen zu Formatspezifizierern finden Sie auf der Handbuchseite - man 1 date. Die Standardeinstellung ist „%Y-%m-%d-%i-%n“.
- rgw_intent_log_object_name_utc
- Angabe, ob der Intent-Protokollobjektname eine UTC-Zeit enthält. Bei der Einstellung - false(Standard) wird die Ortszeit verwendet.
- rgw_keystone_url
- URL für den Keystone-Server. 
- rgw_keystone_api_version
- Version (2 oder 3) der OpenStack Identity-API, über die die Kommunikation mit dem Keystone-Server abgewickelt werden soll. Der Standardwert ist 2. 
- rgw_keystone_admin_domain
- Name der OpenStack-Domäne mit Administratorberechtigung bei Verwendung der OpenStack Identity-API v3. 
- rgw_keystone_admin_project
- Name des OpenStack-Projekts mit Administratorberechtigung bei Verwendung der OpenStack Identity-API v3. Falls kein Wert angegeben ist, wird stattdessen der Wert für - rgw keystone admin tenantverwendet.
- rgw_keystone_admin_token
- Keystone-Administrator-Token (gemeinsames Geheimnis). Im Object Gateway hat die Authentifizierung mit dem Administrator-Token den Vorrang vor der Authentifizierung mit dem Administrator-Berechtigungsnachweis (Optionen - rgw keystone admin user,- rgw keystone admin password,- rgw keystone admin tenant,- rgw keystone admin projectund- rgw keystone admin domain). Die Administrator-Token-Funktion gilt als veraltet.
- rgw_keystone_admin_tenant
- Name des OpenStack-Mandanten mit Administratorberechtigung (Servicemandant) bei Verwendung der OpenStack Identity-API v2. 
- rgw keystone admin user
- Name des OpenStack-Benutzers mit Administratorberechtigung für die Keystone-Authentifizierung (Servicebenutzer) bei Verwendung der OpenStack Identity-API v2. 
- rgw_keystone_admin_password
- Passwort für den verwaltungsberechtigten OpenStack-Benutzer bei Verwendung der OpenStack Identity-API v2. 
- rgw_keystone_accepted_roles
- Die Rollen zur Verarbeitung der Anforderungen. Die Standardeinstellung ist „Member“, „admin“. 
- rgw_keystone_token_cache_size
- Maximale Anzahl der Einträge pro Keystone-Token-Cache. Der Standardwert ist 10000. 
- rgw_keystone_revocation_interval
- Zeitraum (in Sekunden) zwischen zwei Überprüfungen, ob Token entzogen wurden. Der Standardwert ist 15*60. 
- rgw_keystone_verify_ssl
- Überprüft SSL-Zertifikate im Rahmen von Token-Anforderungen an Keystone. Die Standardeinstellung ist - true.
28.5.1.1 Weitere Hinweise #
- rgw_dns_name
- Ermöglicht Clients die Verwendung von - vhost-Buckets.- Der - vhost-Zugriff bezieht sich auf die Verwendung des bucketname.s3-endpoint/object-path. Dies ist im Vergleich zum- path-Zugriff: s3-endpoint/bucket/object- Wenn der - rgw dns namefestgelegt ist, müssen Sie überprüfen, ob der S3 Client so konfiguriert ist, dass er Anforderungen zu dem Endpunkt leitet, der durch- rgw dns nameangegeben ist.
28.5.2 Konfigurieren von HTTP-Frontends #
28.5.2.1 Beast #
- port, ssl_port
- Portnummern der zu überwachenden IPv4- und IPv6-Ports. Sie können mehrere Portnummern angeben: - port=80 port=8000 ssl_port=8080 - Der Standardwert ist 80. 
- endpoint, ssl_endpoint
- Zu überwachende Adressen in der Form „address[:port]“, wobei die Adresse als IPv4-Adresszeichenkette mit Dezimalziffern und Punkten oder als IPv6-Adresse mit hexadezimaler Schreibweise in eckigen Klammern angegeben wird. Wenn Sie hier einen IPv6-Endpunkt angeben, wird lediglich IPv6 überwacht. Die optionale Portnummer lautet standardmäßig 80 für - endpointund 443 für- ssl_endpoint. Sie können mehrere Adressen angeben:- endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080 
- ssl_private_key
- Optionaler Pfad zur Datei mit dem privaten Schlüssel für SSL-fähige Endpunkte. Wenn hier kein Wert angegeben ist, wird die Datei - ssl_certificateals privater Schlüssel herangezogen.
- tcp_nodelay
- Wenn hier ein Wert angegeben ist, deaktiviert die Socket-Option den Nagle-Algorithmus für die Verbindung. Dies bedeutet, dass Pakete so bald wie möglich gesendet werden, statt abzuwarten, bis der Puffer gefüllt ist oder eine Zeitüberschreitung eintritt. - Mit dem Wert „1“ wird der Nagle-Algorithmus für alle Sockets deaktiviert. - Mit dem Wert „0“ bleibt der Nagle-Algorithmus aktiviert (Standard). 
cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min1.kwwazo \
 rgw_frontends beast port=8000 ssl_port=443 \
 ssl_certificate=/etc/ssl/ssl.crt \
 error_log_file=/var/log/radosgw/beast.error.log28.5.2.2 CivetWeb #
- Anschluss
- Portnummer des zu überwachenden Ports. Bei SSL-fähigen Ports hängen Sie das Suffix „s“ an (z. B. „443s“). Soll eine bestimmte IPv4- oder IPv6-Adresse gebunden werden, beachten Sie die Form „address:port“. Sie können mehrere Endpunkte angeben. Verbinden Sie sie wahlweise mit „+“ oder legen Sie mehrere Optionen fest: - port=127.0.0.1:8000+443s port=8000 port=443s - Der Standardwert ist 7480. 
- num_threads
- Anzahl der Threads, die CivetWeb zur Verarbeitung eingehender HTTP-Verbindungen erzeugt. Hiermit wird letztlich die Anzahl der gleichzeitigen Verbindungen verringert, die durch das Front-End verarbeitet werden können. - Der Standardwert ist der Wert der Option - rgw_thread_pool_size.
- request_timeout_ms
- Zeitraum (in Millisekunden), über den CivetWeb auf weitere eingehende Daten wartet, bevor der Vorgang abgebrochen wird. - Der Standardwert ist 30.000 Millisekunden. 
- access_log_file
- Pfad der Zugriffsprotokolldatei. Sie können entweder einen vollständigen Pfad angeben oder einen Pfad relativ zum aktuellen Arbeitsverzeichnis. Wenn hier kein Wert angegeben ist (Standard), werden die Zugriffe nicht protokolliert. 
- error_log_file
- Pfad der Fehlerprotokolldatei. Sie können entweder einen vollständigen Pfad angeben oder einen Pfad relativ zum aktuellen Arbeitsverzeichnis. Wenn hier kein Wert angegeben ist (Standard), werden die Fehler nicht protokolliert. 
/etc/ceph/ceph.conf #cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min2.ingabw \
 rgw_frontends civetweb port=8000+443s request_timeout_ms=30000 \
 error_log_file=/var/log/radosgw/civetweb.error.log28.5.2.3 Allgemeine Optionen #
- ssl_certificate
- Pfad zur SSL-Zertifikatsdatei für SSL-fähige Endpunkte. 
- Präfix
- Eine Präfixzeichenkette, die in die URI aller Anforderungen eingefügt wird. Ein Frontend, das ausschließlich mit Swift arbeitet, könnte beispielsweise das URI-Präfix - /swiftausgeben.