User Tools

Site Tools


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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
strutture:lnf:dr:calcolo:sistemi:ceph:rbd [2023/06/16 08:31] rorru@infn.itstrutture:lnf:dr:calcolo:sistemi:ceph:rbd [2025/04/23 10:08] (current) rorru@infn.it
Line 1: Line 1:
 +====== 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:
 +
 +<code>
 +rbd pool init <nome_pool>
 +</code>
 +
 +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:
 +
 +<code>
 +ceph auth get-or-create client.<nome_utente> mon 'profile rbd' osd 'profile rbd pool=<nome_pool>' mgr 'profile rbd pool=<nome_pool>'
 +</code>
 +
 +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>
 +<code>
 +ceph config generate-minimal-conf
 +</code>
 +<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>
 +<code>
 +ceph auth get client.<client_name> -o ceph.client.<client_name>.keyring
 +</code>
 +
 +<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 ):
 +
 +<code>
 +rbd --id <client_name> create --size <image_size>  <pool_name>/<image_name>
 +</code>
 +
 +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:
 +
 +<code>
 +rbd --id <client_name> map <pool_name>/<image_name>
 +</code>
 +
 +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:
 +
 +<code>
 +mkfs.xfs /dev/rbd0
 +</code>
 +
 +===== 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>
 +<code>
 +<pool_name>/<image_name>     id=<client_name>
 +</code>
 +<HTML></li></HTML>
 +<HTML><li></HTML><HTML><p></HTML>Inserire in ''%%/etc/fstab%%'':<HTML></p></HTML>
 +<code>
 +/dev/rbd/<pool_name>/<image_name> <mountpoint> <fs_type>     noauto          0 0
 +</code>
 +<HTML></li></HTML>
 +<HTML><li></HTML><HTML><p></HTML>Abilitare ed avviare il servizio ''%%rbdmap.service%%'':<HTML></p></HTML>
 +<code>
 +systemctl enable rbdmap.service
 +systemctl start rbdmap.service
 +</code>
 +
 +<HTML><p></HTML>Mapping e mount del device avverranno automaticamente.<HTML></p></HTML><HTML></li></HTML><HTML></ol></HTML>
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki