OpenAFS/fr

Ce guide explique comment installer un serveur et un cilent OpenAFS sur Gentoo Linux.

À propos de ce document
Ce document vous guide à travers toutes les étapes nécessaires pour installer un serveur OpenAFS sur Gentoo Linux. Certaines parties de ce document sont issues de la FAQ AFS et du AFS Quick Beginnings guide d'IBM. Il ne sert à rien de réinventer la roue.

Qu'est-ce qu'AFS ?
AFS est un système de fichiers distribué qui permet à des hôtes coopérants (clients et serveurs) de partager efficacement des ressources de systèmes de fichiers à travers à la fois, le réseau local et des réseaux étendus. Les clients détiennent un cache pour les objets d'usage fréquent (fichiers), pour accélérer leur accès à ces derniers.

AFS est basé sur un système de fichiers distribué, développé à l'origine par l'Information Technology Center de l'université de Carnegie-Mellon, appelé Andrew File System. Andrew était le nom d'un projet de recherche de l'université de Carnégie-Mellon, en l'honneur de ses fondateurs. Une fois que Transarc fut créé et que AFS devint un produit, le Andrew fut abandonné pour indiquer que AFS avait dépassé les limites du projet et était devenu un système de fichiers de qualité et un produit exportable. Néanmoins, il y avait un nombre de cellules existantes qui utilisaient /afs comme racine de leur système de fichiers. À cette époque, changer la racine d'un système de fichiers était loin d'être une entreprise triviale. Aussi, pour éviter aux premiers site AFS d'avoir à renommer leur systèmes de fichiers, AFS fut retenu, à la fois,  comme le nom du système de fichier  et comme le nom de  sa racine.

Qu'est-ce qu'une cellule AFS ?
Une cellule AFS est un collection de serveurs administrativement regroupés, qui présente un système de fichiers unique et cohésif. Typiquement, une cellule AFS est un ensemble d'hôtes qui utilisent le même nom de domaine (par exemple gentoo.org). Les utilisateurs se connectent par des stations de travail clientes AFS qui demandent des informations et des fichiers à une cellules de serveurs au nom des utilisateurs. Les utilisateurs ne savent pas sur quel serveur le fichier auquel ils accèdent se trouve. Il ne se rendent même pas compte si un serveur est situé dans la pièce d'à coté dans la mesure ou chacun des volumes peut être répliqué et déplacé vers un autre serveur sans que les utilisateurs en soient avertis. Les fichiers sont toujours accessibles.

Quels sont les bénéfices de l'utilisation d'AFS ?
The main strengths of AFS are its: caching facility (on client side, typically 100M to 1GB), security features (Kerberos 5 based, access control lists), simplicity of addressing (you just have one filesystem), scalability (add further servers to your cell as needed), communications protocol.

Où puis-je trouver plus d'information ?
Lisez les FAQ AFS.

La page d'accueil de OpenAFS est à www.openafs.org.

AFS was originally developed by Transarc which is now owned by IBM. Since April 2005, it has been withdrawn from IBM's product catalogue. IBM branched the source of the AFS product, and made a copy of the source available for community development and maintenance in 2000. They called the release OpenAFS.

Comment résoudre les problèmes ?
OpenAFS possède des fonctions de journalisation importantes. Cependant, par défaut, il tient ses propres journaux au lieu d'utiliser les fonctions de journalisation de votre système. Pour que le serveur utilise les fonctions de journalisation du système,  utilisez l'option   pour toutes les commandes.

Introduction
Cette section vous guide dans le processus de mise à jour d'une installation OpenAFS existante vers une version d'OpenAFS 1.4.0 ou postérieure (ou 1.2.x partant de 1.2.13. Cette dernière ne sera pas prise en compte spécifiquement car la majorité des gens désireront 1.4 pour disposer d'une prise en charge de a.o.linux-2.6, de fichiers de grande taille et de la résolution des bogues).

Si vous disposez d'une installation fraîche de la version 1.4 d'OpenAFS, vous pouvez sans risque sauter ce chapitre. Néanmoins, si vous mettez à jour depuis une version antérieure, nous vous recommandons fortement de suivre les conseils des sections suivantes. Le script de transition dans l'ebuild est conçu pour vous assister dans la mise à jour rapide et le redémarrage. Notez que :il n'effacera pas (pour des raisons de sécurité) les fichiers de configuration et les scripts de démarrage aux anciens emplacements; ne changera pas automatiquement votre configuration de démarrage pour utiliser les nouveaux scripts, etc. Si vous n'êtes pas encore convaincu, l'utilisation d'un ancien module du noyau OpenAFS avec le système de binaires à jour, peut rendre votre noyau imprévisible. C'est pourquoi vous devez continuer à lire pour une transition claire et facile.

Différences avec les versions précédentes
Traditionnellement, OpenAFS a utilisé les mêmes conventions de chemin qu'IBM TransArc labs, jusqu'à ce que le code choisisse un embranchement différent. C'est compréhensible que la configuration de l'ancien AFS continue à utiliser ces conventions héritées. Des configuration plus récentes se conforment à FHS en utilisant des emplacements standards (comme dans beaucoup de distributions Linux). La table suivante est une compilation du script configure et du fichier README qui accompagne l'archive de distribution d'OpenAFS :

Il y a quelques autres curiosités, comme les binaires placés dans  pour le mode Transarc, mais cette liste ne prétend pas être exhaustive. Elle est plutôt destinée à servir de référence pour la transition créatrice de dysfonctionnements de ces fichiers de configuration.

En conséquence des changements de chemin, l'emplacement par défaut du cache de disque a également été changé de  en.

Plus encore, le script d'initialisation a été éclaté en une partie client et une partie serveur. Vous aviez pour habitude d'avoir, mais maintenant vous avez finalement et. Par conséquent, le fichier de configuration a été éclaté en  et. Les options dans pour arrêter ou démarrer le client ou le serveur sont également devenues obsolètes.

Un autre changement au script d'initialisation, c'est qu'il ne vérifie plus la configuration de votre cache de disque. L'ancien code requérait qu'une partition ext2 séparée soit montée sur. Cela occasionnait quelques problèmes :


 * Bien qu'il s'agisse d'une configuration très logique, votre cache n'a pas besoin d'être sur une partition séparée. Tant que vous assurez que la quantité de place spécifiée dans est réellement disponible pour le cache de disque, tout va bien. Ainsi, il n'y a réellement pas de problème à ce que le cache se trouve sur votre partition root.
 * Quelques personnes utilisent des liens symboliques pour pointer vers le cache de disque réel. Le script d'initialisation n'aime pas ça, parce qu'alors, l'emplacement de ce cache n'apparaît pas dans.
 * De nos jours, beaucoup préfèrent ext3 à ext2. Les deux systèmes de fichiers sont valides pour une utilisation en cache de disque. Tout autre système de fichiers n'est pas pris en charge (par exemple, n'essayez pas reiserfs, vous obtiendriez un énorme avertissement, et pourriez vous attendre à des plantages par la suite).

Transition vers les nouveaux chemins
Tout d'abord, l'installation d'une nouvelle version d'OpenAFS n'écraserait pas vous anciens fichiers de configuration. Le script est conçu pour ne remplacer aucun fichier déjà présent sur le système. C'est pourquoi, même si vous avez une configuration complètement anarchique, avec un mélange d'anciens et de nouveaux emplacements, le script ne créera pas de problèmes supplémentaires. Par ailleurs, si un serveur OpenAFS en service est détecté, l'installation avortera, empêchant ainsi une possible corruption de base de données.

Une mise en garde cependant -- il y a eu des ebuilds traînant sur Internet qui désactivent partiellement la protection que Gentoo place sur. Ces ebuils n'ont jamais été distribués par Gentoo. Vous devriez vérifier la variable   dans la sortie de la commande suivante :

Bien que rien dans cet ebuild ne toucherait les fichiers dans , la mise à jour causerait la suppression de votre ancienne installation d'OpenAFS. Les fichiers dans  qui appartiennent à l'ancienne installation seraient supprimés également.

Il devrait être clair à l'utilisateur expérimenté que, s'il a mis au point son système en ajoutant les liens symboliques à la main (par exemple  vers  ), la nouvelle installation peut continuer à bien fonctionner en continuant à utiliser les anciens fichiers de configuration. Dans ce cas, il n'y aurait pas eu de réelle transition, et le nettoyage de l'ancienne installation résulterait dans une configuration cassée d'OpenAFS.

Maintenant que vous savez ce qui ne se produira pas, vous voulez savoir quoi faire :


 * is copied to
 * is copied to
 * is copied to
 * is copied to, while replacing occurrences of  with  ,  with  and  (without the / as previously) with
 * is copied to
 * The configuration file is copied to , as all known old options were destined for client usage only.

La mise à jour elle-même
Ainsi vous n'avez pas réussi à configurer le serveur OpenAFS ? Ou peut-être y êtes-vous parvenu, les sections précédentes vous ont informé sur ce qui va se passer, et vous êtes toujours décidé ?

Allons-y alors !

Si vous avez un serveur qui tourne, arrêtez-le maintenant.

Et ensuite, faites la mise à jour elle-même.

Redémarrer OpenAFS
Si vous aviez un serveur OpenAFS en service, vous pourriez n'avoir pas été forcé à l'arrêter. C'est le moment de le faire maintenant.

Vous désirerez peut-être maintenir le temps d'arrêt à un minimum, c'est pourquoi vous pouvez redémarrer le serveur OpenAFS tout de suite.

Vous pouvez vérifier qu'il tourne correctement avec cette commande :

Avant de redémarrer le client OpenAFS, prenez le temps de vérifier la configuration de votre cache. Elle est fixée dans. Pour redémarrer le client OpenAFS, entrez la commande suivante :

Nettoyage après coup
Avant de procéder au nettoyage, assurez-vous que tout fonctionne correctement et que vous avez redémarré après la mise à jour (autrement, vous pourriez être toujours en train de fonctionner sur l'ancienne installation)

Les répertoires suivants peuvent être retirés du système en toute sécurité.



Les fichiers suivants sont également inutiles :



Au cas où vous auriez au préalable utilisé ebuilds=openafs-1.2.13 ou =openafs-1.3.85, vous pourriez également avoir d'autres fichiers inutiles :



Changements au script d'initialisation
Maintenant, la plupart des gens devraient avoir leur système configuré pour démarrer le client et le serveur OpenAFS automatiquement au démarrage. Ceux qui ne pratiquent pas ainsi peuvent sauter cette section sans crainte. Si votre système est configuré pour les démarrer automatiquement, vous devriez revalider ceci car les noms des scripts d'initialisation ont changé.

Si vous aviez  ou  , vous devriez retirer  et  du niveau d'exécution par défaut, au lieu de.

Dépannage : que faire si la mise à jour automatique échoue
Pas de panique ! Vous ne devriez pas avoir perdu de donnée ou de fichier de configuration. Aussi nous devons analyser la situation. Postez un rapport de bogue à bugs.gentoo.org dans tous les cas, de préférence avec autant d'informations que possible.

Si vous avez des problèmes avec le démarrage du client, ceci devrait vous aider à faire un diagnostic.


 * Exécutez  . Normalement, le client y envoie des messages d'erreur.
 * Vérifiez . Il devrait être de la forme : /afs:{chemin vers le cache de disque}:{nombre de blocs pour le cache de disque}. Normallement, votre cache de disque devrait être situé à.
 * Vérifiez la sortie de  . Vous devriez voir une ligne commençant par le mot openafs.
 * vous dira si openafs tourne ou pas
 * vous dira si a été monté.

Si vous rencontrez des problèmes pour démarrer le serveur, ces indices devraient vous aider :


 * devrait vous dire si le superviseur tourne ou pas. Si vous avez plus d'un superviseur en marche, alors quelque chose s'est mal passé. Dans un tel cas, vous devriez essayer un arrêt élégant du serveur OpenAFS server avec la commande , vérifiez-en le résultat avec la commande   , tuez tous les processus de superviseur qui restent et, finalement, vérifiez si un process serveur quelconque est encore en marche  (   pour en obtenir la liste). Après cela, faites   pour remettre à zéro le statut du serveur et    pour essayer de le relancer.
 * Si vous utilisez le système de journalisation propre à OpenAFS (ce qui est la configuration par défaut), vérifiez . Si vous utilisez la journalisation système, vérifiez ses journaux pour toute information utile.

Obtenir la documentation AFS
Vous pouvez vous procurer la documentation IBM originale. Elle est très bien écrite et vous devriez absolument la lire si vous devez administrer un serveur AFS.

Vous avez également l'option d'utiliser la documentation délivrée avec OpenAFS. Elle est installée quand l'option  de la variable USE est activée lors de l'installation d'OpenAFS. On peut la trouver dans. Au moment de l'écriture de cette page, la documentation était encore en préparation. Elle peut cependant vous renseigner sur de nouvelles fonctionnalités d'OpenAFS qui ne sont pas décrites dans la documentation originale d'IBM.

Compiler le client
Au terme d'une compilation réussie, vous êtes prêt à l'utiliser.

Une installation simple du client pour une navigation globale
Si vous ne faites pas partie d'une cellule OpenAFS particulière à laquelle vous voulez accéder, et voulez simplement naviguer à travers toutes les données partagées globalement disponibles, alors vous pouvez vous contenter d'installer OpenAFS, sans du tout toucher à la configuration, et démarrer.

Accéder à une cellule OpenAFS particulière
Si vous avez besoin d'accéder à une cellule particulière, disons, par exemple, la celule de votre université ou de votre entreprise, alors quelques ajustements de votre configuration sont nécessaires.

Tout d'abord, vous devez mettre à jour avec les serveurs de bases de données de votre cellule. Cette information est en général disponible auprès de votre administrateur.

En second lieu, pour être en mesure de vous connecter à la cellule OpenAFS, vous devez indiquer son nom dans.

Adjusting CellServDB and ThisCell

CellServDB indique à votre client quels serveurs il doit contacter pour une cellule donnée. ThisCell devrait être tout à fait évident. Normallement vous utilisez un nom qui est unique pour votre organisation. Votre domaine (officiel) devrait être un bon choix.

For a quick start, you can now start and use   to authenticate yourself and start using your access to the cell. For automatic logons to you cell, you want to consult the appropriate section below.

Ajuster le cache
Vous pouvez placer votre cache sur un système de fichiers existant (s'il est ext2/3), ou utiliser une partition séparée pour cela. L'emplacement par défaut du cache est, mais vous pouvez en changer en éditant. 200 Mo est une taille standard pour votre cache, mais plus ne créera aucun mal.

Démarrer AFS au démarrage du système
La commande suivante créera les liens appropriés pour démarrer votre client afs au démarrage du système.

Installing the Kerberos Server
OpenAFS requires Kerberos 5 for authentication. The following shows how to install the MIT Kerberos server. Alternatively, the Heimdal kerberos implementation may be used.

Install the MIT Kerberos server binaries with the following command:

Edit the and  configuration files. Replace the EXAMPLE.COM realm name with your realm name, and update the example hostnames with your actual hostnames.

Create the Kerberos database like so:

Compiler le serveur
Si vous ne l'avez pas encore fait, la commande suivante installera les binaires nécessaires pour configurer un serveur et un client AFS.

Keying the Server
As of OpenAFS version 1.6.5, the OpenAFS servers support strong crypto (AES, etc.) for the service key, and will read the Kerberos keytab file directly. Create the Kerberos service key for OpenAFS and export it to a keytab for the OpenAFS server processes, before starting the OpenAFS services.

Lancer le serveur AFS
You need to run the  command to initialize the Basic OverSeer (BOS) Server, which monitors and controls other AFS server processes on its server machine. Think of it as init for the system.

Start the OpenAFS.

Ensure the OpenAFS servers start on reboot:

Verify that the BOS Server created and :

Defining Cell Name for Server Processes
Assignons d'abord un nom de cellule.

Exécutez la commande   pour définir le nom de la cellule :

Démarrer le processus de serveur de base de données
Next use the  command to create entries for the three database server processes in the  file. The three processes run on database server machines only.

Vous pouvez vérifier que tous les serveurs tournent avec la commande   :

Starting the first File Server, Volume Server and Salvager
Démarrez le processus, qui consiste en les processus  serveur de fichiers, serveur de volumes et sauveteur. .

Vérifiez que tous les processus tournent :

Votre prochaine action dépend du fait que vous avez ou pas déjà lancé des machines serveur AFS dans la cellule.

Si vous installez le premier serveur AFS de la cellule, créez le premier volume AFS, root.afs.

S'il existe des machines serveur AFS de fichiers et de volumes dans la cellule, exécutez les commandes  et   pour synchroniser le VLDB (Volume Location Database ou base de données des emplacements de volumes) avec l'état réel des volumes sur la machine locale. Cela copiera toutes les données nécessaires sur votre nouveau serveur.

If the command fails with the message "partition /vicepa does not exist on the server", ensure that the partition is mounted before running OpenAFS servers, or mount the directory and restart the processes using.

Creating the first Administrative Account
An administrative account is needed to complete the cell setup and perform on going administration. The first account must be created directly on the servers. Additional accounts may then be created without direct ssh access to the servers.

Four tasks need to be done to create the first administrative account.


 * a Kerberos principal, by convention, in the form of USERNAME/admin
 * an AFS user, by convention, the form of USERNAME.admin
 * membership in the built-in AFS system::administrators group
 * membership in the OpenAFS superuser list

Create the Kerberos principal. Run this following command on the Kerberos server, as root:

Create the AFS admin user. Run this command on the OpenAFS database server, as root:

Add the AFS admin user to the built-in admin group. Run this command on the OpenAFS database server, as root:

Add the AFS admin user to the superuser list. Run this command on each OpenAFS server, as root:

Configurer le niveau sommet de l'espace de fichies AFS
At this point the server configuration is complete. You will need a running AFS client to set up the top level directories in AFS and grant access rights to them. This client does not need to be installed on the OpenAFS server. You will need to obtain your administrative credentials. Root access is not required for the commands in this section.

First, obtain your administrative credentials:

Vous devez d'abord définir quelques ACLs, de manière à ce que n'importe quel utilisateur puisse inspecter.

Ensuite, vous devez créer le volume root, le monter en lecture seule sur et en lecture/écriture sur.

At this point, you can create volumes for your new AFS site and add them to the filespace. Users and groups should be created and directory ACLs setup to allow users to create files and directories. To create and mount a volume:

Et voilà, c'est fini ! Vous devriez maintenant avoir un serveur AFS en fonctionnement sur votre réseau local. C'est le moment de prendre un grande tasse de café et d'imprimer la documentation AFS !

Mise en garde
OpenAFS est une technologie extensive. Lisez la documentation AFS pour plus d'information. Nous ne faisons que citer ici quelques tâches administratives.

Configurer PAM pour obtenir un jeton AFS à la connexion
To use AFS you need to authenticate against the Kerberos 5 KDC (MIT, Heimdal, ShiShi Kerberos 5, or Microsoft Active Directory). However in order to login to a machine you will also need a user account, this can be local in, NIS, LDAP (OpenLDAP), or a Hesiod database. PAM allows Gentoo to tie the authentication against AFS and login to the user account.

Vous devrez mettre à jour ; il est utilisé par d'autes configurations. "use_first_pass" indique que la connexion utilisateur sera vérifiée en premier, et "ignore_root" stoppe  la vérification du super-utilisateur local de manière  à autoriser la connexion si AFS ou le réseau tombe. .

/etc/pam.d/system-auth

Pour que   conserve le jeton de l'utilisateur réel et pour empêcher le utilisateurs locaux d'obtenir un accès AFS, changez  comme indiqué ci-après :

/etc/pam.d/su