« HOME@INSA » : un service universel de stockage de documents

Damien Berjoan

Direction des Systèmes d'Information / INSA de Lyon

20 avenue Albert Einstein 69621 Villeurbanne cedex


Pierre Giraud

Direction des Systèmes d'Information / INSA de Lyon

20 avenue Albert Einstein 69621 Villeurbanne cedex


Olivier Franco

Direction des Systèmes d'Information / INSA de Lyon

20 avenue Albert Einstein 69621 Villeurbanne cedex


Résumé

Dans cet article nous allons vous présenter le service HOME@INSA, sorte de « clé USB virtuelle » permettant à nos usagers d'accéder à leurs données depuis n'importe quel environnement de travail (Windows, Unix, Linux, Mac) et ce depuis le campus ou de l'extérieur, le tout sans l'installation de plugin ou de client spécifique.


Ce service utilise la solution logicielle d'Active Circle [1] qui est un système de NAS ouvert reposant sur une infrastructure non propriétaire et fonctionnant selon une architecture en cellule. Cette solution intègre des fonctionnalités de stockage hiérarchique (HSM), de gestion du cycle des données (ILM) et virtualise l'espace de stockage. Ceci permet de gérer dynamiquement l'évolution de la volumétrie et des points d'accès suivant les usages. Par ailleurs cette solution logicielle est indépendante du matériel ainsi que du système d'exploitation hôte (Windows ou Linux) du serveur hébergeant cette application.


L'expérimentation que nous avons menée porte sur la mise en place d'une infrastructure de 3 cellules réparties sur le campus, la haute disponibilité étant assurée par la réplication des données entre les cellules. Chaque cellule est composée d'un serveur et de 2 baies de stockage (SAS et SATA), afin de disposer d'un stockage hiérarchique, et offre une volumétrie totale de 8 To. L'accès se fait via les protocoles CIFS, NFS et FTP. À cela nous avons rajouté un mode FTP/CAS permettant l'accès aux données depuis l'ENT. Ainsi nous offrons à nos usagers un service universel de stockage de documents accessible depuis l'ensemble des services numériques de l'établissement.

Mots clefs

homedir, NAS, stockage virtualisé, stockage hiérarchique (HSM), gestion du cycle des données (ILM), CIFS, NFS, FTP/CAS, ENT.

1Introduction

En juin 2008 nous avons testé la solution logicielle de l'éditeur Active Circle sur 2 cellules (serveurs de stockage dédiés) dans notre environnement. L'objectif était de valider son intégration dans notre ENT (ESUP/Uportal) [2] qui disposait d'un canal de stockage raccordé à un serveur FTP « casifié ». Ceci nous permettait d'avoir un accès en mode login/mot de passe ou en mode « ticket CAS » depuis l'ENT. Grâce au mode de fonctionnement de cette solution et à son ouverture il a été possible de l'intégrer dans l'ENT. Au final nous avons mis en place un espace de stockage accessible depuis le bureau virtuel de l'ENT en mode HTTP et également depuis un poste de travail (Windows et Linux) en montage NFS et/ou CIFS. Cette première expérimentation a fait l'objet d'une présentation aux Esup-Days n°6 de juin 2008 [3] et lors de l'atelier stockage d'ESUP le 4 février 2009 [4].

Suite à la validation du concept d'intégration du mode FTP/SSO dans cette solution logicielle nous avons décidé de mettre en place le service HOME@INSA, « clé USB virtuelle » permettant à nos usagers de disposer d'un espace de stockage personnel accessible en tout lieu, n'importe quand et depuis tout type environnement.

L'infrastructure matérielle et logicielle spécifique que nous allons détailler dans cet article a été installée en septembre 2009 pour une mise en production en novembre 2009.

2Présentation du service Home@INSA

2.1Contexte et objectifs

Suite à la première expérimentation nous avons mis en œuvre une infrastructure devant répondre aux critères suivants :

2.2Infrastructure matérielle

Cette infrastructure est composée de 3 cellules ou nœuds disposant chacun de :

Afin d'avoir une bonne répartition de charge et pour garantir une haute disponibilité des données nous avons installé chaque cellule dans un bâtiment différent, une dans la salle serveur principale de la DSI (bât. Joseph Jacquard) et les 2 autres dans les salles serveurs de départements d'enseignement.





























Figure 1 - Répartition de l'infrastructure matérielle

2.3Infrastructure logicielle

Tout d'abord, voici une courte présentation de la solution Active Circle qui permettra de mieux comprendre le fonctionnement du service Home@INSA et l'intégration de celui-ci dans l'ENT.

Cette solution est une plateforme logicielle offrant un espace virtuel de stockage de fichiers, distribué et extensible, compatible avec tout type de matériel de stockage du marché. Ainsi il est tout à fait possible de réutiliser un parc de machines et/ou du matériel de stockage existant suivant le contexte. L'installation se fait sur un serveur dédié sous Windows ou Linux et dans notre cas nous avons opté pour Linux RedHat Enterprise 5.3 .

Cette plateforme est décomposée en plusieurs modules qui s'intègrent dans les différentes couches du système d'exploitation hôte du serveur dédié, voici une description de ceux-ci :

Figure 2 - Infrastructure logicielle d'une cellule Active Circle dans son environnement



Cette architecture modulaire permet du côté serveur d'avoir une grande souplesse sur l'allocation et l'utilisation des partitions, autorisant par exemple l'augmentation dynamique de l'espace de stockage offert.

L'accès aux données physiques s'effectue via les modules de système de fichiers et de gestion des disques de la solution selon le processus ci-dessous :

Figure 3 - Processus de stockage des données

La gestion des données est assurée par des classes de services (COS) qui permettent de définir :

Ces règles sont regroupées dans la « COS de données » pour la réplication et le stockage, dans la « COS d'historisation » pour la conservation des versions de fichiers et des fichiers supprimés et dans la « COS d'archivage ». Ces classes de services (COS) sont ensuite associées à un partage donné.

Ensuite la gestion d'accès à un partage se fait suivant les règles :

L'ensemble de ces paramètres s'applique à un regroupement de cellules (Circle). Celui-ci sert aussi à gérer la haute disponibilité de l'infrastructure avec un mode d'accès aux services en cluster via des adresses IP flottantes. Ce mode permet de transférer automatiquement sur une autre cellule l'adresse IP d'une cellule qui ne répondrait plus. La restitution de cette adresse, des données et métadonnées se fait de manière automatique en cas de retour de la cellule en faute.

Pour la gestion des services de NAS sur les cellules, il est possible d'activer tout ou partie des 3 protocoles de base (CIFS, NFS, FTP) qui sont fournis directement par la solution et non par le système hôte pour un partage donné ; à ce niveau chaque cellule est indépendante. Ainsi il est envisageable d'arrêter un de ces services et de le remplacer par un autre via un outil spécifique sur une ou plusieurs cellules (c'est ce que nous avons fait pour la partie FTP/SSO que nous détaillerons plus tard), ou de rajouter un nouveau service.

Enfin une API spécifique autorise les accès aux données et métadonnées depuis les outils livrés avec la solution ou le mode console. D'ailleurs l'ensemble des commandes en mode console se base sur cette API. Celle-ci peut être utilisée directement sur un des serveurs hôtes ou depuis n'importe quelle application disposant du kit de développement Java, par exemple, dans notre cas depuis l'ENT (ESUP/uPortal). Ce mode d'accès via l'API suit la logique des règles et des contrôles définis sur un partage et nécessite les mêmes droits que pour une consultation normale d'un utilisateur.



2.4L'infrastructure Home@INSA dans le Système d'Information

Actuellement nous disposons d'un annuaire LDAP qui est utilisé par toutes les applications web/SSO, la messagerie et l'accès aux postes Unix/Linux ainsi qu'un annuaire Active Directory pour la gestion du parc des postes sous Windows.

La solution Active Circle gère l'authentification et l'accès à un partage suivant le ou les annuaires auxquels il est lié et les ACL associées. Dans notre cas nous avons intégré nos deux annuaires mais pour éviter de mettre deux ACL spécifiques, l'une pour le compte AD (droits Windows) et l'autre pour le compte LDAP (droits Unix), nous avons regroupé les comptes LDAP et AD en un seul avec la fonctionnalité de méta-annuaire de la solution. La mise en place initiale des ACL Active Circle sur les dossiers du partage se fait via des commandes spécifiques sur le compte du méta-annuaire pour un dossier précis. Par contre, il n'y a pas de correspondance entre les ACL Windows et les droits Unix : ceux-ci s'additionnent et doivent être paramétrés avec soin pour éviter tout conflit. Enfin ces ACL peuvent être directement modifiées depuis les outils natifs de Windows et d'Unix.

Avec ce système nous pouvons définir une seule ACL par utilisateur du méta-annuaire permettant un accès multi-protocole à un partage. Il est aussi possible de définir des ACL par utilisateur et par annuaire suivant le protocole d'accès au partage.

3Mise en œuvre de l'infrastructure

Après la présentation de la solution employée passons à la mise en œuvre pratique dans notre environnement.

3.1Architecture interne d'une cellule

Au niveau de chaque cellule nous avons défini plusieurs partitions correspondant à un usage spécifique en tenant compte du support physique de stockage utilisé soit SAS ou SATA. Ceci nous permet d'utiliser les règles de stockage hiérarchique définies par la « COS de données » afin d'employer au mieux les ressources de stockage.

Ainsi nous avons décidé que les données régulièrement utilisées seraient mises dans le cache puis dans la partition de disques SAS et ensuite qu'elles seraient transférées automatiquement dans les partitions SATA. Il est aussi possible de mettre les données sur bandes tout en les gardant accessibles (délai plus long) ou de les archiver sur tous supports numériques, en mode tar, mais ce n'est pas une option que nous avons choisie.

Voici le partitionnement qui a été défini sur chaque cellule :





3.2Intégration du mode FTP/SSO dans le NAS

Sur le principe il suffit d'avoir un serveur disposant de l'authentification LDAP [5], avec la mise en place de pam_ldap [6], d'un service ftp casifié par exemple avec pam_cas [7], et de monter le partage en NFS (V3) pour rendre accessibles les données du NAS Active Circle en mode FTP/SSO.

De notre côté pour des raisons de sécurité nous avons choisi d'installer ce service FTP/SSO directement sur chaque cellule afin d'assurer une redondance d'accès aux différents protocoles qui sont disponibles sur chaque cellule.





Figure 4 - Schéma d'intégration du SSO dans notre environnement

Dans ce cas sur la partie NAS de chaque cellule nous avons désactivé le protocole FTP puis nous avons procédé à l'installation de pure-ftpd [8] avec les modules PAM. Ensuite nous avons monté en local le partage via NFS afin de pouvoir accéder aux données. En effet celles-ci ne sont visibles qu'au travers d'un des protocoles fourni par le NAS et non directement, et ce même depuis la cellule.

À partir de là nous avons rajouté l'authentification LDAP via pam_ldap afin d'associer les noms de logins (UID) et de groupes (GID) aux fichiers de la partition NFS. Ensuite nous avons paramétré la librairie pam_cas afin de configurer le ftp en mode proxy CAS [9]. À ce stade nous avons un service FTP accessible en mode d'authentification classique, avec les login/mot de passe de l'annuaire LDAP et en mode proxy CAS, prêt à être intégré dans notre ENT.



3.3Intégration dans l'ENT

Au niveau de l'ENT l'intégration se fait à deux niveaux : le premier pour l'accès en mode FTP/SSO et le second pour la remontée d'informations du NAS vers l'utilisateur. Pour l'instant nous remontons le quota de l'utilisateur et son taux d'usage. Il est prévu ultérieurement de rendre accessible l'historique des versions et des fichiers effacés de l'utilisateur. Cette intégration se fait à travers un webservice réalisé avec Apache CXF (2) qui utilise l'API d'Active Circle (3) le tout « packagé » dans un conteneur Jetty (1).

Ce webservice est attaqué par le client de quota (6) avec Axis 1.x pour Esup/uPortal qu'utilise la version modifiée du backend ftp (4) raccordé au serveur FTP/SSO. La configuration du backend ftp est assurée par une classe de configuration spécifique (5).



Figure 5 - Vue fonctionnelle de l'intégration de service du NAS dans l'ENT



  1. Conteneur de Servlet Jetty

  2. Pile de webservices

4Usages et retours d'expériences

La mise en production de l'infrastructure étant intervenue en novembre 2009 nous n'avons pas à ce jour suffisament de recul pour un retour consolidé et complet sur ce projet.

Cependant nous pouvons déjà lister l'ensemble des objectifs atteints et des problèmes rencontrés :



5Conclusion

La mise en œuvre de cette infrastructure complexe a été plus longue que prévue car nous sommes parmi les premiers à avoir un usage en mode centré sur l'utilisateur (user centric) de la solution d'Active Circle. En effet cette solution était destinée à un mode centré sur la volumétrie afin de rendre accessible un énorme volume de stockage à quelques utilisateurs, alors que nous souhaitons offrir un espace de stockage limité à des milliers d'usagers. Malgré ces difficultés, surmontées grâce à une collaboration efficace avec Active Circle, nous avons pu atteindre la plupart de nos objectifs initiaux en fournissant un service universel de stockage de documents à nos utilisateurs. Par ailleurs les possibilités d'intégration dans l'ENT ont été démontrées et offrent des perspectives intéressantes pour la suite, par exemple avec l'accès à l'historique des fichiers.

Enfin, bien que les aspects de montée en charge n'aient pas encore été pleinement testés le mode de fonctionnement en cellule et cluster de la solution simplifiera l'évolution de notre infrastructure. Pour cela il suffira d'ajouter de nouvelles cellules et/ou de nouveaux supports de stockage afin d'assurer une qualité de service et un volume de stockage garanti à chacun de nos utilisateurs.



6Annexe

Configuration réseau mise en œuvre :





Détail de la configuration Active Circle

pour la gestion des données :

pour le stockage des données :

un entrepôt de stockage de 8,5 To par cellule composé d'une partition SAS 1,6 To et d'une partition SATA 6,9 To.



Détail de l'infrastructure matérielle d'une cellule :



7Bibliographie

  1. Active Circle, http://www.active-circle.com/

  2. Esup Portail, http://www.esup-portail.org

  3. Olivier Franco, Damien Berjoan, Yves Condemine, Exemples de nouveaux services dans l'ENT à l'INSA Lyon,
    http://www.esup-portail.org/download/attachments/5210134/presentation_esup-day-6_v2-insa-lyon.pdf

  4. Damien Berjoan, Homedir à l'INSA de Lyon,
    http://www.esup-portail.org/download/attachments/46661661/presentation-esup-ecm.pdf

  5. Jehan Procaccia, LDAP présentation et implémentation, http://www.it-sudparis.eu/s2ia/user/procacci/ldap/index.html

  6. Pam_LDAP, http://www.padl.com/software.html

  7. Vincent Mathieu, Installation et paramétrage de pam_cas,
    http://www.esup-portail.org/consortium/espace/SSO_1B/tech/cas/cas_pam.html

  8. Pure-ftpd, http://www.pureftpd.org/project/pure-ftpd

  9. Vincent Mathieu, Pascal Aubry, Julien Marchal, Single Sign-On open-source avec CAS
    http://2003.jres.org/actes/paper.139.pdf

  10. Microsoft, LmCompatibilityLevel, http://technet.microsoft.com/en-us/library/cc960646.aspx

Home@INSA 8/8 JRES 2009