FLASH INFORMATIQUE FI



Cellule AFS à l’EPFL

(A single, shared name space for all users, from all machines)




Felipe VALENZ


Introduction

Le travail sur un ordinateur implique, entre autres, la création et manipulation de fichiers. Les informations (données) ne peuvent pas continuellement être stockées dans la mémoire de l’ordinateur ; ainsi les données doivent être accessibles en tout temps : les file-systems existent pour cela.

Nous pouvons parler de deux types de file-systems, les plus connus dans le monde universitaire : UFS (Unix File System) et NFS (Network File System).

UFS est le file-system standard local pour les machines Unix ; ce file-system est accessible directement depuis la machine.

NFS est le file-system distribué stocké dans un serveur de fichiers. Pour accéder à ce file-system, on doit le monter sur votre machine.

Andrew File System (AFS)

AFS est un système d’archivage distribué qui fait penser à NFS mais avec beaucoup de différences et qui permet l’utilisation de données situées physiquement dans des machines différentes comme si elles étaient toutes réunies dans une seule unité de stockage, tout en gardant un contrôle rigoureux sur la sécurité du système basé sur l’application Kerberos. De cette façon, AFS met en oeuvre une série d’unités de stockage qui sont définies sur chaque machine sous la forme d’un répertoire commun nommé /afs.

Andrew fut le nom du projet de recherche du Centre Technologique de l’Université Carnegie-Mellon (CMU) à Pittsburgh (Pennsylvania) en honneur aux fondateurs de cette Université (http://www.cmu.edu ).

L’entreprise Transarc Corporation fut créée pour qu’AFS devienne un produit commercial. Le nom Andrew fut abandonné pour devenir simplement AFS pour indiquer qu’il dépassait la recherche d’origine et qu’il commençait à être supporté. Transarc Corporation devint IBM Pittsburgh Labs (http://www.transarc.com ) suite à son rachat. IBM diffuse le code-source du produit AFS et fait une copie pour la communauté de développement et maintenance d’AFS : OpenAFS est né.

OpenAFS (http://www.openafs.org ) est disponible pour les plates-formes Unix, Linux, Windows et MacOS.

Le projet de serveur de fichiers basé AFS a été lancé dans notre Ecole dans le cadre du projet IT2001 et à la demande d’une large fraction de la communauté universitaire. Ce projet doit permettre aux étudiants de l’EPFL d’accéder de façon sécurisée et performante à leur home-directory depuis n’importe où sur le campus de l’EPFL et également depuis l’extérieur. Cela permettra aux administrateurs IT d’éviter de créer des home-directories locaux pour les étudiants si les besoins ne dépassent pas l’ordre de 250 MB. Il permet aussi le partage de fichiers entre groupes d’utilisateurs et doit être accessible de toutes les plates-formes supportées à l’EPFL.

Kerberos

Kerberos est un protocole d’authentification sur le réseau. Il fournit une forte sécurité pour des applications serveur-client grâce à un cryptage secret par clés. Kerberos est disponible sur plusieurs produits commerciaux.

Internet n’est pas un service sûr et ses protocoles de communication de base n’offrent aucune sécurité (des outils performants pour renifler le réseau existent !). Les applications qui envoient des passwords non cryptés par le réseau sont très vulnérables. L’existence de firewalls ne résout pas les problèmes occasionnés par des hackers et quelques-uns pourraient se trouver dans le site même protégé par le firewall.

Athena Project

Kerberos fut créé par le MIT (Massachusetts Institute of Technology) à Cambridge (http://www.mit.edu ) dans le cadre du projet Athena (http://Web.mit.edu/is/athena ) en réponse aux problèmes de sécurité. C’est une solution pour la sécurité de transfert des informations par le réseau avec ses outils d’authentification et un cryptage fort.

Kerberos maintient, en plus, un contrôle sur les processus en octroyant des tickets (tokens) pour qu’ils puissent être exécutés.

Serveur de fichiers

Dans ce système il y a d’un côté un serveur, et de l’autre un client. La communication entre serveur et client est authentifiée et sécurisée.

Terminologie

Token (ticket, jeton)
• correspond à la permission du service donné par Kerberos. Un token permet l’utilisation des fichiers AFS.

Cell (cellule, cage)

• c’est un groupe de serveurs et clients AFS. Exemple : epfl.ch, cern.ch, ethz.ch, zurich.ibm.ch, mathematik-cip.uni-stuttgart.de, athena.mit.edu, ictp.trieste.it, itc.auth.gr, ific.uv.es,

Volume (volume, espace)

• de la même façon qu’Unix divise le disque en partitions, AFS divise ses espaces en volumes qui sont les endroits de stockage des données.

Home Directory (directoire de base)

• c’est le volume où se trouvent les données de l’utilisateur. Par convention le home-directory AFS de l’utilisateur est : /afs/cell-name/user-home.
• Exemple : /afs/ictp.trieste.it/galilei

Mount Point (point de montage)

• dans l’arborescence des directoires, ces directoires sont, à vrai dire, des liens pour les différents volumes. Exemple : un cd galilei/coso parcourt un mount point vers le volume /afs/itcp.trieste.it/galilei/coso.

Architecture

L’élément majeur d’AFS est la cellule (cell). Une cellule constitue un domaine administratif d’autorité. Chaque cellule a sa propre liste d’utilisateurs, groupes et administrateurs de système, ce qui implique qu’un utilisateur d’une cellule n’existe pas dans une autre cellule.

Chaque cellule est constituée de volumes. Un volume est une collection de fichiers et directoires qui sont groupés avec un nom. Votre home-directory est un volume nommé user.username (par exemple : user.valenz).

Le volume qui correspond à /afs se nomme root.afs. Ce directoire /afs contient les mount-points de la racine pour chaque cellule (dans notre cas epfl.ch:root.cell).

Si vous faites un ls /afs, vous verrez les directoires des cellules AFS.

Les cellules peuvent être locales (dans le même LAN) ou ailleurs dans le monde.

Avec AFS on peut accéder à tous les file-systems sous /afs avec les commandes Unix connues telles que cd, cp, rm, mv, vi, etc.. Toute l’arborescence /afs est considérée comme une arborescence locale et vous travaillez comme si vous étiez sur votre machine locale.

Avantages

Cache Manager

Le client AFS exploite le Cache Manager qui maintient les informations sur l’identité des utilisateurs connectés à la machine, fait la gestion des données au nom de l’utilisateur et conserve les fichiers récupérés sur le disque local.

Situation d’indépendance

Au contraire de NFS qui fait usage de /etc/filesystems
(/etc/fstab du client) pour monter comme directoire local un file-system d’une autre machine (dans le réseau), AFS le monte sur le serveur. Ceci est un grand avantage du fait de mettre à disposition un espace (file-system) indépendant. Pour mieux comprendre cet avantage, voici un exemple : supposons deux serveurs et 50 clients. Avec NFS il faudrait changer le fichier /etc/fstab sur les 50 machines clientes et laisser le /home off-line pendant que vous le montez sur les serveurs. Avec AFS il faut simplement monter le volume AFS (des serveurs) qui contient le /home de la machine cliente.

Dynamisme de la cellule

Une cellule AFS peut grandir dynamiquement : ajouter de nouveaux serveurs de fichiers devient simple en cas de besoin pour pouvoir répondre aux demandes des utilisateurs.

Facilité d’utilisation

L’accès aux fichiers du serveur devient beaucoup plus simple que par NFS ; il suffit d’aller dans votre directoire local /afs. Vous n’avez plus besoin de garder des copies locales de vos fichiers, laissez à AFS le travail d’accéder et de cacher les fichiers, lorsque vous en aurez besoin.

Sécurité de haut niveau

Tout d’abord AFS fait usage de Kerberos pour l’authentification de l’utilisateur. Cela signifie que :
• le password ne circule pas sur le réseau en clair ;
• le password encrypté n’a plus besoin d’être visible ;
• AFS utilise une double authentification : du serveur et du client.

Ensuite AFS utilise les Access Control Lists (ACLs) pour gérer le niveau des accès des utilisateurs à leurs propres répertoires.

Copies de sécurité

Les fichiers AFS sont stockés dans les volumes. Ces volumes résident sur les disques du serveur de fichiers AFS. Les volumes avec les données sont répliqués read-only sur d’autres serveurs. Le Cache Manager (dans la machine cliente de l’utilisateur) fera usage d’un volume répliqué si un serveur est inaccessible à cause d’une panne ou de problème de réseau.

Protocole de communication optimisé

Le protocole de communication AFS est optimisé pour les réseaux à grande échelle.

Facilité d’administration

Les administrateurs de serveurs AFS peuvent faire la gestion de leur serveur depuis n’importe quelle machine cliente AFS (le login au serveur de fichier n’est pas nécessaire).

Solidité en cas de crash

Le Cache Manager garde des copies locales des fichiers utilisés. Ainsi en cas de crash du serveur de fichiers AFS, les fichiers sont toujours accessibles (mais la mise à jour de fichiers ne sera possible que lorsque le serveur deviendra à nouveau opérationnel).

Cellule epfl.ch et Serveur-fichiers afs1

La cellule AFS epfl.ch est née le 28 mai 2002. Elle a été initialisée par un premier serveur de fichiers afs1, avec sa base de données Kerberos principale kd1et ses deux répliques de sécurité kd2 et kd3. Le premier ticket d’authentification (token) a été donné à son administrateur admin. epfl.ch est devenue la cinquième cellule AFS en Suisse (après cern.ch, ethz.ch, ibm.ch et psi.ch). Notre serveur de fichiers et ses 3 bases des données sont supportés par 4 machines Sun NetraT1 et par un A1000 avec 280 GB (rack de disques Raid).

Validation sur le serveur de fichiers afs1

Toute demande de validation pour le serveur de fichiers afs1 doit être faite à travers le service Gaspar (http://gaspar.epfl.ch ). Dans l’état actuel, la validation est limitée à certains étudiants et aux gestionnaires de ces étudiants. Le service AFS sera élargi ultérieurement.

Home-Directory de l’utilisateur EPFL

L’usager EPFL validé sur le serveur afs1 trouvera son home-directory sous la forme : /afs/epfl.ch/users/x/xuser-name où x est la première lettre de son user-name. Exemple : l’utilisateur gabrielamistral trouve son home-directory dans /afs/epfl.ch/users/g/gabrielamistral. Pour la petite histoire : (http: //www.netsrq.com/ dbois/mistral.html).

Clients AFS

L’installation de l’application cliente pour AFS pour les 4 plates-formes Linux, MacOS, Solaris et Windows est expliquée à l’URL : http://ditwww.epfl.ch/SIC/SA/SE/AFS .

VPN et AFS

L’utilisateur qui voudra accéder à la cellule epfl.ch et son serveur de fichiers AFS depuis un accès libre-service ou hors de l’Ecole, doit précédemment avoir ouvert le tunnel sécurisé VPN (http://network.epfl.ch/vpn ) pour se connecter au réseau EPNET.

Je tiens à remercier mes collègues Krassimir Todorov de l’EPFL/SIC et Erwin Broschinski de l’ETHZ/Systemdienste pour leur aide précieuse lors de la mise en place de ce projet.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.