...
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:
ceph fs authorize cephfs client.allfs / rw | tee /etc/ceph/ceph.client.allfs.keyring
Code Block |
---|
[root@c-mon-1 almalinux]# ceph fs authorize cephfs client.terabithome /terabithome rw | tee /etc/ceph/ceph.client.terabithome.keyring [client.terabithome] key = AQA9FIlnaJ5SFBAAdT8gzFgfOp9jq3meON0o+g== [root@c-mon-1 almalinux]# ceph fs authorize cephfs client.slurmctrl /slurmctrl rw | tee /etc/ceph/ceph.client.slurmctrl.keyring [client.slurmctrl] key = AQB4FIlng39/JhAAloEnVIZDpfMz/Zijwjou5Q== |
...
Mount del filesystem su un client
...
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
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)
Per montare il file system:mount -t ceph cephfs@.cephfs=/ /mnt/mycephfs -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/slurmctrl
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