User Tools

Site Tools


strutture:lnf:dr:calcolo:sistemi:ceph:rbd

RBD

Inizializzazione pool

Per supportare la memorizzazione degli oggetti relativi a delle immagini block device è necessario creare un pool, e inizializzarlo come un pool rbd:

rbd pool init <nome_pool>

L’associazione pool-applicazione avviene automaticamente.

Creazione utente

Per operare su pool rbd (creazione, cancellazione, accesso immagini) è opportuno definire un utente meno privilegiato di admin, con un livello minimo di capabilities necessarie all gestione del pool. Ad esempio:

ceph auth get-or-create client.<nome_utente> mon 'profile rbd' osd 'profile rbd pool=<nome_pool>' mgr 'profile rbd pool=<nome_pool>'

Abilita il nuovo utente ad accedere (rw) al pool rbd. Posso essere anche attribuiti permessi in sola lettura a specifici pool. Al momento della creazione viene restituito il contenuto di un keyring corrispondente.

Accesso al pool da macchina client

Per accedere al pool, la macchina client necessita di:

<HTML><ol style="list-style-type: decimal;"></HTML> <HTML><li></HTML><HTML><p></HTML>informazioni di accesso al cluster (configurazione minimale del cluster) in cat /etc/ceph/ceph.conf, ottenibile da una macchina con profilo _admin con:<HTML></p></HTML>

ceph config generate-minimal-conf

<HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>keyring dell’utente in /etc/ceph/ceph.client.<client_name>.keyring, ottenibile da una macchina con profilo _admin durante la creazione dell’utente o con:<HTML></p></HTML>

ceph auth get client.<client_name> -o ceph.client.<client_name>.keyring

<HTML><p></HTML>Il keyring ottenuto conterrà anche l’elenco delle capabilities, anche se non sono necessarie ai fini dell’operatività.<HTML></p></HTML><HTML></li></HTML><HTML></ol></HTML>

Tutte le operazioni sul pool dalla macchina client avverranno attraverso le informazioni in questi file, salvo diversa specifica durante l’esecuzione dei tool.

Creazione immagini

Per utilizzare un block device usufruendo dello spazio in un pool rbd, è necessario creare un’immagine. Dalla macchina client (o da un nodo generico accedendo con opportune capabilities ):

rbd --id <client_name> create --size <image_size>  <pool_name>/<image_name>

Se omesso, <pool_name> è assunto essere rbd.

Image mapping

Per utilizzzare l’immagine creata come block device, è necessario effettuare il mapping su un device locale. Dalla macchina client:

rbd --id <client_name> map <pool_name>/<image_name>

Se omesso, <pool_name> è assunto essere rbd.

Il comando restituisce il path al device locale, ad esempio /dev/rdb0. Prima del mount creare come di consueto un filesystem sul device, ad esempio con:

mkfs.xfs /dev/rbd0

Block device (auto)mount

Il mount avviene come per un generico device a blocchi, ma per avere il mapping dell’immagine e il mount automatico al boot, è necessario utilizzare rbdmap:

<HTML><ol style="list-style-type: decimal;"></HTML> <HTML><li></HTML><HTML><p></HTML>Inserire nel file /etc/ceph/rbdmap:<HTML></p></HTML>

<pool_name>/<image_name>     id=<client_name>

<HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Inserire in /etc/fstab:<HTML></p></HTML>

/dev/rbd/<pool_name>/<image_name> <mountpoint> <fs_type>     noauto          0 0

<HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Abilitare ed avviare il servizio rbdmap.service:<HTML></p></HTML>

systemctl enable rbdmap.service
systemctl start rbdmap.service

<HTML><p></HTML>Mapping e mount del device avverranno automaticamente.<HTML></p></HTML><HTML></li></HTML><HTML></ol></HTML>

strutture/lnf/dr/calcolo/sistemi/ceph/rbd.txt · Last modified: 2023/06/16 08:31 by rorru@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki