Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
[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:


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




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


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



Il file /etc/ceph/ceph.client.*.keyring serviranno poi nei nodi dove si monta il file system

Mount del filesystem su un client

...

Su un monitor:

ceph config generate-minimal-conf | sudo tee ~/ceph.conf.min

...

Copio nel client node anche il file /etc/ceph/ceph.client.cephfs.keyring prima generato (deve avere mode 0600 e appartenere a root.root)

Creo anche il file /etc/ceph/cephfs.secret che contiene la sola chiave (quella che compare in /etc/ceph/ceph.client.cephfs.keyring)

...

'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: 



Code Block
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

Con il senno di poi: questo esempio non e' il massimo perche' ho usato cephfs sia come nome del file system, sia come il nome dello user ceph (quello per cui ho creato il client).

In bold faccio riferimento allo username, in italic al nome del file system ceph

L'entry corrispondente in fstab e' questa:



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



Code Block
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 diversicephfs@.cephfs=/     /mnt/mycephfs    ceph    mon_addr=10.70.42.10:6789/10.70.42.9:6789/10.70.42.8:6789,secretfile=/etc/ceph/cephfs.secret,noatime,_netdev    0       0