29 Moduli di Ceph Manager #
L'architettura di Ceph Manager (per una breve presentazione, consultare questo riferimento: Sezione 1.2.3, «Daemon e nodi Ceph») consente di estendere le sue funzionalità tramite i moduli, come "dashboard" (vedere il Parte I, «Ceph Dashboard»), "prometheus" (vedere il Capitolo 16, Monitoraggio e creazione di avvisi) o "servizio di bilanciamento".
Per visualizzare un elenco di tutti i moduli disponibili, eseguire:
cephuser@adm >
ceph mgr module ls
{
"enabled_modules": [
"restful",
"status"
],
"disabled_modules": [
"dashboard"
]
}
Per abilitare o disabilitare un modulo specifico, eseguire:
cephuser@adm >
ceph mgr module enable MODULE-NAME
Esempio:
cephuser@adm >
ceph mgr module disable dashboard
Per visualizzare un elenco dei servizi forniti dai moduli abilitati, eseguire:
cephuser@adm >
ceph mgr services
{
"dashboard": "http://myserver.com:7789/",
"restful": "https://myserver.com:8789/"
}
29.1 Servizio di bilanciamento #
Il modulo del servizio di bilanciamento consente di ottimizzare la distribuzione del gruppo di posizionamento (PG) sugli OSD per una distribuzione più bilanciata. Anche se attivato per default, il modulo è inattivo. Supporta le due modalità seguenti: crush-compat
e upmap
.
Per visualizzare le informazioni sulla configurazione e sullo stato attuali del servizio di bilanciamento, eseguire:
cephuser@adm >
ceph balancer status
29.1.1 Modalità "crush-compat" #
Nella modalità "crush-compat", il servizio di bilanciamento regola il valore reweight-sets degli OSD per ottenere una migliore distribuzione dei dati. Sposta i gruppi di posizionamento tra gli OSD, attivando temporaneamente lo stato HEALTH_WARN
sul cluster derivante dalla posizione errata dei gruppi di posizionamento.
Anche se "crush-compat" è la modalità di default, si consiglia di attivarla esplicitamente:
cephuser@adm >
ceph balancer mode crush-compat
29.1.2 Pianificazione ed esecuzione del bilanciamento dei dati #
Tramite il modulo del servizio di bilanciamento, è possibile pianificare il bilanciamento dei dati. È quindi possibile eseguire manualmente tale pianificazione oppure impostare il bilanciamento continuo dei gruppi di posizionamento tramite il servizio di bilanciamento.
La scelta di eseguire il servizio di bilanciamento in modalità automatica o manuale dipende da diversi fattori, come lo squilibrio dei dati attuali, le dimensioni del cluster, il numero di gruppi di posizionamento o l'attività I/O. Si consiglia di creare una pianificazione iniziale e di eseguirla quando il carico I/O sul cluster è ridotto. Infatti, lo squilibrio iniziale sarà probabilmente notevole ed è quindi consigliabile mantenere basso l'impatto sui client. Dopo l'iniziale esecuzione manuale, considerare l'attivazione della modalità automatica e monitorare il traffico di ribilanciamento in condizioni di carico I/O normale. I miglioramenti apportati alla distribuzione del gruppo di posizionamento devono essere ponderati in base al traffico di ribilanciamento creato dal servizio di bilanciamento.
Durante il processo di bilanciamento, il modulo del servizio di bilanciamento limita i movimenti del gruppo di posizionamento per fare in modo che ne venga spostata soltanto una frazione configurabile. Il valore di default è 5% ed è possibile regolare la frazione, ad esempio sul 9%, eseguendo il comando seguente:
cephuser@adm >
ceph config set mgr target_max_misplaced_ratio .09
Per creare ed eseguire una pianificazione del bilanciamento, seguire la procedura indicata di seguito:
Controllare il punteggio del cluster corrente:
cephuser@adm >
ceph balancer evalCreare una pianificazione. Ad esempio, "great_plan":
cephuser@adm >
ceph balancer optimize great_planVerificare i cambiamenti implicati dall'uso di "great_plan":
cephuser@adm >
ceph balancer show great_planControllare il punteggio potenziale del cluster se si dovesse decidere di applicare "great_plan":
cephuser@adm >
ceph balancer eval great_planEseguire "great_plan" per una sola volta:
cephuser@adm >
ceph balancer execute great_planOsservare il bilanciamento del cluster con il comando
ceph -s
. Se si è soddisfatti del risultato, attivare il bilanciamento automatico:cephuser@adm >
ceph balancer onSe in un secondo momento si decide di disattivare il bilanciamento automatico, eseguire:
cephuser@adm >
ceph balancer off
È possibile attivare il bilanciamento automatico senza eseguire una pianificazione iniziale. In questo caso, l'esecuzione del ribilanciamento dei gruppi di posizionamento potrebbe impiegare molto tempo.
29.2 Abilitazione del modulo di telemetria #
Il plug-in di telemetria consente di inviare i dati anonimi del progetto Ceph relativi al cluster su cui è in esecuzione il plug-in.
Questo componente (che richiede il consenso esplicito) contiene contatori e statistiche sulla modalità di distribuzione del cluster, sulla versione di Ceph, sulla distribuzione degli host e su altri parametri, che consentono di comprendere meglio l'utilizzo di Ceph. Non contiene nessun dato sensibile come nomi dei pool, nomi e contenuto di oggetti o nomi host.
Lo scopo del modulo di telemetria consiste nel fornire agli sviluppatori un ciclo di feedback automatizzato per agevolare il calcolo dei tassi di adozione, il controllo o l'individuazione degli aspetti da approfondire o convalidare ulteriormente durante la configurazione per evitare risultati indesiderati.
Per essere in grado di inviare i dati su HTTPS ai server upstream, il modulo di telemetria richiede i nodi Ceph Manager. Assicurarsi che i firewall aziendali consentano questa azione.
Per abilitare il modulo di telemetria:
cephuser@adm >
ceph mgr module enable telemetryNotaQuesto comando consente soltanto di visualizzare i dati a livello locale. Questo comando non condivide i dati con la community di Ceph.
Per consentire al modulo di telemetria di avviare la condivisione dei dati:
cephuser@adm >
ceph telemetry onPer disabilitare la condivisione dei dati di telemetria:
cephuser@adm >
ceph telemetry offPer generare un rapporto JSON stampabile:
cephuser@adm >
ceph telemetry showPer aggiungere un contatto e una descrizione al rapporto:
cephuser@adm >
ceph config set mgr mgr/telemetry/contact John Doe john.doe@example.comcephuser@adm >
ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'Per default, il modulo compila e invia un nuovo rapporto ogni 24 ore. Per modificare questo intervallo:
cephuser@adm >
ceph config set mgr mgr/telemetry/interval HOURS