28 Configurazione del cluster Ceph #
Questo capitolo descrive come configurare il cluster Ceph utilizzando le opzioni apposite.
28.1 Configurazione del file ceph.conf
#
cephadm utilizza un file ceph.conf
di base che contiene soltanto un insieme minimo di opzioni per la connessione ai MON, l'autenticazione e il recupero delle informazioni di configurazione. Nella maggior parte dei casi, ciò è limitato all'opzione mon_host
(anche se è possibile evitarlo utilizzando i record DNS SRV).
Il file ceph.conf
non funge più da posizione centrale per la memorizzazione della configurazione del cluster, a favore del database di configurazione (vedere la Sezione 28.2, «Database di configurazione»).
Se tuttavia è necessario modificare la configurazione del cluster tramite il file ceph.conf
, ad esempio perché si utilizza un client che non è in grado di supportare le opzioni di lettura dal database di configurazione, è necessario eseguire il comando seguente e mantenere e distribuire il file ceph.conf
nell'intero cluster:
cephuser@adm >
ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false
28.1.1 Accesso a ceph.conf
nelle immagini del container #
Nonostante i daemon Ceph vengano eseguiti all'interno dei container, è possibile comunque accedere al relativo file di configurazione ceph.conf
, montato in bind mount, come il file seguente sul sistema host:
/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config
Sostituire CLUSTER_FSID con l'FSID univoco del cluster in esecuzione così come restituito dal comando ceph fsid
e DAEMON_NAME con il nome del daemon specifico così come riportato dal comando ceph orch ps
. Esempio:
/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config
Per modificare la configurazione di un daemon, modificare il relativo file config
e riavviarlo:
#
systemctl restart ceph-CLUSTER_FSID-DAEMON_NAME
Esempio:
#
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2
Tutte le impostazioni personalizzate andranno perse dopo che cephadm ripeterà la distribuzione del daemon.
28.2 Database di configurazione #
I Ceph Monitor gestiscono un database centrale delle opzioni di configurazione che influiscono sul comportamento dell'intero cluster.
28.2.1 Sezioni e maschere di configurazione #
Le opzioni di configurazione archiviate dal MON possono risiedere in una sezione globale oppure in una sezione del tipo di daemon o di un daemon specifico. Le opzioni possono disporre inoltre di una maschera associata per limitare ulteriormente i daemon o i client a cui sono applicate. Le maschere presentano due forme:
TYPE:LOCATION, dove TYPE indica una proprietà CRUSH, come
rack
oppurehost
, e LOCATION indica un valore relativo a tale proprietà.Ad esempio,
host:example_host
limiterà l'opzione soltanto ai daemon o ai client in esecuzione su un determinato host.CLASS:DEVICE_CLASS, dove DEVICE_CLASS indica il nome di una classe di dispositivi CRUSH, come
hdd
ossd
. Ad esempio,class:ssd
limiterà l'opzione soltanto agli OSD supportati dai dispositivi SSD. Questa maschera non ha alcun effetto sui daemon o i client non OSD.
28.2.2 Impostazione e lettura delle opzioni di configurazione #
Utilizzare i comandi seguenti per impostare o leggere le opzioni di configurazione del cluster. Il parametro WHO può essere il nome di una sezione, una maschera o entrambe, separate da una barra (/). Ad esempio, osd/rack:foo
rappresenta tutti i daemon OSD nel rack denominato foo
.
ceph config dump
Esegue il dump di tutto il database di configurazione per l'intero cluster.
ceph config get WHO
Esegue il dump della configurazione per un daemon o client specifico (ad esempio,
mds.a
) archiviato nel database di configurazione.ceph config set WHO OPTION VALUE
Imposta l'opzione di configurazione sul valore specificato nel database di configurazione.
ceph config show WHO
Mostra la configurazione in esecuzione segnalata per un daemon in esecuzione. Se sono in uso anche dei file di configurazione locali o se le opzioni sono state sostituite nella riga di comando o al runtime, queste impostazioni possono differire da quelle archiviate dai monitor. L'origine dei valori di opzione è riportata come parte dell'output.
ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
Importa un file di configurazione specificato come INPUT_FILE e archivia le opzioni valide nel database di configurazione. Le impostazioni non riconosciute, non valide o che non possono essere controllate dal monitor verranno restituite in un file abbreviato archiviato come OUTPUT_FILE. Questo comando è utile per eseguire la transizione dai file di configurazione esistenti alla configurazione centralizzata basata su monitor.
28.2.3 Configurazione dei daemon al runtime #
Nella maggior parte dei casi, Ceph consente di apportare modifiche alla configurazione di un daemon al runtime. Ciò è utile, ad esempio, se è necessario aumentare o diminuire il numero di output di log o durante l'ottimizzazione del cluster di runtime.
È possibile aggiornare i valori delle opzioni di configurazione con il comando seguente:
cephuser@adm >
ceph config set DAEMON OPTION VALUE
Ad esempio, per regolare il livello di log di debug su un OSD specifico, eseguire:
cephuser@adm >
ceph config set osd.123 debug_ms 20
Se la stessa opzione è personalizzata anche in un file di configurazione locale, l'impostazione del monitor verrà ignorata poiché ha un livello di priorità inferiore rispetto al file di configurazione.
28.2.3.1 Sostituzione dei valori #
È possibile modificare temporaneamente un valore di opzione tramite i sottocomandi tell
o daemon
. Tale modifica influisce soltanto sul processo in esecuzione e viene eliminata in seguito al riavvio del daemon o del processo.
Esistono due modi per sostituire i valori:
Utilizzare il sottocomando
tell
per inviare un messaggio a un daemon specifico da un qualsiasi nodo del cluster:cephuser@adm >
ceph tell DAEMON config set OPTION VALUEEsempio:
cephuser@adm >
ceph tell osd.123 config set debug_osd 20SuggerimentoIl sottocomando
tell
accetta i caratteri jolly come identificatori del daemon. Ad esempio, per regolare il livello di debug su tutti i daemon OSD, eseguire:cephuser@adm >
ceph tell osd.* config set debug_osd 20Utilizzare il sottocomando
daemon
per connettersi a un processo del daemon specifico tramite un socket in/var/run/ceph
dal nodo su cui è in esecuzione il processo:cephuser@adm >
cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUEEsempio:
cephuser@adm >
cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
Durante la visualizzazione delle impostazioni di runtime con il comando ceph config show
(vedere la Sezione 28.2.3.2, «Visualizzazione delle impostazioni di runtime»), i valori temporaneamente sostituiti vengono mostrati con un valore override
di origine.
28.2.3.2 Visualizzazione delle impostazioni di runtime #
Per visualizzare tutte le opzioni impostate per un daemon:
cephuser@adm >
ceph config show-with-defaults osd.0
Per visualizzare tutte le opzioni non di default impostate per un daemon:
cephuser@adm >
ceph config show osd.0
Per ispezionare un'opzione specifica:
cephuser@adm >
ceph config show osd.0 debug_osd
È possibile inoltre connettersi a un daemon in esecuzione dal nodo su cui è in esecuzione tale processo e osservarne la configurazione:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config show
Per visualizzare soltanto le impostazioni non di default:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config diff
Per ispezionare un'opzione specifica:
cephuser@adm >
cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd
28.3 config-key
memorizzazione #
config-key
è un servizio per utilizzo generico offerto dai Ceph Monitor. Semplifica la gestione delle chiavi di configurazione tramite la memorizzazione permanente delle coppie di chiave-valore. config-key
è utilizzato principalmente dagli strumenti e dai daemon Ceph.
Dopo aver aggiunto una nuova chiave o averne modificata una esistente, riavviare il servizio interessato per applicare le modifiche. Nel Capitolo 14, Funzionamento dei servizi Ceph è possibile trovare ulteriori dettagli sull'attivazione dei servizi Ceph.
Utilizzare il comando per eseguire l'archivio
config-key
config-key. Il comando config-key
utilizza i sottocomandi seguenti:
ceph config-key rm KEY
Elimina la chiave specificata.
ceph config-key exists KEY
Verifica la presenza della chiave specificata.
ceph config-key get KEY
Recupera il valore della chiave specificata.
ceph config-key ls
Elenca tutte le chiavi.
ceph config-key dump
Esegue il dump di tutte le chiavi e dei relativi valori.
ceph config-key set KEY VALUE
Archivia la chiave specificata con il valore specificato.
28.3.1 iSCSI Gateway #
iSCSI Gateway utilizza l'archivio config-key
per salvare o leggere le relative opzioni di configurazione. Tutte le chiavi relative a iSCSI Gateway dispongono del prefisso iscsi
, ad esempio:
iscsi/trusted_ip_list iscsi/api_port iscsi/api_user iscsi/api_password iscsi/api_secure
Se ad esempio sono necessari due insiemi di opzioni di configurazione, estendere il prefisso con un'altra parola chiave descrittiva, come datacenterA
e datacenterB
:
iscsi/datacenterA/trusted_ip_list iscsi/datacenterA/api_port [...] iscsi/datacenterB/trusted_ip_list iscsi/datacenterB/api_port [...]
28.4 Ceph OSD e BlueStore #
28.4.1 Configurazione del ridimensionamento automatico della cache #
È possibile configurare BlueStore sul ridimensionamento automatico delle cache se tc_malloc
è configurato come allocatore di memoria e l'impostazione bluestore_cache_autotune
è abilitata. Attualmente, questa opzione è abilitata per default. BlueStore tenterà di mantenere l'utilizzo della memoria heap dell'OSD al di sotto delle dimensioni di destinazione definite tramite l'opzione di configurazione osd_memory_target
. Si tratta di un algoritmo best-effort e le cache non si ridurranno oltre le dimensioni specificate da osd_memory_cache_min
. I rapporti della cache verranno selezionati in base a una gerarchia di priorità. Se le informazioni di priorità non sono disponibili, vengono utilizzate come fallback le opzioni bluestore_cache_meta_ratio
e bluestore_cache_kv_ratio
.
- bluestore_cache_autotune
Ottimizza automaticamente i rapporti assegnati a diverse cache BlueStore restando nei valori minimi. L'impostazione di default è
True
.- osd_memory_target
Se
tc_malloc
ebluestore_cache_autotune
sono abilitate, cerca di mantenere questo numero di byte mappati alla memoria.NotaQuesto numero potrebbe non corrispondere esattamente all'utilizzo della memoria RSS del processo. Anche se di norma la quantità totale di memoria heap mappata dal processo non deve essere molto lontana da questo valore di destinazione, non vi sono garanzie che il kernel recupererà la memoria non mappata.
- osd_memory_cache_min
Se
tc_malloc
ebluestore_cache_autotune
sono abilitate, consente di impostare la quantità minima di memoria utilizzata per le cache.NotaSe viene impostato un valore troppo basso, può verificarsi un notevole trashing della cache.
28.5 Ceph Object Gateway #
È possibile influenzare il comportamento di Object Gateway utilizzando diverse opzioni. Se un'opzione non viene specificata, ne viene utilizzato il valore di default. Di seguito è riportato un elenco completo delle opzioni di Object Gateway:
28.5.1 Impostazioni generali #
- rgw_frontends
Configura i front-end HTTP. Specificare più front-end in un elenco separato da virgole. Ogni configurazione di front-end può includere un elenco di opzioni separate da spazi, in cui ogni opzione è nel formato "key=value" o "key". L'impostazione di default è
beast port=7480
.- rgw_data
Imposta l'ubicazione dei file di dati per Object Gateway. L'impostazione di default è
/var/lib/ceph/radosgw/CLUSTER_ID
.- rgw_enable_apis
Abilita le API specificate. L'impostazione di default è "s3, swift, swift_auth, admin All APIs".
- rgw_cache_enabled
Abilita o disabilita la cache di Object Gateway. L'impostazione di default è
true
.- rgw_cache_lru_size
Numero di voci nella cache di Object Gateway. Il valore di default è 10000.
- rgw_socket_path
Percorso del socket per il socket di dominio.
FastCgiExternalServer
utilizza questo socket. Se non viene specificato nessun percorso del socket, Object Gateway non verrà eseguito come server esterno. Il percorso specificato qui deve essere lo stesso del percorso specificato nel filergw.conf
.- rgw_fcgi_socket_backlog
Backlog del socket per fcgi. Il valore di default è 1024.
- rgw_host
Host dell'istanza di Object Gateway. Può essere un indirizzo IP o un nome host. Il valore di default è
0.0.0.0
.- rgw_port
Numero di porta in cui l'istanza è in ascolto delle richieste. Se non è specificato, Object Gateway esegue il FastCGI esterno.
- rgw_dns_name
Nome DNS del dominio servito.
- rgw_script_uri
Valore alternativo di SCRIPT_URI se non impostato nella richiesta.
- rgw_request_uri
Valore alternativo di REQUEST_URI se non impostato nella richiesta.
- rgw_print_continue
Se attiva, abilitare 100-continue. L'impostazione di default è
true
.- rgw_remote_addr_param
Parametro dell'indirizzo remoto. Ad esempio, il campo HTTP contenente l'indirizzo remoto o l'indirizzo X-Forwarded-For se è attivo un proxy inverso. L'impostazione di default è
REMOTE_ADDR
.- rgw_op_thread_timeout
Timeout espresso in secondi per i thread aperti. Il valore di default è 600.
- rgw_op_thread_suicide_timeout
Timeout espresso in secondi prima del termine del processo di Object Gateway. Se è impostata a 0 (default), questa impostazione è disabilitata.
- rgw_thread_pool_size
Numero di thread per il server Oggetto beast. Aumentare il valore se è necessario provvedere a più richieste. Il valore di default è 100 thread.
- rgw_num_rados_handles
Numero di handle del cluster RADOS per Object Gateway. Adesso per ciascun thread di lavoro Object Gateway viene selezionato un handle RADOS permanente. Questa opzione potrebbe diventare obsoleta e rimossa dalle release future. Il valore di default è 1.
- rgw_num_control_oids
Numero di oggetti di notifica utilizzati per la sincronizzazione della cache tra diverse istanze di Object Gateway. Il valore di default è 8.
- rgw_init_timeout
Numero di secondi prima che Object Gateway smetta di tentare di effettuare l'inizializzazione. Il valore di default è 30.
- rgw_mime_types_file
Percorso e ubicazione dei tipi MIME. Utilizzata per il rilevamento automatico Swift dei tipi di oggetto. L'impostazione di default è
/etc/mime.types
.- rgw_gc_max_objs
Numero massimo di oggetti che possono essere gestiti dal recupero spazio in un ciclo di elaborazione di recupero spazio. Il valore di default è 32.
- rgw_gc_obj_min_wait
Tempo di attesa minimo prima che l'oggetto venga rimosso e gestito dal processo di recupero spazio. Il valore di default è 2 * 3600.
- rgw_gc_processor_max_time
Durata massima tra l'inizio di due cicli di elaborazione di recupero spazio consecutivi. Il valore di default è 3600.
- rgw_gc_processor_period
Durata del ciclo di elaborazione di recupero spazio. Il valore di default è 3600.
- rgw_s3_success_create_obj_status
Risposta alternativa di stato riuscito per
create-obj
. Il valore di default è 0.- rgw_resolve_cname
Determina se Object Gateway deve utilizzare il record DNS CNAME del campo del nome host della richiesta (se il nome host non è uguale al nome DNS di Object Gateway). L'impostazione di default è
false
.- rgw_obj_stripe_size
Dimensioni di striping di oggetto per gli oggetti Object Gateway. Il valore di default è
4 << 20
.- rgw_extended_http_attrs
Aggiunge un nuovo set di attributi che è possibile impostare su un'entità (ad esempio un utente, un compartimento o un oggetto). È possibile impostare tali attributi aggiuntivi tramite i campi dell'intestazione HTTP quando si inserisce o si modifica l'entità tramite il metodo POST. Se impostati, questi attributi verranno restituiti come campi HTTP durante la richiesta GET/HEAD sull'entità. L'impostazione di default è
content_foo, content_bar, x-foo-bar
.- rgw_exit_timeout_secs
Numero di secondi in cui restare in attesa di un processo prima dell'uscita senza condizioni. Il valore di default è 120.
- rgw_get_obj_window_size
Dimensioni in byte della finestra di una singola richiesta di oggetto. Il valore di default è
16 << 20
.- rgw_get_obj_max_req_size
Dimensioni massime della richiesta di una singola operazione GET inviata al cluster di memorizzazione Ceph. Il valore di default è
4 << 20
.- rgw_relaxed_s3_bucket_names
Abilita le regole minime del nome del compartimento S3 per i compartimenti dell'area US. L'impostazione di default è
false
.- rgw_list_buckets_max_chunk
Numero massimo di compartimenti da recuperare durante un'operazione singola quando vengono elencati i compartimenti dell'utente. Il valore di default è 1000.
- rgw_override_bucket_index_max_shards
Rappresenta il numero di partizioni dell'oggetto di indice del compartimento. Se viene impostata a 0 (default), il partizionamento non verrà eseguito. Si sconsiglia di impostare un valore troppo elevato (ad esempio 1000) poiché ciò aumenta i costi di creazione dell'elenco dei compartimenti. Impostare questa variabile nelle sezioni client o global per applicarla automaticamente ai comandi
radosgw-admin
.- rgw_curl_wait_timeout_ms
Timeout espresso in millisecondi per determinate chiamate
curl
. Il valore di default è 1000.- rgw_copy_obj_progress
Abilita l'output dell'avanzamento dell'oggetto durante le operazioni di copia più lunghe. L'impostazione di default è
true
.- rgw_copy_obj_progress_every_bytes
Byte minimi tra gli output dell'avanzamento della copia. Il valore di default è 1024 * 1024.
- rgw_admin_entry
Punto di entrata di un URL della richiesta admin. L'impostazione di default è
admin
.- rgw_content_length_compat
Abilita la gestione di compatibilità delle richieste FCGI con le opzioni CONTENT_LENGTH E HTTP_CONTENT_LENGTH impostate. L'impostazione di default è
false
.- rgw_bucket_quota_ttl
Intervallo di tempo espresso in secondi durante il quale le informazioni sulla quota memorizzate nella cache sono attendibili. Dopo questo timeout, le informazioni sulla quota verranno recuperate nuovamente dal cluster. Il valore di default è 600.
- rgw_user_quota_bucket_sync_interval
Intervallo di tempo espresso in secondi durante il quale le informazioni sulla quota del compartimento vengono accumulate prima della sincronizzazione con il cluster. Durante questo intervallo, le altre istanze di Object Gateway non visualizzeranno le modifiche apportate alle statistiche sulla quota del compartimento relative alle operazioni su tale istanza. Il valore di default è 180.
- rgw_user_quota_sync_interval
Intervallo di tempo espresso in secondi durante il quale le informazioni sulla quota utenti vengono accumulate prima della sincronizzazione con il cluster. Durante questo intervallo, le altre istanze di Object Gateway non visualizzeranno le modifiche apportate alle statistiche sulla quota utenti relative alle operazioni su tale istanza. Il valore di default è 180.
- rgw_bucket_default_quota_max_objects
Numero massimo di default di oggetti per compartimento. Viene impostata per i nuovi utenti se non viene specificata nessuna quota e non ha effetto sugli utenti esistenti. Impostare questa variabile nelle sezioni client o global per applicarla automaticamente ai comandi
radosgw-admin
. Il valore di default è -1.- rgw_bucket_default_quota_max_size
Capacità massima di default di ciascun compartimento espressa in byte. Viene impostata per i nuovi utenti se non viene specificata nessuna quota e non ha effetto sugli utenti esistenti. Il valore di default è -1.
- rgw_user_default_quota_max_objects
Numero massimo di default di oggetti per utente. Sono inclusi tutti gli oggetti in tutti i compartimenti di proprietà dell'utente. Viene impostata per i nuovi utenti se non viene specificata nessuna quota e non ha effetto sugli utenti esistenti. Il valore di default è -1.
- rgw_user_default_quota_max_size
Valore delle dimensioni massime della quota utenti espresso in byte impostato per i nuovi utenti se non viene specificata nessun'altra quota. Non ha effetto sugli utenti esistenti. Il valore di default è -1.
- rgw_verify_ssl
Verifica i certificati SSL durante la creazione delle richieste. L'impostazione di default è
true
.- rgw_max_chunk_size
Dimensioni massime di una porzione di dati che verrà letta in una singola operazione. Se si aumenta il valore a 4 MB (4194304) si otterranno prestazioni migliori durante l'elaborazione di oggetti di grandi dimensioni. Il valore di default è 128 kB (131072).
- rgw_zone
Nome della zona per l'istanza del gateway. Se non viene impostata nessuna zona, è possibile configurare un valore di default in tutto il cluster con il comando
radosgw-admin zone default
.- rgw_zonegroup
Nome del gruppo di zone per l'istanza del gateway. Se non viene impostato nessun gruppo di zone, è possibile configurare un valore di default in tutto il cluster con il comando
radosgw-admin zonegroup default
.- rgw_realm
Nome del dominio per l'istanza del gateway. Se non viene impostato nessun dominio, è possibile configurare un valore di default in tutto il cluster con il comando
radosgw-admin realm default
.- rgw_run_sync_thread
Se nel dominio sono presenti altre zone da cui eseguire la sincronizzazione, generare dei thread per gestire la sincronizzazione dei dati e dei metadati. L'impostazione di default è
true
.- rgw_data_log_window
Finestra delle voci del log dei dati in secondi. Il valore di default è 30.
- rgw_data_log_changes_size
Numero di voci nella memoria da mettere in attesa per il log delle modifiche dei dati. Il valore di default è 1000.
- rgw_data_log_obj_prefix
Prefisso del nome di oggetto del log dei dati. L'impostazione di default è "data_log".
- rgw_data_log_num_shards
Numero di partizioni (oggetti) su cui conservare il log delle modifiche dei dati. Il valore di default è 128.
- rgw_md_log_max_shards
Numero massimo di partizioni per il log dei metadati. Il valore di default è 64.
- rgw_enforce_swift_acls
Applica le impostazioni dell'elenco di controllo dell'accesso (ACL) Swift. L'impostazione di default è
true
.- rgw_swift_token_expiration
Tempo espresso in secondi per la scadenza di un token Swift. Il valore di default è 24 * 3600.
- rgw_swift_url
URL dell'API Swift di Ceph Object Gateway.
- rgw_swift_url_prefix
Prefisso URL dello StorageURL Swift che precede la porzione di testo "/v1". Ciò consente di eseguire più istanze del gateway sullo stesso host. Per ragioni di compatibilità, se per questa variabile di configurazione non viene impostato alcun valore, verrà utilizzato il valore "/swift" di default. Utilizzare il prefisso esplicito "/" come inizio dello StorageURL dalla radice.
AvvertimentoQuesta opzione non funzionerà se viene impostata su "/" e se l'API S3 è abilitata. Tenere presente che la disabilitazione di S3 non consentirà la distribuzione di Object Gateway nella configurazione multisito.
- rgw_swift_auth_url
URL di default per la verifica dei token di autenticazione v1 quando l'autenticazione Swift interna non è utilizzata.
- rgw_swift_auth_entry
Punto di entrata di un URL di autenticazione Swift. L'impostazione di default è
auth
.- rgw_swift_versioning_enabled
Abilita il controllo versioni dell'oggetto dell'API Object Storage di OpenStack. Ciò consente ai client di inserire l'attributo
X-Versions-Location
sui container di cui deve essere creata una versione. L'attributo specifica il nome del container in cui sono memorizzate le versioni archiviate. Deve essere di proprietà dello stesso utente del container con versione per motivi di verifica del controllo dell'accesso (gli ACL non sono presi in considerazione). Non è possibile creare una versione per tali container con il meccanismo di controllo versioni dell'oggetto S3. L'impostazione di default èfalse
.
- rgw_log_nonexistent_bucket
Abilita Object Gateway per il logging di una richiesta relativa a un compartimento inesistente. L'impostazione di default è
false
.- rgw_log_object_name
Formato di registrazione di un nome oggetto. Per i dettagli sugli identificatori del formato, consultare la documentazione
man 1 date
. L'impostazione di default è%Y-%m-%d-%H-%i-%n
.- rgw_log_object_name_utc
Specifica se nel nome oggetto registrato è inclusa l'ora UTC. Se è impostata su
false
(default), viene utilizzata l'ora locale.- rgw_usage_max_shards
Numero massimo di partizioni per la registrazione dell'utilizzo. Il valore di default è 32.
- rgw_usage_max_user_shards
Numero massimo di partizioni utilizzate per la registrazione dell'utilizzo di un singolo utente. Il valore di default è 1.
- rgw_enable_ops_log
Abilita la registrazione di ciascuna operazione Object Gateway riuscita. L'impostazione di default è
false
.- rgw_enable_usage_log
Abilita il log di utilizzo. L'impostazione di default è
false
.- rgw_ops_log_rados
Specifica se scrivere il log delle operazioni sul back-end del cluster di memorizzazione Ceph. L'impostazione di default è
true
.- rgw_ops_log_socket_path
Socket del dominio Unix per i log delle operazioni di scrittura.
- rgw_ops_log_data_backlog
Dimensioni dei dati massime del backlog dei dati per i log delle operazioni scritte su un socket del dominio Unix. Il valore di default è 5 << 20.
- rgw_usage_log_flush_threshold
Numero di voci modificate unite nel log di utilizzo prima dello svuotamento sincrono. Il valore di default è 1024.
- rgw_usage_log_tick_interval
Svuota il log di utilizzo in sospeso ogni "n" secondi. Il valore di default è 30.
- rgw_log_http_headers
Elenco con valori separati da virgole delle intestazioni HTTP da includere nelle voci del log. I nomi delle intestazioni non fanno distinzione tra lettere maiuscole e minuscole e utilizzano il nome completo dell'intestazione con le parole separate da caratteri di sottolineatura. Ad esempio, "http_x_forwarded_for", "http_x_special_k".
- rgw_intent_log_object_name
Formato di registrazione del nome oggetto dell'intent log. Per i dettagli sugli identificatori del formato, consultare la documentazione
man 1 date
. L'impostazione di default è "%Y-%m-%d-%i-%n".- rgw_intent_log_object_name_utc
Specifica se nel nome oggetto dell'intent log è inclusa l'ora UTC. Se è impostata su
false
(default), viene utilizzata l'ora locale.
- rgw_keystone_url
URL del server Keystone.
- rgw_keystone_api_version
Versione (2 o 3) di OpenStack Identity API da utilizzare per la comunicazione con il server Keystone. Il valore di default è 2.
- rgw_keystone_admin_domain
Nome del dominio OpenStack con privilegi di amministratore quando è in uso OpenStack Identity API v3.
- rgw_keystone_admin_project
Nome del progetto OpenStack con privilegi di amministratore quando è in uso OpenStack Identity API v3. Se non viene impostata, verrà utilizzato il valore di
rgw keystone admin tenant
.- rgw_keystone_admin_token
Token amministratore Keystone (segreto condiviso). In Object Gateway, l'autenticazione tramite il token amministratore ha la priorità sull'autenticazione con le credenziali di amministratore (opzioni
rgw keystone admin user
,rgw keystone admin password
,rgw keystone admin tenant
,rgw keystone admin project
ergw keystone admin domain
). La funzione del token amministratore è considerata obsoleta.- rgw_keystone_admin_tenant
Nome del tenant OpenStack con privilegi di amministratore (tenant del servizio) quando è in uso OpenStack Identity API v2.
- rgw_keystone_admin_user
Nome dell'utente OpenStack con privilegi di amministratore per l'autenticazione Keystone (utente del servizio) quando è in uso OpenStack Identity API v2.
- rgw_keystone_admin_password
Password dell'utente amministratore OpenStack quando è in uso OpenStack Identity API v2.
- rgw_keystone_accepted_roles
Ruoli richiesti per provvedere alle richieste. L'impostazione di default è "Member, admin".
- rgw_keystone_token_cache_size
Numero massimo di voci in ciascuna cache dei token Keystone. Il valore di default è 10000.
- rgw_keystone_revocation_interval
Numero di secondi tra le verifiche della revoca dei token. Il valore di default è 15 * 60.
- rgw_keystone_verify_ssl
Verifica i certificati SSL durante la creazione di richieste di token per Keystone. L'impostazione di default è
true
.
28.5.1.1 Note aggiuntive #
- rgw_dns_name
Consente ai client di utilizzare i compartimenti di tipo
vhost
.L'accesso di tipo
vhost
fa riferimento all'uso di bucketname.s3-endpoint/object-path, diverso dall'accesso di tipopath
: s3-endpoint/bucket/object.Se
rgw dns name
è impostato, verificare che il client S3 sia configurato sull'indirizzamento delle richieste all'endpoint specificato dargw dns name
.
28.5.2 Configurazione dei front-end HTTP #
28.5.2.1 Oggetto beast #
- port, ssl_port
Numeri di porte di attesa IPv4 e IPv6. È possibile specificare più numeri di porte:
port=80 port=8000 ssl_port=8080
Il valore di default è 80.
- endpoint, ssl_endpoint
Indirizzi di attesa nel formato "address[:port]", dove l'indirizzo è una stringa di indirizzo IPv4 in formato decimale separato da punti o un indirizzo IPv6 in notazione esadecimale racchiuso tra parentesi quadre. Se viene specificato un endpoint IPv6, verranno attesi solo indirizzi IPv6. Il numero di porta facoltativo di default è 80 per
endpoint
e 443 perssl_endpoint
. È possibile specificare più indirizzi:endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
- ssl_private_key
Percorso facoltativo del file di chiave privata utilizzato per gli endpoint abilitati per SSL. Se non è specificato, viene utilizzato il file
ssl_certificate
come chiave privata.- tcp_nodelay
Se specificata, l'opzione del socket disabiliterà l'algoritmo Nagle sulla connessione. Vale a dire che i pacchetti verranno inviati non appena possibile invece di attendere un buffer o un timeout completo.
Il valore "1" disabilita l'algoritmo Nagle per tutti i socket.
Il valore "0" mantiene abilitato l'algoritmo Nagle (default).
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.log
28.5.2.2 CivetWeb #
- porta
Numero di porta di attesa. Per le porte abilitate per SSL, aggiungere un suffisso "s" (ad esempio "443s"). Per associare un indirizzo IPv4 o IPv6 specifico, utilizzare il formato "address:port". È possibile specificare più endpoint aggiungendoli con il simbolo "+" o specificando diverse opzioni:
port=127.0.0.1:8000+443s port=8000 port=443s
Il valore di default è 7480.
- num_threads
Numero di thread generati da Civetweb per la gestione delle connessioni HTTP in entrata. Questa impostazione consente di limitare effettivamente il numero di connessioni simultanee di cui il front-end è in grado di occuparsi.
Il valore di default è quello specificato dall'opzione
rgw_thread_pool_size
.- request_timeout_ms
Intervallo di tempo espresso in millisecondi durante il quale Civitweb resta in attesa di altri dati in entrata prima di abbandonare l'operazione.
Il valore di default è 30.000 millisecondi.
- access_log_file
Percorso del file di log di accesso. È possibile specificare un percorso completo o un percorso relativo alla directory di lavoro attuale. Se non è specificato (default), gli accessi non vengono registrati.
- error_log_ file
Percorso del file di log degli errori. È possibile specificare un percorso completo o un percorso relativo alla directory di lavoro attuale. Se non è specificato (default), gli errori non vengono registrati.
/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.log
28.5.2.3 Opzioni comuni #
- ssl_certificate
Percorso del file di certificato SSL utilizzato per gli endpoint abilitati per SSL.
- prefisso
Stringa di prefisso inserita nell'URI di tutte le richieste. Ad esempio, un front-end solo Swift può fornire un prefisso URI
/swift
.