cephx
Questo capitolo fornisce un elenco delle impostazioni più importanti del cluster Ceph con la relativa descrizione e ordinate per argomento.
Nella Sezione 2.13, «Regolazione di ceph.conf
tramite le impostazioni personalizzate» è illustrato come modificare il file di configurazione Ceph ceph.conf
. Il comportamento effettivo del cluster non è tuttavia determinato dallo stato attuale del file ceph.conf
, bensì dalla configurazione dei daemon Ceph in esecuzione, che è memorizzata.
È possibile interrogare un daemon Ceph daemon individuale per una determinata impostazione di configurazione utilizzando il socket amministrativo sul nodo in cui è in esecuzione il daemon. Ad esempio, con il seguente comando si ottiene il valore del parametro di configurazione osd_max_write_size
dal daemon denominato osd.0
:
cephadm@adm >
ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok \
config get osd_max_write_size
{
"osd_max_write_size": "90"
}
È inoltre possibile modificare le impostazioni dei daemon in fase di runtime. Tenere presente che questa modifica è temporanea e al riavvio successivo del daemon andrà persa. Ad esempio, con il seguente comando si modifica il parametro osd_max_write_size
a "50" per tutti gli OSD nel cluster:
cephadm@adm >
ceph tell osd.* injectargs --osd_max_write_size 50
injectargs
non è affidabile
Sfortunatamente, se si modificano le impostazioni del cluster con il comando injectargs
, l'operazione non è affidabile al 100%. Se è necessario avere la certezza che il parametro modificato sia attivo, modificarlo nei file di configurazione su tutti i nodi del cluster e riavviare tutti i daemon nel cluster.
È 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
.
Ottimizza automaticamente i rapporti assegnati a diverse cache BlueStore restando nei valori minimi. L'impostazione di default è True
.
Se tc_malloc
e bluestore_cache_autotune
sono abilitate, cerca di mantenere questo numero di byte mappati alla memoria.
Questo 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.
Se tc_malloc
e bluestore_cache_autotune
sono abilitate, consente di impostare la quantità minima di memoria utilizzata per le cache.
Se viene impostato un valore troppo basso, può verificarsi un notevole trashing della cache.
È possibile influenzare il comportamento di Object Gateway impostando una serie di opzioni nel file /etc/ceph/ceph.conf
nelle sezioni denominate
[client.radosgw.INSTANCE_NAME]
Se un'opzione non viene specificata, ne viene utilizzato il valore di default. Di seguito è riportato un elenco completo delle opzioni di Object Gateway:
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". Il valore di default è
rgw_frontends = beast port=7480
Imposta l'ubicazione dei file di dati per Object Gateway. L'impostazione di default è /var/lib/ceph/radosgw/CLUSTER_ID
.
Abilita le API specificate. L'impostazione di default è "s3, swift, swift_auth, admin All APIs".
Abilita o disabilita la cache di Object Gateway. L'impostazione di default è "true".
Numero di voci nella cache di Object Gateway. Il valore di default è 10000.
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 file rgw.conf
.
Backlog del socket per fcgi. Il valore di default è 1024.
Host dell'istanza di Object Gateway. Può essere un indirizzo IP o un nome host. Il valore di default è 0.0.0.0
Numero di porta in cui l'istanza è in ascolto delle richieste. Se non è specificato, Object Gateway esegue il FastCGI esterno.
Nome DNS del dominio servito.
Valore alternativo di SCRIPT_URI se non impostato nella richiesta.
Valore alternativo di REQUEST_URI se non impostato nella richiesta.
Se attiva, abilitare 100-continue. L'impostazione di default è "true".
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.
Timeout espresso in secondi per i thread aperti. Il valore di default è 600.
Timeout espresso in secondi prima del termine del processo di Object Gateway. Se è impostata a 0 (default), questa impostazione è disabilitata.
Numero di thread per il server Oggetto beast. Aumentare il valore se è necessario provvedere a più richieste. Il valore di default è 100 thread.
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.
Numero di oggetti di notifica utilizzati per la sincronizzazione della cache tra diverse istanze rgw. Il valore di default è 8.
Numero di secondi prima che Object Gateway smetta di tentare di effettuare l'inizializzazione. Il valore di default è 30.
Percorso e ubicazione dei tipi MIME. Utilizzata per il rilevamento automatico Swift dei tipi di oggetto. L'impostazione di default è /etc/mime.types
.
Numero massimo di oggetti che possono essere gestiti dal recupero spazio in un ciclo di elaborazione di recupero spazio. Il valore di default è 32.
Tempo di attesa minimo prima che l'oggetto venga rimosso e gestito dal processo di recupero spazio. Il valore di default è 2 * 3600.
Durata massima tra l'inizio di due cicli di elaborazione di recupero spazio consecutivi. Il valore di default è 3600.
Durata del ciclo di elaborazione di recupero spazio. Il valore di default è 3600.
Risposta alternativa di stato riuscito per create-obj
. Il valore di default è 0.
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".
Dimensioni di striping di oggetto per gli oggetti Object Gateway. Il valore di default è 4 << 20.
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".
Numero di secondi in cui restare in attesa di un processo prima dell'uscita senza condizioni. Il valore di default è 120.
Dimensioni in byte della finestra di una singola richiesta di oggetto. Il valore di default è "16 << 20".
Dimensioni massime della richiesta di una singola operazione GET inviata al cluster di memorizzazione Ceph. Il valore di default è 4 << 20.
Abilita le regole minime del nome del compartimento S3 per i compartimenti dell'area US. L'impostazione di default è "false".
Numero massimo di compartimenti da recuperare durante un'operazione singola quando vengono elencati i compartimenti dell'utente. Il valore di default è 1000.
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
.
Timeout espresso in millisecondi per determinate chiamate curl
. Il valore di default è 1000.
Abilita l'output dell'avanzamento dell'oggetto durante le operazioni di copia più lunghe. L'impostazione di default è "true".
Byte minimi tra gli output dell'avanzamento della copia. Il valore di default è 1024 * 1024.
Punto di entrata di un URL della richiesta admin. L'impostazione di default è "admin".
Abilita la gestione di compatibilità delle richieste FCGI con le opzioni CONTENT_LENGTH E HTTP_CONTENT_LENGTH impostate. L'impostazione di default è "false".
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.
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.
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.
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.
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.
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.
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.
Verifica i certificati SSL durante la creazione delle richieste. L'impostazione di default è "true".
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).
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
.
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
.
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
.
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".
Finestra delle voci del log dei dati in secondi. Il valore di default è 30.
Numero di voci nella memoria da mettere in attesa per il log delle modifiche dei dati. Il valore di default è 1000.
Prefisso del nome di oggetto del log dei dati. L'impostazione di default è "data_log".
Numero di partizioni (oggetti) su cui conservare il log delle modifiche dei dati. Il valore di default è 128.
Numero massimo di partizioni per il log dei metadati. Il valore di default è 64.
Applica le impostazioni dell'elenco di controllo dell'accesso (ACL) Swift. L'impostazione di default è "true".
Tempo espresso in secondi per la scadenza di un token Swift. Il valore di default è 24 * 3600.
URL dell'API Swift di Ceph Object Gateway.
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.
Questa 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.
URL di default per la verifica dei token di autenticazione v1 quando l'autenticazione Swift interna non è utilizzata.
Punto di entrata di un URL di autenticazione Swift. Il valore di default è "auth".
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".
Abilita Object Gateway per il logging di una richiesta relativa a un compartimento inesistente. L'impostazione di default è "false".
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".
Specifica se nel nome oggetto registrato è inclusa l'ora UTC. Se è impostata su "false" (default), viene utilizzata l'ora locale.
Numero massimo di partizioni per la registrazione dell'utilizzo. Il valore di default è 32.
Numero massimo di partizioni utilizzate per la registrazione dell'utilizzo di un singolo utente. Il valore di default è 1.
Abilita la registrazione di ciascuna operazione Object Gateway riuscita. L'impostazione di default è "false".
Abilita il log di utilizzo. L'impostazione di default è "false".
Specifica se scrivere il log delle operazioni sul back-end del cluster di memorizzazione Ceph. L'impostazione di default è "true".
Socket del dominio Unix per i log delle operazioni di scrittura.
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.
Numero di voci modificate unite nel log di utilizzo prima dello svuotamento sincrono. Il valore di default è 1024.
Svuota il log di utilizzo in sospeso ogni "n" secondi. Il valore di default è 30.
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".
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".
Specifica se nel nome oggetto dell'intent log è inclusa l'ora UTC. Se è impostata su "false" (default), viene utilizzata l'ora locale.
URL del server Keystone.
Versione (2 o 3) di OpenStack Identity API da utilizzare per la comunicazione con il server Keystone. Il valore di default è 2.
Nome del dominio OpenStack con privilegi di amministratore quando è in uso OpenStack Identity API v3.
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
.
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
e rgw keystone admin domain
). La funzione del token amministratore è considerata obsoleta.
Nome del tenant OpenStack con privilegi di amministratore (tenant del servizio) quando è in uso OpenStack Identity API v2.
Nome dell'utente OpenStack con privilegi di amministratore per l'autenticazione Keystone (utente del servizio) quando è in uso OpenStack Identity API v2.
Password dell'utente amministratore OpenStack quando è in uso OpenStack Identity API v2.
Ruoli richiesti per provvedere alle richieste. L'impostazione di default è "Member, admin".
Numero massimo di voci in ciascuna cache dei token Keystone. Il valore di default è 10000.
Numero di secondi tra le verifiche della revoca dei token. Il valore di default è 15 * 60.
Verifica i certificati SSL durante la creazione di richieste di token per Keystone. L'impostazione di default è "true".
Se si aggiunge il parametro rgw dns name
a ceph.conf
, assicurarsi che il client S3 sia configurato per indirizzare le richieste all'endpoint specificato da rgw dns name
.
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.
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 per ssl_endpoint
. È possibile specificare più indirizzi:
endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
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.
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).
/etc/ceph/ceph.conf
#rgw_frontends = beast port=8000 ssl_port=443 ssl_certificate=/etc/ssl/ssl.crt error_log_file=/var/log/radosgw/civetweb.error.log
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.
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
.
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.
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.
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
#rgw_frontends = civetweb port=8000+443s request_timeout_ms=30000 error_log_file=/var/log/radosgw/civetweb.error.log
Percorso del file di certificato SSL utilizzato per gli endpoint abilitati per SSL.
Stringa di prefisso inserita nell'URI di tutte le richieste. Ad esempio, un front-end solo Swift può fornire un prefisso URI "/swift".