strutture:lnf:dr:calcolo:sistemi:ceph:radosgw
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
strutture:lnf:dr:calcolo:sistemi:ceph:radosgw [2023/11/10 15:06] – [Riduzione verbosità log] rorru@infn.it | strutture:lnf:dr:calcolo:sistemi:ceph:radosgw [2024/03/06 17:14] (current) – rorru@infn.it | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Object Gateway ====== | ||
+ | Il servizio (prima chiamato RADOSGW) permette di implementare uno storage ad oggetti compatibile S3. | ||
+ | L' | ||
+ | |||
+ | ===== Deploy ===== | ||
+ | Assumendo di disporre di un cluster CEPH operativo, per il deploy dei realtivi daemon è possibile seguire i seguenti passi: | ||
+ | |||
+ | 1. Applicare una label (di seguito verrà utilizzata una label '' | ||
+ | | ||
+ | ceph orch host label add < | ||
+ | ... | ||
+ | ceph orch host label add < | ||
+ | | ||
+ | 2. Verificare la corretta associaziome deelle label con: | ||
+ | | ||
+ | ceph orch host ls | ||
+ | |||
+ | 3. Scatenare il deploy dei servizi utilizzando come regola di placemente l' | ||
+ | | ||
+ | ceph orch apply rgw rgw ' | ||
+ | | ||
+ | Il parametro '' | ||
+ | |||
+ | 4. Verificare i servizi effettivamente avviati con: | ||
+ | | ||
+ | ceph orch ls | ||
+ | |||
+ | ===== Configurazione Ingress ===== | ||
+ | Per avere HA e distribuzione del carico su tutti i servizi attivi, è possibile utilizzare la definizione di un servizio '' | ||
+ | {{ : | ||
+ | |||
+ | Per il deploy del servizio ingress procedere come segue: | ||
+ | |||
+ | 1. Identificare dall' | ||
+ | * Identificativo del servizio RGW | ||
+ | * Host sui quali i servizi di LB e gestione VRRP andranno eseguiti | ||
+ | |||
+ | 2. Definire poi indirizzo IP, porta e certificati per l' | ||
+ | |||
+ | |||
+ | 3. Definire un file (es. '' | ||
+ | |||
+ | < | ||
+ | service_type: | ||
+ | service_id: < | ||
+ | service_name: | ||
+ | placement: | ||
+ | label: rgw | ||
+ | spec: | ||
+ | backend_service: | ||
+ | frontend_port: | ||
+ | monitor_port: | ||
+ | first_virtual_router_id: | ||
+ | virtual_ips_list: | ||
+ | - < | ||
+ | - ... | ||
+ | - < | ||
+ | ssl_cert: | | ||
+ | -----BEGIN CERTIFICATE----- | ||
+ | ... | ||
+ | -----END CERTIFICATE----- | ||
+ | -----BEGIN PRIVATE KEY----- | ||
+ | ... | ||
+ | -----END PRIVATE KEY----- | ||
+ | </ | ||
+ | |||
+ | 4. Avviare il deploy del serviio ingress con: | ||
+ | ceph orch apply -i rgw_ingress.yaml | ||
+ | |||
+ | 5. Verificare la presenza dei relativi servizi con '' | ||
+ | | ||
+ | 6. Verificare con l' | ||
+ | < | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 7. Definire un record wildcard nel DNS per ricondurre ogni risoluzione del sottodominio < | ||
+ | |||
+ | ==== Aggiornamento configurazione ==== | ||
+ | 1. Ottenere le definizioni per il servizio ingress desiderato, ad es: | ||
+ | ceph orch ls ingress ingress.rgw.rgw --export > current_config.yaml | ||
+ | | ||
+ | 2. Modificare il file e poi aggiornare la configurazione con: | ||
+ | ceph orch apply -i current_config.yaml | ||
+ | | ||
+ | 3. Forzare il redeploy dei servizi HAproxy e Keepalived con le nuove configurazioni: | ||
+ | ceph orch redeploy ingress.rgw.rgw < | ||
+ | | ||
+ | ==== Modifica healthcheck Ingress ==== | ||
+ | |||
+ | Il servizio ingress viene avviato utilizando una configurazione per HAproxy che prevede un healthcheck verso i servizi '' | ||
+ | |||
+ | option httpchk HEAD HTTP/1.0 | ||
+ | |||
+ | Il corrispondente servizio '' | ||
+ | |||
+ | client_io-> | ||
+ | | ||
+ | Quindi è opportuno sostituire l' | ||
+ | |||
+ | 1. Otteniamo la configurazione attuale con: | ||
+ | |||
+ | ceph config-key get mgr/ | ||
+ | | ||
+ | 2. Modifichiamo la riga sul file appena creato in: | ||
+ | |||
+ | option httpchk GET / | ||
+ | |||
+ | 3. Aggiornare la chiave di configurazione corrispondente con: | ||
+ | ceph config-key set mgr/ | ||
+ | |||
+ | 4. Riconfigurare il servizio ingress con: | ||
+ | ceph orch reconfig < | ||
+ | | ||
+ | |||
+ | ===== Creazione utenti ===== | ||
+ | |||
+ | Per creare un utente, utilizzare la seguente sintassi: | ||
+ | radosgw-admin user create --uid=< | ||
+ | | ||
+ | Il comando restituisce un piccolo report che contiene tra l' | ||
+ | Le stesse informazioni possono essere visualizzate in un secondo momento con: | ||
+ | radosgw-admin user info --uid=< | ||
+ | |||
+ | ===== Assegnazione quote ===== | ||
+ | Per evitare l' | ||
+ | * numero massimo di oggetti | ||
+ | * dimensioni massime occupate | ||
+ | |||
+ | Ogni tipo di quota viene applicato con un certo scope, quindi le restrizioni possono essere applicate a livello di: | ||
+ | * utente | ||
+ | * bucket | ||
+ | * bucket per i quali lo specifico utente è proprietario | ||
+ | |||
+ | ==== Quota utente ==== | ||
+ | |||
+ | === Creazione quota === | ||
+ | |||
+ | radosgw-admin quota set --quota-scope=user --uid=< | ||
+ | | ||
+ | === Attivazione/ | ||
+ | |||
+ | radosgw-admin quota enable --quota-scope=user --uid=< | ||
+ | | ||
+ | === Visualizzazione quote === | ||
+ | |||
+ | < | ||
+ | # radosgw-admin user info --uid=< | ||
+ | { | ||
+ | " | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Quota bucket ==== | ||
+ | |||
+ | === Creazione quota === | ||
+ | |||
+ | radosgw-admin quota set --quota-scope=bucket --bucket=< | ||
+ | |||
+ | === Attivazione/ | ||
+ | |||
+ | radosgw-admin quota enable --quota-scope=bucket --bucket=< | ||
+ | |||
+ | === Visualizzazione quote === | ||
+ | |||
+ | < | ||
+ | # radosgw-admin bucket stats --bucket=< | ||
+ | { | ||
+ | " | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Quota bucket posseduti ==== | ||
+ | |||
+ | === Creazione quota === | ||
+ | |||
+ | radosgw-admin quota set --quota-scope=bucket | ||
+ | |||
+ | === Attivazione/ | ||
+ | |||
+ | radosgw-admin quota enable --quota-scope=bucket --uid=< | ||
+ | |||
+ | === Visualizzazione quote === | ||
+ | |||
+ | < | ||
+ | # radosgw-admin user info --uid=< | ||
+ | { | ||
+ | " | ||
+ | | ||
+ | ... | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Rimozione bucket ==== | ||
+ | |||
+ | radosgw-admin bucket rm --bucket=< | ||
+ | | ||
+ | ===== Riduzione verbosità log ===== | ||
+ | |||
+ | La verbosità del livello di log di default per il servizio è non trascurabile, | ||
+ | ceph config set global debug_rgw 0/5 |