In queste istruzioni si crea un file system (in questo esempio con 2 "top level directory" : /terabit-home e /slurm-controller) che si appoggia su 3 MDS: 2 attivi e uno in stand-by

Quindi il prerequisto e' avere prima creato 3 MDS. Vedi: How to install a MDS node (Alma9, Quincy)



Creo i pool per dati e metadati.

Opportuno crearli in replica 3 e opportuno che quello di metadati sia su ssd



ceph osd pool create cephfs_data 32 32
ceph osd pool set cephfs_data crush_rule replicated_hdd
ceph osd pool create cephfs_metadata 32 32
ceph osd pool set cephfs_metadata crush_rule replicated_ssd


 Creo il filesystem:
   

ceph fs new cephfs cephfs_metadata cephfs_data



Dovrei ora vedere un MDS active e 2 in standby:


root@c-mds-03 ceph]# ceph mds stat
cephfs:1 {0=c-mds-01=up:active} 2 up:standby


Configuro questo file system in modo che usi 2 MDS attivi:


[root@c-mds-03 ceph]# ceph fs set cephfs max_mds 2


Verifico:


[root@c-mds-03 ceph]# ceph mds stat
cephfs:2 {0=c-mds-01=up:active,1=c-mds-03=up:active} 1 up:standby


Creo un client che abbia accesso a tutto il file system (sostanzialmente mi servira' solo per creare le top level directory)



Creo un client per ogni "top level directory" per questo filesystem:


[root@c-mon-1 almalinux]# ceph fs authorize cephfs client.allfs / rwp | tee /etc/ceph/ceph.client.allfs.keyring
[client.allfs]
	key = AQCnHolnBCOgNBAA9Vn36INaHCF5u599JMjtuQ==




[root@c-mon-1 almalinux]# ceph fs authorize cephfs client.terabithome /terabithome rwp | tee /etc/ceph/ceph.client.terabithome.keyring
[client.terabithome]
    key = AQA9FIlnaJ5SFBAAdT8gzFgfOp9jq3meON0o+g==


[root@c-mon-1 almalinux]# ceph fs authorize cephfs client.slurmctrl /slurmctrl rwp | tee /etc/ceph/ceph.client.slurmctrl.keyring
[client.slurmctrl]
    key = AQB4FIlng39/JhAAloEnVIZDpfMz/Zijwjou5Q==



Il 'p' serve per poter settare le quote



A questo punto devo creare le top level directory. Configuro una macchina di servizio come client (vedi How to mount a ceph file system) e li' monto l'intero filesystem usando il client allfs. Quindi il comando di mount sara' qualcosa tipo: 



mkdir /cephfs

mount -t ceph allfs@.cephfs=/ /cephfs -o mon_addr=10.70.42.10:6789/10.70.42.9:6789/10.70.42.8:6789,secretfile=/etc/ceph/cephfs.allfs.secret



A questi punto creo le top level directory e poi posso fare l'umount:



mkdir /cephfs/terabithome
mkdir /cephfs/slurmct




umount /cephfs



Il file /etc/ceph/ceph.client.xyz.keyring serviranno poi nei nodi dove si monta la top level directory xyz


Volendo si puo' fare in modo che tree diversi del file system usino pool diversi




  • No labels