Système de fichiers partagé sur Arbutus
This site replaces the former Compute Canada documentation site, and is now being managed by the Digital Research Alliance of Canada. Ce site remplace l'ancien site de documentation de Calcul Canada et est maintenant géré par l'Alliance de recherche numérique du Canada. |
Le système de fichiers CephFS peut être partagé par plusieurs hôtes d'instances OpenStack. Pour profiter de ce service, faites une demande à nuage@tech.alliancecan.ca.
La procédure est plutôt technique et nécessite des compétences Linux de base pour créer et modifier des fichiers, définir des permissions et créer des points de montage. Si vous avez besoin d’assistance, écrivez à nuage@tech.alliancecan.ca.
Procédure
REMARQUE : Certaines chaînes de caractères de l’interface OpenStack ne sont pas traduites.
Si vous ne disposez pas déjà d’un quota pour ce service, écrivez à nuage@tech.alliancecan.ca et indiquez :
- le nom du projet OpenStack
- la capacité du quota requis (en Go)
- le nombre de shares requis
- Créez un share.
- Dans Project --> Share --> Shares, cliquez sur +Create Share.
- Share Name = entrez un nom significatif pour votre projet (par exemple project-name-shareName)
- Share Protocol = CephFS
- Taille = taille requise pour le share
- Share Type = cephfs
- Zone de disponibilité = nova
- Ne sélectionnez pas Make visible for all, autrement le share sera accessible par tous les utilisateurs dans tous les projets.
- Cliquez sur le bouton Create.
- Créez une règle pour générer une clé.
- Dans Project --> Share --> Shares --> colonne Actions, sélectionnez Manage Rules du menu déroulant.
- Cliquez sur le bouton +Add Rule à droite de la page.
- Access Type = cephx
- Access Level = sélectionnez read-write ou read-only (vous pouvez créer plusieurs règles à plusieurs niveaux)
- Access To = entrez un nom significatif pour la clé, par exemple def-project-shareName-read-write
- Prenez note des détails dont vous aurez besoin.
- Dans Project --> Share --> Shares, cliquez sur le nom du share.
- Dans Share Overview, notez Path.
- Sous Access Rules, notez Access Key (les clés d’accès sont composées de 40 caractères et se terminent par le symbole =. Si vous ne voyez pas de clé d’accès, vous n’avez probablement pas spécifié que la règle d’accès était de type cephx.
.
Configurer l'hôte
Installez les paquets requis.
famille Red Hat (RHEL, CentOS, Fedora, Scientific Linux, SUSE, etc.):
- Installez les dépôts requis pour accéder aux paquets ceph clients.
ceph-stable (nautilus is current as of this writting) https://docs.ceph.com/en/nautilus/install/get-packages/ epel (sudo yum install epel-release)
- Installez les paquets requis pour utiliser le client ceph dans toutes les instances pour lesquelles vous voulez monter le share.
libcephfs2 python-cephfs ceph-common python-ceph-argparse ceph-fuse (only if you intend a fuse mount)
famille Debian (Debian, Ubuntu, Mint, etc.):
https://docs.ceph.com/en/nautilus/install/get-packages/
- Installez les dépôts requis pour accéder aux paquets ceph clients.
Configurer les clés
Dans votre instance, créez 2 fichiers contenant chacun la clé d’accès qui se trouve dans la définition de la règle ou dans la section Access Rules de la définition du share.
Fichier 1 : /etc/ceph/client.fullkey.shareName (par exemple client.fullkey.def-project-shareName-read-write)
- contenu
[client.shareName] key = AccessKey
- contenu
Fichier 2 : /etc/ceph/client.keyonly.shareName (e.g client.keyonly.def-project-shareName-read-write)
- contenu
AccessKey
- Ce fichier ne contient que la clé d’accès.
- contenu
Définissez correctement la propriété de ces fichiers pour protéger l’information importante.
- Chaque fichier devrait être la propriété de root
sudo chown root.root filename
- Chaque fichier ne devrait être lisible que par root
sudo chmod 600 filename
Créez
/etc/ceph/ceph.conf
avec le contenu[client] client quota = true mon host = 10.30.201.3:6789,10.30.202.3:6789,10.30.203.3:6789 keyring = /etc/ceph/client.keyonly.def-project-sharename-read-write
- Remarque : Ceux-ci font le suivi sur la grappe Arbutus; si vous vous connectez à une autre grappe, vous avez besoin de l’information pour cette grappe particulière.
- Cette information se trouve dans Share Details de votre share, dans le champ Path.
- Remarque : Ceux-ci font le suivi sur la grappe Arbutus; si vous vous connectez à une autre grappe, vous avez besoin de l’information pour cette grappe particulière.
De la page Share pour votre connexion, obtenez l'information de connexion.
- Cliquez sur le nom du share pour faire afficher les détails.
- Copiez au complet chemin du share pour monter le système de fichiers.
Montez le système de fichiers.
- Créez un répertoire de point de montage quelque part dans votre hôte (probablement sous /mnt/, par exemple /mnt/ShareName).
- Par le kernel, utilisez le pilote ceph.
- Syntaxe :
sudo mount -t ceph <path information> <mountPoint> -o name=<shareKeyName>, secretfile=</path/to/keyringfileOnlyFile>
sudo mount -t ceph mon1:6789,mon2:6789,mon3:6789:/volumes/_nogroup/share_instance_id
- par exemple
sudo mount -t ceph 192.168.17.13:6789,192.168.17.14:6789,192.168.17.15:6789:/volumes/_nogroup/a87b5ef3-b266-4664-a5ed-026cddfdcdb7 /mnt/WebServerShare -o name=def-project-shareName-read-write,secretfile=/etc/ceph/client.keyonly.def-project-sharename-read-write
- par exemple
- Syntaxe :
- Par ceph-fuse
- Installez ceph-fuse.
- Syntaxe :
sudo ceph-fuse <mountPoint> --id=<shareKeyName> --conf=<pathtoCeph.conf> --keyring=<fullKeyringLocation> --client-mountpoint=pathFromShareDetails
- par exemple
sudo ceph-fuse /mnt/WebServerShare --id=def-project-shareName-read-write --conf=/etc/ceph/ceph.conf --keyring=/etc/ceph/client.fullkey.def-project-shareName-read-write --client-mountpoint=/volumes/_nogroup/a87b5ef3-b266-4664-a5ed-026cddfdcdb7
- par exemple
Notes
- Plusieurs clés d’utilisateurs peuvent être associées à un même share.
- Ceci permet un accès plus granulaire au système de fichiers, par exemple si vous voulez que certains hôtes ne possèdent qu’un accès en lecture seule à ce système de fichiers.
- Si un share possède plusieurs clés, vous pouvez ajouter les clés additionnelles à votre hôte et modifier la procédure de montage décrite ci-dessus.
- Ce service n’est pas disponible pour les hôtes qui sont à l’extérieur de la grappe OpenStack.