Système de fichiers partagé sur Arbutus

From CC Doc
Jump to navigation Jump to search
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.

This page is a translated version of the page Arbutus CephFS and the translation is 100% complete.
Other languages:


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.

Demander l’accès aux shares

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éer un share

  1. 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.
  2. 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
  3. 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

  1. Installez les paquets requis.

    • famille Red Hat (RHEL, CentOS, Fedora, Scientific Linux, SUSE, etc.):

      1. 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)
        
        
      2. 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/
      
  2. 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
        
    • 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.
    • 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
      
  3. 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.
  4. 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.
  5. 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 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

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.