Guide utilisateur d'EVMS Version française du EVMS User Guide Christine Lorenz IBM Joy Goodreau IBM Kylie Smith IBM Adaptation française : Pierre Boutet, Sofiène Chograni, Julien Dubuisson Duplessis, Renaud Dubourguais, Yacin Zouhair, Saad Zniber Relecture de la version française : Yvon Benoist Préparation de la publication de la v.f. : Jean-Philippe Guérard Copyright © 2004 IBM Information spéciale Les termes suivants sont des marques déposées de la société International Business Machines corporation aux Etats-Unis et/ou dans d'autres pays : AIX, OS/2, System/390. Une liste complète de marques détenues par IBM aux États-Unis se trouve sur http://www.ibm.com/legal/copytrade.shtml [http://www.ibm.com/legal/copytrade.shtml]. Intel est une marque ou une marque déposée d'Intel Corporation aux États-Unis, dans d'autres pays, ou les deux. Windows est une marque de Microsoft Corporation aux Etats-Unis, dans d'autres pays, ou les deux. Linux est une marque de Linus Torvalds. UNIX est une marque déposée de l'Open Group aux Etats-Unis et dans d'autres pays. D'autres noms de sociétés, produits et services peuvent être des marques déposées ou des marques de service d'autres sociétés, produits ou services. Ce document est fourni "EN L'ETAT," sans garanties express ou implicites. Utilisez les informations de ce document à vos risques et périls. Information sur la license Ce document peut être reproduit ou distribué sous n'importe quelle forme, sans permission préalable, pourvu que la notice de copyright soit maintenue sur toutes les copies. Des versions modifiées de ce document peuvent être librement distribuées à condition qu'elles soient clairement identifiées en tant que telles, et que ce copyright soit inclus dans son intégralité. 22 avril 2008 +------------------------------------------------------------------------+ | Revision History | |------------------------------------------------------------------------| | Revision 2.4.0.fr.1.0 | 2008-04-22 | PB, SG, JDB, RD, YZ, SZ, YB, JPG | |------------------------------------------------------------------------| | Première traduction française. | |------------------------------------------------------------------------| | Revision 2.4.0 | 2004-09-16 | CL, JG, KS | +------------------------------------------------------------------------+ -------------------------------------------------------------------------- Table of Contents Préface 1. Qu'est-ce que EVMS ? 1. Pourquoi choisir EVMS ? 2. Les interfaces utilisateur d'EVMS 3. Terminologie EVMS 4. Qu'est-ce qui donne autant de souplesse à EVMS ? 5. Définitions des couches de plug-in 2. Utilisation des interfaces EVMS 1. L'IG d'EVMS 1.1. Utilisation des menus contextuels et des menus d'action 1.2. Sauvegarde des modifications 1.3. Rafraîchissement des modifications 1.4. Utilisation du "+" de l'interface 1.5. Utilisation des touches de raccourci 2. L'interface EVMS Ncurses 2.1. La navigation dans EVMS Ncurses 2.2. Sauvegarder les modifications 3. L'interpréteur de ligne de commande d'EVMS 3.1. Utilisation de EVMS CLI 3.2. Notes sur les commandes et les fichiers de commande 3. Le fichier journal et la collecte des données d'erreur de EVMS 1. À propos du journal d'EVMS 2. Niveaux de consignation du journal 3. Spécification des niveaux de consignation 4. Visualisation des volumes de compatibilité après la migration. 1. Utilisation de l'interface d'EVMS 2. Utilisation de Ncurses 3. Utilisation du CLI 5. Obtenir les informations de l'affichage de l'interface 1. Utilisation de l'interface d'EVMS 2. Utilisation de Ncurses 3. Utilisation de CLI 6. Ajout et suppression d'un gestionnaire de segments 1. Quand ajouter un gestionnaire de segments 2. Types de gestionnaires de segments 2.1. Le gestionnaire de segment DOS 2.2. Le gestionnaire de segment de table de partitionnement GUID [GUID Partitioning Table (GPT)] 2.3. Le gestionnaire de segment S/390 2.4. Le gestionnaire de segments pour unités de stockage [clusters] 2.5. Le gestionnaire de segment BSD 2.6. Le gestionnaire de segment MAC 2.7. Le gestionnaire de segments BBR 3. Ajouter un gestionnaire de segments à un disque existant 4. Ajout d'un gestionnaire de segments à un nouveau disque 5. Exemple: ajoutez un gestionnaire de segments 5.1. Utilisation de l'interface d'EVMS 5.2. Utilisation de Ncurses 5.3. Utilisation du CLI 6. Suppression d'un gestionnaire de segments 7. Exemple : supprimez un gestionnaire de segments 7.1. Utilisation du menu contextuel de l'interface d'EVMS 7.2. Utilisation de Ncurses 7.3. Utilisation du CLI 7. La création de segments 1. Quand créer un segment 2. Exemple: créez un segment 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 8. Création d'un conteneur 1. Quand créer un conteneur 2. Exemple : créez un conteneur 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 9. Création de régions 1. Quand créer des régions 2. Exemple: créez une région 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 10. Création de liens de disque 1. Qu'est-ce que le lien de disque? 2. Comment le lien de disque est implémenté 3. Création d'un lien de disque 4. Exemple: créez un lien de disque 4.1. Utilisation de l'interface d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI 5. Extension d'un lien de disque 6. Réduction d'un lien de disque 7. Suppression d'un lien de disque 11. Création des instantanés 1. Définition d'un instantané de volume 2. Création d'objets instantané de volume 3. Exemple : Création d'un instantané de volume 3.1. Utilisation de l'interface EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 4. Réinitialisation d'un instantané de volume : 4.1. Utilisation de l'interface EVMS ou de Ncurses 4.2. Utilisation du CLI 5. Extension d'un instantané de volume 5.1. Utilisation de l'interface EVMS ou de Ncurses 5.2. Utilisation du CLI 6. Suppression d'un instantané de volume 7. Restauration d'un instantané de volume 7.1. Utilisation de l'interface EVMS ou de Ncurses 7.2. Utilisation du CLI 12. Création de volumes 1. Quand créer un volume ? 2. Exemple : Création d'un volume natif d'EVMS 2.1. Utilisation de l'interface EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : création d'un volume compatible 3.1. Utilisation de l'interface 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 13. Les FSIM et les opérations sur le système de fichiers 1. Les FSIM supportés par EVMS 1.1. JFS 1.2. XFS 1.3. ReiserFS 1.4. Ext2/3 1.5. SWAPFS 1.6. OpenGFS 1.7. NTFS 2. Exemple : ajoutez un système de fichiers à un volume 2.1. Utilisation de l'interface EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : contrôle d'un système de fichiers. 3.1. Utilisation de l'interface EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 14. Les opérations de regroupement des secteurs en blocs [clustering] 1. Règles et restrictions pour la création de conteneurs pour cluster 2. Exemple : création d'un conteneur pour cluster privé 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : création d'un conteneur pour cluster partagé 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 4. Exemple : conversion d'un conteneur privé en un conteneur partagé 4.1. Utilisation de l'interface graphique d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI 5. Exemple : création d'un conteneur pour cluster partagé 5.1. Utilisation de l'interface graphique d'EVMS 5.2. Utilisation de Ncurses 5.3. Utilisation du CLI 6. Exemple : expulser un conteneur privé ou partagé 6.1. Utilisation de l'interface graphique d'EVMS 6.2. Utilisation de Ncurses 6.3. Utilisation du CLI 7. Supprimer un conteneur pour clusters. 8. Basculement [failover] et reprise automatique [failback] d'un conteneur privé sur Linux-HA 9. Gestion de configuration à distance 9.1. Utilisation de l'interface graphique d'EVMS 9.2. Utilisation de Ncurses 9.3. Utilisation du CLI 10. Forcer un conteneur de clusters à être actif 15. Conversion des volumes 1. Quand convertir des volumes ? 2. Exemple: convertir des volumes de compatibilité en volumes EVMS 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple: convertir des volumes EVMS en volumes de compatibilité 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 16. Extension et réduction des volumes 1. Pourquoi étendre et réduire les volumes ? 2. Exemple : réduire un volume. 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de CLI 3. Exemple : Agrandir un volume 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de l'interface graphique de Ncurses 3.3. Utilisation de la ligne de commande [CLI] 17. Ajout de fonctionnalités à un volume existant 1. Pourquoi ajouter des fonctionnalités à un volume ? 2. Exemple : ajouter un lien de disque à un volume existant 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] 18. Activation sélective des volumes et objets. 1. Activation initiale en utilisant /etc/evms.conf 2. Activation et désactivation des volumes et des objets. 2.1. Activation. 2.2. Désactivation 2.3. Activation et désactivation : les dépendances. 19. Montage et démontage des volumes à partir d'EVMS 1. Montage d'un volume. 1.1. Utilisation de l'interface graphique d'EVMS. 1.2. Utilisation de Ncurses. 1.3. Utilisation de la ligne de commande [CLI] 2. Démontage d'un volume 2.1. Utilisation de l'interface graphique d'EVMS. 2.2. Utilisation de Ncurses. 2.3. Utilisation de la ligne de commande [CLI] 3. Le système de fichiers SWAPFS 3.1. Activation du swap 3.2. Désactivation du swap 20. Les tâches liées aux opérations de plug-in 1. Qu'est-ce qu'une tâche de plug-in ? 2. Exemple : Réaliser une tâche de plug-in. 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] 21. Suppression des objets 1. Comment supprimer des objets : "delete" et "delete recursive" 2. Exemple : réaliser une opération "delete recursive" 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] 2.4. Utilisation de l'interface d'EVMS 2.5. Utilisation de Ncurses 2.6. Utilisation du CLI 22. Remplacement des objets 1. Qu'est-ce que le remplacement d'objet [object-replace]? 2. Remplacement d'un objet fils de type lien de disque 2.1. Utilisation de l'interface d'EVMS ou de Ncurses 2.2. Utilisation du CLI 23. Déplacement des objets de stockage de segments 1. Le déplacement de segments 2. Pourquoi déplacer un segment ? 3. Quels plug-ins de gestionnaire de segments implémentent la fonction de déplacement ? 4. Exemple : déplacer un segment DOS 4.1. Utilisation du menu contextuel de l'interface d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI A. Le plug-in DOS 1. L'implémentation du plug-in DOS 2. Affectation du plug-in DOS 3. Création de partitions DOS 4. Extension d'une partition DOS 5. Raccourcir une partition DOS 6. Suppression de partitions B. Le gestionnaire de région MD 1. Caractéristiques des niveaux RAID Linux 1.1. Le mode linéaire 1.2. RAID-0 1.3. RAID-1 1.4. RAID-4/5 1.5. Le cheminement multiple [multipath] 2. Création d'une région MD (disques multiples) 2.1. Les options pour RAID-0 2.2. Les options pour RAID-1 2.3. Les options pour RAID-4/5 3. Les objets actifs [active objects] et les objets de secours [spare objects] 3.1. Ajouter des objets de secours 3.2. Supprimer des objets de secours 3.3. Ajout d'objets actifs au niveau RAID-1 4. Objets défectueux 4.1. Suppression des objets défectueux 4.2. Réparation des objets temporairement défectueux 4.3. Marquage des objets défectueux 5. Redimensionnement des régions MD 5.1. Linéaire 5.2. RAID-0 5.3. RAID-1 5.4. RAID-4/5 6. Remplacement des Objets C. Le plug-in LVM 1. Comment est implémenté le LVM 2. Les opérations sur les conteneurs 2.1. Création de conteneurs LVM 2.2. Ajouter des objets aux conteneurs LVM 2.3. Supression des objets d'un conteneur LVM 2.4. L'extension des objets consommés dans les conteneurs LVM 2.5. Réduction des objets consommés d'un conteneur LVM 2.6. Suppression des conteneurs LVM 2.7. Changement du nom d'un conteneur LVM 3. Les actions sur les régions 3.1. Création de régions LVM 3.2. Agrandissement des régions LVM 3.3. Réduction de régions LVM 3.4. Suppression de régions LVM 3.5. Déplacement des régions LVM 3.6. Modification des noms des régions LVM D. Le plug-in LVM2 1. Les actions sur les conteneurs 1.1. Création de conteneurs LVM2 1.2. Ajout d'objets à des conteneurs LVM2 1.3. Suppression des objets dans les conteneurs LVM2 1.4. Agrandissement d'objets utilisés dans les conteneurs LVM2 1.5. Réduction d'objets utilisés dans les conteneurs LVM2 1.6. Suppression des conteneurs LVM2 1.7. Modification du nom des conteneurs LVM2 2. Les actions sur les régions 2.1. Créer des régions LVM2 2.2. Agrandissement des régions LVM2 2.3. Réduction des régions LVM2 2.4. Suppression des régions LVM2 2.5. Modification du nom des régions LVM2 E. Le plug-in CSM 1. Affectation du plug-in CSM 2. Annulation de l'affectation du plug-in CSM 3. Suppression d'un conteneur CSM F. Module d'interface de système de fichiers JFS 1. Création de systèmes de fichiers JFS 2. Vérification des systèmes de fichiers JFS 3. Suppresion des systèmes de fichier JFS 4. Agrandissement des systèmes de fichiers JFS 5. Réduction des systèmes de fichiers JFS G. Module d'interface du système de fichiers XFS 1. Création des systèmes de fichiers XFS 2. Vérification des systèmes de fichiers XFS 3. Suppression des systèmes de fichiers XFS 4. Agrandissement des systèmes de fichiers XFS 5. Réduction des systèmes de fichiers XFS H. Module d'interface du système de fichiers ReiserFS 1. Création des systèmes de fichiers ReiserFS 2. Vérification des systèmes de fichiers ReiserFS 3. Suppression des systèmes de fichiers ReiserFS 4. Agrandissement des systèmes de fichiers ReiserFS 5. Réduction des systèmes de fichiers ReiserFS I. Module d'interface du système de fichiers Ext-2/3 1. Création des systèmes de fichiers Ext-2/3 2. Vérification des systèmes de fichiers Ext-2/3 3. Suppression des systèmes de fichiers Ext-2/3 4. Agrandissement et réduction des systèmes de fichiers Ext-2/3 J. Module d'interface du système de fichiers OpenGFS 1. Création des systèmes de fichiers OpenGFS 2. Vérification des systèmes de fichiers OpenGFS 3. Suppression des systèmes de fichiers OpenGFS 4. Agrandissement et réduction des systèmes de fichiers OpenGFS K. Module d'interface du système de fichiers NTFS 1. Création des systèmes de fichiers NTFS 2. Réparation des systèmes de fichiers NTFS 3. Clonage des systèmes de fichiers NTFS 4. Suppression des systèmes de fichiers NTFS 5. Agrandissement et réduction des systèmes de fichiers NTFS List of Figures 4.1. Fenêtre de démarrage de l'interface 4.2. Fenêtre de démarrage de Ncurses 4.3. Résultats de la recherche de volume dans CLI List of Tables 1. Organisation du guide d'utilisateur d'EVMS 1.1. Les interfaces utilisateur d'EVMS 2.1. Touches de raccourci dans la fenêtre principale 2.2. Touches de raccourci dans les vues 2.3. Touches de raccourci dans la fenêtre de sélection 2.4. Touches de raccourci dans la fenêtre d'options de configuration 2.5. Touches de navigation widget dans la fenêtre d'options de configuration 3.1. Niveaux de consignation EVMS 16.1. La compatibilité des FSIM pour les opérations d'extension et de réduction List of Examples 6.1. Ajoutez le gestionnaire de segments DOS 6.2. Supprimez le gestionnaire de segments DOS 7.1. Créez un segment de 100Mo 8.1. Créez un "Exemple de conteneur" 9.1. Créez "Exemple de région" 10.1. Créez un lien de disque 11.1. Création de l'instantané de volume d'un volume 12.1. Créer un volume natif d'EVMS 12.2. Création d'un volume compatible 13.1. Ajout d'un système de fichiers JFS à un volume. 13.2. Vérification d'un système de fichiers JFS 14.1. Création d'un conteneur pour cluster privé 14.2. Création d'un conteneur pour cluster partagé 14.3. Conversion d'un conteneur privé en un conteneur partagé 14.4. Conversion d'un conteneur partagé en un conteneur privé 14.5. Expulser un conteneur pour clusters 15.1. Convertir un volume de compatibilité. 15.2. Convertir un volume EVMS. 16.1. Réduire un volume 16.2. Agrandir un volume 17.1. Ajouter un lien de disque à un volume existant 20.1. Ajouter un disque de rechange à un volume de compatibilité à partir d'une région MDRaid5. 21.1. Détruire un volume et la région et le conteneur qu'il contient Préface Ce guide indique comment configurer et gérer l'Enterprise Volume Management System (EVMS ; système de gestion de volume d'entreprise). EVMS est un programme de gestion de stockage qui fournit un cadre unique pour contrôler et administrer le stockage de votre système. Ce guide est prévu pour les administrateurs système sous Linux et les utilisateurs responsables de l'installation et de la maintenance d'EVMS. Pour des informations supplémentaires sur EVMS ou pour poser des questions spécifiques à votre distribution, se référer aux listes de diffusion de courriel d'EVMS. Vous pouvez consulter les archives de liste ou vous inscrire aux listes sur le site web du projet EVMS [http://evms.sourceforge.net/mailinglists.html]. La table suivante montre comment ce guide est organisé : Table 1. Organisation du guide d'utilisateur d'EVMS +------------------------------------------------------------------------+ | Titre de chapitre ou d'annexe | Table des matières | |-------------------------------+----------------------------------------| | 1. Qu'est-ce que EVMS ? | Traite des concepts et termes généraux | | | d'EVMS. | |-------------------------------+----------------------------------------| | 2. Utilisation des interfaces | Décrit les trois interfaces | | d'EVMS | utilisateur d'EVMS et la manière de | | | les employer. | |-------------------------------+----------------------------------------| | 3. Le fichier de journal | Traite du fichier de journal | | d'EVMS et la collecte de | d'information et d'erreur d'EVMS et | | données d'erreur | explique comment changer le niveau de | | | journalisation. | |-------------------------------+----------------------------------------| | 4. Visualisation des volumes | Indique comment visualiser les | | de compatibilité après | fichiers existants que l'on a fait | | migration | migrer vers EVMS. | |-------------------------------+----------------------------------------| | 5. Recherche des informations | Indique comment visualiser les | | sur l'affichage de | informations détaillées à propos | | l'interface | d'objets EVMS. | |-------------------------------+----------------------------------------| | 6. Ajout et suppression d'un | Traite des segments et explique | | gestionnaire de segment | comment ajouter et enlever un | | | gestionnaire de segment. | |-------------------------------+----------------------------------------| | 7. Créer des segments | Explique quand et comment créer des | | | segments. | |-------------------------------+----------------------------------------| | 8. Créer des conteneurs | Traite des conteneurs et explique | | | quand et comment les créer. | |-------------------------------+----------------------------------------| | 9. Créer des régions | Traite des régions et explique quand | | | et comment les créer. | |-------------------------------+----------------------------------------| | | Traite de l'outil de lien de disque et | | 10. Créer des liens de disque | explique comment créer un lien de | | | disque. | |-------------------------------+----------------------------------------| | 11. Créer des instantanés | Traite des instantanés et explique | | | comment créer un instantané. | |-------------------------------+----------------------------------------| | 12. Créer des volumes | Explique quand et comment créer des | | | volumes. | |-------------------------------+----------------------------------------| | | Traite des FSIM standards fournis avec | | 13. Les FSIM et les | EVMS et fournit des exemples d'ajout | | opérations de système de | de systèmes de fichiers et de | | fichiers | coordination de la vérification de | | | fichiers avec les FSIM. | |-------------------------------+----------------------------------------| | 14. Les opérations de | Décrit le clustering EVMS et comment | | clustering | créer des conteneurs privés et | | | partagés. | |-------------------------------+----------------------------------------| | | Explique comment convertir des volumes | | | natifs d'EVMS en volumes de | | 15. Convertir des volumes | compatibilité, et des volumes de | | | compatibilité en volumes natifs | | | d'EVMS. | |-------------------------------+----------------------------------------| | 16. Agrandissement et | Explique comment agrandir et réduire | | réduction des volumes | des volumes EVMS avec les diverses | | | interfaces utilisateur EVMS. | |-------------------------------+----------------------------------------| | 17. Ajouter des | Explique comment ajouter des | | fonctionnalités à un volume | fonctionnalités supplémentaires, | | existant | telles que les liens de disques, à un | | | volume existant. | |-------------------------------+----------------------------------------| | 18. Activation sélective de | Explique comment activer et désactiver | | volumes et d'objets | sélectivement volumes et options. | |-------------------------------+----------------------------------------| | | Explique comment faire pour qu'EVMS | | 19. Monter et démonter des | monte et démonte des volumes de | | volumes de l'intérieur d'EVMS | manière à ne pas avoir à ouvrir une | | | session terminale séparée. | |-------------------------------+----------------------------------------| | 20. Tâches d'opérations de | Traite des tâches de plug-in qui sont | | plug-in | disponibles au niveau d'un plug-in | | | particulier. | |-------------------------------+----------------------------------------| | 21. Supprimer des objets | Explique comment supprimer sans risque | | | des objets EVMS. | |-------------------------------+----------------------------------------| | | Explique comment changer la | | 22. Remplacer des objets | configuration d'un objet de volume ou | | | de stockage. | |-------------------------------+----------------------------------------| | 23. Déplacer des objets de | Explique comment utiliser la fonction | | stockage de segment | de déplacement pour déplacer des | | | segments. | |-------------------------------+----------------------------------------| | | Fournit des informations sur le | | A. Le plug-in DOS | plug-in DOS, qui est un plug-in de | | | gestion de segment. | |-------------------------------+----------------------------------------| | | Explique la prise en charge du | | B. Le gestionnaire de région | Multiple Disks (MD - disques | | MD | multiples) sous Linux, qui est une | | | implémentation logicielle de RAID. | |-------------------------------+----------------------------------------| | | Explique comment le plug-in LVM est | | C. Le plug-in LVM | implémenté et comment effectuer des | | | opérations de conteneur. | |-------------------------------+----------------------------------------| | | Explique comment le plug-in LVM2 est | | D. Le plug-in LVM2 | implémenté et comment effectuer des | | | opérations de conteneur sur des | | | conteneurs LVM2. | |-------------------------------+----------------------------------------| | | Explique comment le plug-in Cluster | | | Segment Manager (CSM - gestionnaire de | | E. Le plug-in CSM | segments de cluster) est implémenté et | | | comment effectuer des opérations de | | | CSM. | |-------------------------------+----------------------------------------| | F. Module d'interface de | Fournit des informations sur le JFS | | système de fichiers JFS | FSIM. | |-------------------------------+----------------------------------------| | G. Module d'interface de | Fournit des informations sur le XFS | | système de fichiers XFS | FSIM. | |-------------------------------+----------------------------------------| | H. Module d'interface de | Fournit des informations sur le | | système de fichiers ReiserFS | ReiserFS FSIM. | |-------------------------------+----------------------------------------| | I. Module d'interface de | Fournit des informations sur l'Ext-2/3 | | système de fichiers Ext-2/3 | FSIM. | |-------------------------------+----------------------------------------| | J. Module d'interface de | Fournit des informations sur l'OpenGFS | | système de fichiers OpenGFS | FSIM. | |-------------------------------+----------------------------------------| | K. Module d'interface de | Fournit des informations sur le NTFS | | système de fichiers NTFS | FSIM. | +------------------------------------------------------------------------+ Chapter 1. Qu'est-ce que EVMS ? Table of Contents 1. Pourquoi choisir EVMS ? 2. Les interfaces utilisateur d'EVMS 3. Terminologie EVMS 4. Qu'est-ce qui donne autant de souplesse à EVMS ? 5. Définitions des couches de plug-in EVMS apporte un nouveau modèle de gestion de volume à Linux®. EVMS est un ensemble d'une grande cohésion qui intègre tous les aspects de la gestion de volume, tels que le partitionnement de disque, le gestionnaire de volume logique pour Linux (LVM [logical volume manager]) et la gestion multidisque (MD [multi-disk]), et les opérations sur les systèmes de fichiers, dans un unique paquet cohésif. Avec EVMS, les diverses technologies de gestion de volume sont accessibles par le biais d'une seule interface, et de nouvelles technologies peuvent être ajoutées sous forme de plug-ins au fur et à mesure de leur développement. 1. Pourquoi choisir EVMS ? EVMS permet de contrôler l'espace mémoire d'une manière plus intuitive et avec plus de souplesse que beaucoup d'autres systèmes de gestion de volume pour Linux. Les tâches courantes, comme la migration de disques ou l'ajout de nouveaux disques à votre système Linux, deviennent plus facilement gérables avec EVMS parce qu'EVMS peut reconnaître et exploiter différents types de volumes et de systèmes de fichiers. EVMS permet de mieux maîtriser la sécurité en interdisant les commandes qui sont peu sûres. Ces dispositifs aident à assurer l'intégrité des données stockées sur le système. On peut se servir d' EVMS pour créer et gérer le stockage de données. Avec EVMS, on peut utiliser de multiples technologies de gestion de volume dans une unique structure, avec la garantie que le système interagit tout de même correctement avec les données stockées. Avec EVMS, on peut utiliser les liens de disque, réduire et augmenter les volumes, créer des instantanés des volumes, et installer des fonctionnalités RAID pour le système. On peut également utiliser plusieurs types de systèmes de fichier et manipuler ces unités de stockage de la manière qui répond le mieux aux exigences de votre environnement de travail particulier. EVMS donne également la possibilité de gérer des données sur une unité de stockage qui est physiquement partagée entre les noeuds dans un cluster. Ce stockage partagé permet aux données d'être très disponibles pour les différents noeuds du cluster. 2. Les interfaces utilisateur d'EVMS Il y a actuellement trois interfaces utilisateur disponibles pour EVMS : graphique (GUI), mode texte (Ncurses), et l'interpréteur de ligne de commande (CLI [Command Line Interpreter]). De plus, on peut utiliser l'interface de programmation d'application (API) d'EVMS pour mettre en application sa propre interface utilisateur personnalisée. Table 1.1, "Les interfaces utilisateur d'EVMS" en dit plus à propos de chacune des interfaces utilisateur d'EVMS. Table 1.1. Les interfaces utilisateur d'EVMS +------------------------------------------------------------------------+ | Interface | Types | Types | Fonction | | utilisateur | d'utilisateur | d'utilisation | | |-------------+----------------+------------------+----------------------| | | | | Permet de choisir | | | | | parmi les options | | | | | disponibles | | | | Toutes les | seulement, au lieu | | | | utilisations | d'avoir à passer en | | GUI | Tous | exceptée | revue toutes les | | | | l'automatisation | options, y compris | | | | | celles qui ne sont | | | | | pas disponibles à ce | | | | | niveau d'avancement | | | | | du processus. | |-------------+----------------+------------------+----------------------| | | | | Permet de choisir | | | Les | | parmi les options | | | utilisateurs | | disponibles | | | qui n'ont pas | Toutes les | seulement, au lieu | | | de | utilisations | d'avoir à passer en | | Ncurses | bibliothèques | exceptée | revue toutes les | | | GTK ou de | l'automatisation | options, y compris | | | systèmes X | | celles qui ne sont | | | Window sur | | pas disponibles à ce | | | leurs machines | | niveau d'avancement | | | | | du processus. | |-------------+----------------+------------------+----------------------| | Ligne de | | Toutes | Permet | | commande | Expert | utilisations | l'automatisation | | | | | facile des tâches. | +------------------------------------------------------------------------+ 3. Terminologie EVMS Pour éviter toute confusion avec d'autres termes décrivant la gestion de volumes en général, EVMS utilise un ensemble de termes spécifiques. Voici la liste de ces termes, du plus fondamental au plus large : Disque logique Représentation de tout ce à quoi EVMS peut accéder en tant que disque physique. Dans EVMS, les disques physiques sont des disques logiques. Secteur Le plus bas niveau de capacité d'adressage sur un périphérique en mode bloc. Cette définition correspond bien au sens standard tel qu'on le trouve dans d'autres systèmes de gestion. Segment de disque Ensemble ordonné de secteurs physiquement contigus se trouvant sur le même objet de stockage. Pour un segment, l'analogie est faite généralement avec une partition de disque traditionnelle, comme pour DOS ou OS/2 ®. Région de stockage Ensemble ordonné de secteurs logiquement contigus, et qui ne sont pas nécessairement physiquement contigus. Objet de stockage Toute structure de mémoire persistante dans EVMS qui peut être utilisée pour construire des objets ou créer un volume. Le terme objet de stockage est un terme générique pour les disques, segments, régions et objets de fonctions. Conteneur de stockage Regroupement d'objets de stockage. Un conteneur de stockage consomme un ensemble d'objets de stockage et produit de nouveaux objets de stockage. Il existe un sous-ensemble courant de conteneurs de stockage : les groupes de volume, tels AIX® ou LVM. Les conteneurs de stockage peuvent être soit de type privé [private], soit de type cluster. Conteneur de stockage en cluster Conteneurs de stockage spécialisés qui ne consomment que des objets de disque qui sont physiquement accessibles par tous les noeuds d'un cluster. Conteneur de stockage privé Regroupement de disques qui sont physiquement accessibles depuis tous les noeuds d'un cluster, géré comme un pool unique de stockage et qui appartient à un n¶ud unique du cluster qui peut y accéder à n'importe quel moment. Conteneur de stockage partagé Regroupement de disques physiquement accessibles depuis tous les noeuds d'un cluster, géré comme un pool unique de stockage et qui appartient à un n¶ud unique du cluster qui peut y accéder simultanément. Conteneur de stockage déporté Conteneur en cluster partagé qui n'appartient à aucun des noeuds du cluster. Objet de fonction Objet de stockage contenant une fonction EVMS native. Une fonction EVMS native est une fonction de gestion de volume conçue et implémentée par EVMS. Ces fonctions ne sont pas prévues pour être rétrocompatibles avec d'autres technologies de gestion de volume. Volume logique Volume qui consomme un objet de stockage et exporte quelque chose de montable. Il y a deux catégories de volumes logiques : les volumes EVMS et les volumes de compatibilité. Les volumes EVMS contiennent des métadonnées EVMS natives et prennent en charge toutes les fonctions EVMS. /dev/evms/mon_volume serait un exemple de volume EVMS. Les volumes de compatibilité ne contiennent aucune métadonnée EVMS native. Les volumes de compatibilité sont rétrocompatibles par rapport à leur propre structure, mais ne prennent pas en charge les fonctions EVMS. /dev/evms/md/md0 serait un exemple de volume de compatibilité. 4. Qu'est-ce qui donne autant de souplesse à EVMS ? Il y a de nombreux pilotes dans le noyau Linux, tels que Device Mapper et MD (RAID logiciel), implémentant des plans de gestion de volume. EVMS est construit par dessus ces pilotes pour fournir une unique structure permettant l'accès à ces capacités et leurs combinaisons. Le moteur EVMS traite la création, la configuration et la gestion des volumes, segments et disques. Le moteur EVMS est une interface de programmation pour le système EVMS. Les interfaces utilisateur et les programmes qui utilisent EVMS doivent passer par le moteur. EVMS donne des capacités aux modules de plug-in pour le moteur, permettant à EVMS d'accomplir des tâches spécialisées sans modifier le code noyau. Ces modules de plug-in permettent à EVMS d'être plus extensible et personnalisable que d'autres systèmes de gestion de volume. 5. Définitions des couches de plug-in EVMS définit une architecture en couches où les plug-ins de chaque couche créent des abstractions de la couche ou des couches en dessous. EVMS permet également à la plupart des plug-ins de créer des abstractions d'objets au sein de la même couche. Voici une liste de définitions de ces couches, du bas vers le haut. Gestionnaires de périphériques La première (plus basse) couche se compose de gestionnaires de périphériques. Ces plug-ins communiquent avec les pilotes de périphériques matériels pour créer les premiers objets EVMS. Actuellement, tous les périphériques sont gérés par un plug-in unique. Les versions futures d'EVMS pourraient avoir besoin de gestionnaires de périphériques supplémentaires pour la gestion de périphériques réseau (par exemple pour gérer des disques sur un réseau de zone de stockage [storage area network, SAN]). Gestionnaires de segments La seconde couche se compose de gestionnaires de segments. Ces plug-ins gèrent la segmentation ou le partitionnement des unités de disque. Les composants du moteur peuvent remplacer les programmes de partitionnement tels fdisk et Disk Druid, et EVMS utilise Device Mapper pour remplacer le code de partitionnement de disque intra noyau. Les gestionnaires de segment peuvent également être "empilés", c'est-à-dire qu'un gestionnaire de segment peut prendre en entrée la sortie d'un autre gestionnaire de segment. EVMS fournit les gestionnaires de segments suivants : DOS, GPT, System/390® (S/390), Cluster, BSD, Mac, et BBR. D'autres plug-ins de gestionnaires de segments peuvent être ajoutés pour prendre en charge d'autres plans de partitionnement. Gestionnaires de zone La troisième couche se compose de gestionnaires de zone. C'est à ce niveau que se mettent les plug-ins qui assurent la compatibilité avec les structures de gestion de volume que l'on trouve sous Linux et d'autres systèmes d'exploitation. Les gestionnaires de zone sont prévus pour façonner les systèmes qui fournissent une abstraction logique au-dessus des disques ou partitions. Comme les gestionnaires de segment, les gestionnaires de zone peuvent également être empilés. Par conséquent, le(s) objet(s) en entrée d'un gestionnaire de zone peuvent être des disques, des segments ou d'autres zones. Il y a actuellement dans EVMS trois plug-ins pour la gestion de zones : Linux LVM, LVM2, et Multi-Disk (MD). Linux LVM Le plug-in Linux LVM fournit la compatibilité avec Linux LVM et permet la création de groupes de volume (connus dans EVMS sous le nom de conteneurs [containers]) et de volumes logiques (connus dans EVMS sous le nom de zones [regions]). LVM2 Le plug-in LVM2 fournit la compatibilité avec le nouveau format de volume introduit par les outils de LVM2 depuis Red Hat. Ce plug-in ressemble beaucoup au plug-in LVM en terme de fonctionnalités. La différence principale réside dans le nouveau format amélioré de métadonnées. MD Le plug-in Multi-Disk pour RAID fournit les niveaux RAID logiciels suivants : linéaire, 0, 1, 4 et 5. MD est un plug-in qui présente à l'affichage quatre gestionnaires de zone parmi lesquels vous pouvez choisir. Fonctionnalités EVMS La couche suivante se compose des fonctionnalités EVMS. C'est dans cette couche que sont implémentées les nouvelles fonctionnalités EVMS natives. Les fonctionnalités EVMS peuvent être construites sur n'importe quel objet dans le système, y compris les disques, segments, zones et autres objets de fonction. Toutes les fonctionnalités EVMS partagent un type de métadonnées commun à tous, ce qui rend la découverte d'objets de fonction bien plus efficace, et la récupération d'objets de fonction cassés bien plus sûre. Trois fonctionnalités sont actuellement disponibles dans EVMS : les liens de disque, la réallocation des blocs défectueux [Bad Block Relocation] et la prise d'instantanés. Les liens de disque Les liens de disque permettent de concaténer linéairement en un seul objet un nombre quelconque d'objets. Un volume utilisant le lien de disque peut être étendu en ajoutant un autre objet de stockage à la fin, ou réduit par suppression du dernier objet. Réallocation des blocs défectueux La réallocation des blocs défectueux (BBR) surveille son chemin d'entrée/sortie et détecte les erreurs d'écriture (celles-ci pouvant être causées par un disque endommagé). Lorsqu'un tel dysfonctionnement se produit, les données de cette requête sont stockées dans un nouvel emplacement. La prise d'instantané La fonctionnalité de prise d'instantané fournit un mécanisme pour créer une copie "figée" d'un volume à un moment donné bien précis, sans avoir à déconnecter ce volume. Ceci est utile pour réaliser des sauvegardes sur un système en cours de fonctionnement. Les instantanés marchent avec n'importe quel volume (EVMS ou compatible), et peut utiliser n'importe quel autre objet disponible comme emplacement de sauvegarde. Après la création d'un instantané et sa transformation en volume EVMS, les écritures sur le volume "original" font que le contenu original de cet emplacement est copié vers l'objet de stockage de l'instantané. Les lectures du volume instantané ont l'air de provenir de l'original tel qu'il était au moment de la création de l'instantané. Modules d'interface de système de fichiers Les modules d'interface de système de fichiers [File System Interface Modules (FSIM)] fournissent la coordination avec les systèmes de fichiers pendant certaines opérations de gestion de volume. Par exemple, lors de l'agrandissement ou de la réduction d'un volume, le système de fichiers doit également être agrandi ou réduit à la taille appropriée. L'ordre est également important dans cet exemple ; un système de fichiers ne peut être agrandi avant le volume, et un volume ne peut être réduit avant le système de fichiers. Les FSIM permettent à EVMS d'assurer cette coordination et cet ordonnancement. Les FSIM exécutent également des opérations de système de fichiers depuis l'une des interfaces utilisateur d'EVMS. Par exemple, un utilisateur peut créer de nouveaux systèmes de fichiers et vérifier les systèmes de fichiers existant en interagissant avec les FSIM. Modules d'interface de gestionnaire de cluster Les modules d'interface de gestionnaire de cluster [Cluster Manager Interface Modules], également connus sous le nom de EVMS Clustered Engine (ECE), sont interfacés avec le gestionnaire de cluster local installé sur le système. L'ECE fournit une API ECE standardisée pour le moteur, tout en cachant au moteur les détails du gestionnaire de clusters. Chapter 2. Utilisation des interfaces EVMS Table of Contents 1. L'IG d'EVMS 1.1. Utilisation des menus contextuels et des menus d'action 1.2. Sauvegarde des modifications 1.3. Rafraîchissement des modifications 1.4. Utilisation du "+" de l'interface 1.5. Utilisation des touches de raccourci 2. L'interface EVMS Ncurses 2.1. La navigation dans EVMS Ncurses 2.2. Sauvegarder les modifications 3. L'interpréteur de ligne de commande d'EVMS 3.1. Utilisation de EVMS CLI 3.2. Notes sur les commandes et les fichiers de commande Ce chapitre explique comment utiliser l'interface graphique (IG) d'EVMS, Ncurses et les interfaces CLI. Ce chapitre comprend également des informations sur la navigation de base et les commandes disponibles dans le CLI. 1. L'IG d'EVMS L'interface graphique d'EVMS est une interface souple et facile d'utilisation pour administrer les volumes et objets de stockage. Beaucoup d'utilisateurs trouvent l'interface graphique d'EVMS facile d'utilisation car elle affiche quels objets de stockage, actions et plug-ins sont possibles pour une tâche donnée. 1.1. Utilisation des menus contextuels et des menus d'action L'interface graphique d'EVMS permet d'accomplir la plupart des tâches de deux manières : les menus contextuels, ou le menu Actions. Les menus contextuels sont disponibles depuis n'importe quelle "vue" principale. Chaque vue correspond à une page d'un widget bloc-notes situé dans la fenêtre principale de l'interface graphique d'EVMS. Ces vues sont constituées d'arbres ou de listes différents qui représentent visuellement l'organisation de différents types d'objets, y compris les volumes, objets de fonction, zones, conteneurs, segments ou disques. Vous pouvez voir le menu contextuel pour un objet en faisant un clic droit sur cet objet. Les actions disponibles pour cet objet sont affichées à l'écran. L'interface graphique ne présentera que les actions possibles pour l'objet sélectionné, et à ce niveau du processus. Ces actions ne sont pas toujours un ensemble complet. Pour utiliser le menu Actions, choisir Action -> -> . Le menu Actions vous accompagne plus dans l'accomplissement d'une tâche que les menus contextuels. L'option Actions offre le même type d'approche que les assistants utilisés par de nombreuses applications graphiques. Toutes les opérations que vous avez besoin d'accomplir en tant qu'administrateur sont disponibles dans le menu Actions. 1.2. Sauvegarde des modifications Toutes les modifications effectuées en étant sur l'interface d'EVMS sont seulement en mémoire jusqu'à ce que les modifications soient sauvegardées. Pour que les modifications soient permanentes, il faut sauvegarder toutes les modifications avant de quitter. Si on oublie de sauvegarder les modifications et que l'on décide de quitter ou de fermer l'interface d'EVMS, il y a un rappel pour sauvegarder toute modification en attente. Pour sauvegarder explicitement toutes les modification effectuées, sélectionnez Action -> Save, et cliquez sur le bouton Save. 1.3. Rafraîchissement des modifications Le bouton Refresh [rafraîchir] met à jour la vue et permet de voir les modifications, comme les points de montage par exemple, qui auraient pu se produire en dehors de l'interface. 1.4. Utilisation du "+" de l'interface Sur le côté gauche des vues des panneaux de l'interface se trouve un "+" à côté de chaque élément. En cliquant sur le "+", les objets inclus dans l'élément s'affichent. Tous les objets affichés à côté desquels se trouvent un "+" peuvent être déroulés en cliquant sur le "+" à côté du nom de l'objet. 1.5. Utilisation des touches de raccourci On peut éviter l'utilisation de la souris pour naviguer sur l'interface d'EVMS, en utilisant à la place une suite de touches, ou touches de raccourci. Dans les sections suivantes, on explique comment utiliser les touches de raccourci dans la fenêtre principale d'EVMS, la fenêtre de sélection et la fenêtre des options de configuration. 1.5.1. Touches de raccourci de la fenêtre principale Dans la fenêtre principale, utilisez les touches suivantes pour naviguer : Table 2.1. Touches de raccourci dans la fenêtre principale +------------------------------------------------------------------------+ | Flèches gauche et droite | Pour naviguer entre les onglets du | | | bloc-notes des différentes vues. | |--------------------------+---------------------------------------------| | Flèche bas et barre | Pour rétablir le focus du clavier sur la | | d'espace | vue. | +------------------------------------------------------------------------+ Dans une vue, utilisez les touches suivantes pour naviguer : Table 2.2. Touches de raccourci dans les vues +------------------------------------------------------------------------+ | Flèches haut et bas | Permet de se déplacer dans la fenêtre. | |---------------------+--------------------------------------------------| | "+" | Ouvre un arbre d'objets. | |---------------------+--------------------------------------------------| | "-" | Referme un arbre d'objets. | |---------------------+--------------------------------------------------| | ENTREE | Fait apparaître le menu contextuel (sur une | | | ligne). | |---------------------+--------------------------------------------------| | Flèches | Pour naviguer dans un menu contextuel. | |---------------------+--------------------------------------------------| | ENTREE | Active un élément. | |---------------------+--------------------------------------------------| | Echap | Ferme le menu contextuel. | |---------------------+--------------------------------------------------| | Tabulation | Permet de sortir de la vue et de revenir à | | | l'onglet du bloc-notes. | +------------------------------------------------------------------------+ Pour accéder au menu de la barre d'action, tapez Alt puis sur la touche de raccourci soulignée pour le choix du menu (par exemple "A" pour le menu déroulant Actions). Dans un menu déroulant, on peut utiliser les flèches haut et bas pour naviguer. On peut aussi simplement appuyer sur la touche de raccourci de l'élément du menu, qui est le caractère souligné. Par exemple, pour lancer une commande pour supprimer un conteneur, taper Alt + "A" + "D" + "C". Ctrl-S est un raccourci pour lancer la sauvegarde des modifications. Ctrl-Q est un raccourci pour lancer la fermeture de l'interface d'EVMS. 1.5.2. Touches de raccourci dans la fenêtre de sélection La fenêtre de sélection classique contient une liste de sélection, plus quatre à cinq boutons en-dessous. Utilisez les touches suivantes pour naviguer dans la fenêtre de sélection : Table 2.3. Touches de raccourci dans la fenêtre de sélection +------------------------------------------------------------------------+ | Tabulation | Navigue (change le focus clavier) | | | entre la liste et les boutons. | |------------------------------------+-----------------------------------| | Flèches haut et bas | Navigue à l'intérieur de la liste | | | de sélection. | |------------------------------------+-----------------------------------| | | Sélectionne et désélectionne les | | Barre d'espace | éléments dans la liste de | | | sélection. | |------------------------------------+-----------------------------------| | Faire Entrée sur le bouton ou | | | taper le caractère de raccourci | Active un bouton | | (s'il existe) | | +------------------------------------------------------------------------+ 1.5.3. Touches de raccourci de la fenêtre d'options de configuration Utilisez les touches suivantes pour naviguer dans la fenêtre d'options de configuration : Table 2.4. Touches de raccourci dans la fenêtre d'options de configuration +------------------------------------------------------------------------+ | Tabulation | Permet de passer le focus des champs | | | aux boutons, et inversement | |-------------------------------+----------------------------------------| | | Pour naviguer entre les onglets des | | Flèches gauche et droite | dossiers si la fenêtre a un widget | | | bloc-notes. | |-------------------------------+----------------------------------------| | Barre d'espace ou la flèche | Pour transférer l'action vers une | | bas | autre page du bloc-notes. | |-------------------------------+----------------------------------------| | Entrée ou touche du caractère | Active un bouton | | de raccourci (s'il existe) | | +------------------------------------------------------------------------+ Pour les widgets, utilisez les touches suivantes pour naviguer : Table 2.5. Touches de navigation widget dans la fenêtre d'options de configuration +---------------------------------------------------------------+ | Tabulation | Avancer d'un widget à un autre. | |------------------+--------------------------------------------| | Shift-Tabulation | Revenir en arrière d'un widget à un autre. | +---------------------------------------------------------------+ La navigation, la sélection et l'activation des widgets sont pareilles dans toutes les fenêtres de dialogue. 2. L'interface EVMS Ncurses L'interface utilisateur EVMS Ncurses (evmsn) est une interface pilotée par menu avec des caractéristiques similaires à celles de l'interface d'EVMS. Comme l'interface d'EVMS, evmsn peut recevoir de nouveaux plug-ins et fonctionnalités sans avoir besoin de faire de changements dans le code. L'interface utilisateur Ncurses d'EVMS permet de gérer des volumes sur des systèmes n'ayant pas les bibliothèques X et GTK+ requises par l'interface d'EVMS. 2.1. La navigation dans EVMS Ncurses L'interface utilisateur EVMS Ncurses affiche au départ une liste de volumes logiques identique à la vue des volumes logiques dans l'interface d'EVMS. Ncurses fournit également une barre de menu similaire à la barre de menu dans l'interface EVMS. Un guide général pour la navigation dans la structure de la fenêtre Ncurses est présenté ci-dessous : * La touche Tabulation permet de naviguer entre les vues disponibles. * Les messages d'état et astuces sont affichés à la dernière ligne de l'écran. * Taper le caractère de raccourci (la lettre surlignée en rouge) pour n'importe quel élément du menu active cet élément. Par exemple, taper A dans n'importe quelle vue permet de dérouler le menu Actions. * Taper A + Q dans une vue permet de quitter l'application. * Taper A + S dans une vue permet de sauvegarder les changements effectués pendant une session evmsn. * Utilisez les flèches haut et bas pour surligner un objet dans une vue. Taper Entrée alors qu'un objet est surligné dans une vue fait apparaître un menu contextuel. * Pour faire disparaître un menu contextuel qui apparaît, tapez Echap ou sélectionnez un élément d'un menu avec les flèches haut et bas et tapez Entrée pour activer l'élément du menu. Les fenêtres de dialogue ont une apparence similaire aux boîtes de dialogue de l'interface d'EVMS, celles-ci permettant à l'utilisateur de passer de boîtes de dialogue en boîtes de dialogue dans un sens ou dans l'autre en utilisant Next [suivant] et Previous [précédent]. Un guide général pour les fenêtres de dialogue est présenté ci-dessous : * La touche Tabulation permet de naviguer entre les boutons disponibles. A noter que certains boutons pourraient ne pas être disponibles tant qu'une sélection valide n'est pas faite. * Les flèches gauche et droite peuvent également servir à se déplacer vers un bouton disponible. * On peut naviguer dans une liste de sélection avec les flèches haut et bas. * On bascule la sélection d'un élément dans une liste avec la barre d'espace. * On active un bouton qui a le focus en tapant Entrée. Si le bouton a un caractère raccourci (surligné en rouge), on peut également activer ce bouton en tapant le caractère raccourci, que le bouton ait le focus ou pas. L'interface utilisateur EVMS Ncurses, comme l'interface d'EVMS, fournit des menus contextuels pour les actions qui ne sont disponibles que pour les objets sélectionnés dans une vue. Ncurses fournit également des menus contextuels pour les items disponibles dans le menu Actions. Ces menus contextuels offrent une liste des commandes disponibles pour un certain objet. 2.2. Sauvegarder les modifications Toutes les modifications effectuées en étant sur l'interface d'EVMS sont seulement en mémoire jusqu'à ce que les modifications soient sauvegardées. Pour que les modifications soient permanentes, il faut sauvegarder toutes les modifications avant de quitter. Si on oublie de sauvegarder les modifications et que l'on décide de quitter ou de fermer l'interface d'EVMS, il y a un rappel pour sauvegarder toute modification en attente. Pour sauvegarder les modifications explicitement, tapez A + S et confirmez que vous voulez sauvegarder les modifications. 3. L'interpréteur de ligne de commande d'EVMS L'interpréteur de ligne de commande d'EVMS (EVMS CLI [Command Line Interpreter]) fournit à EVMS une interface utilisateur pilotée par commande. EVMS CLI permet d'automatiser les tâches de gestion de volume et fournit un mode interactif dans les situations où l'interface d'EVMS n'est pas disponible. Comme EVMS CLI est un interpréteur, il fonctionne différemment des utilitaires de ligne de commande des systèmes d'exploitation. Lorsque vous spécifiez des options dans la ligne de commande pour appeler EVMS CLI, celles-ci contrôlent comment EVMS CLI fonctionne. Par exemple, les options de ligne de commande montrent au CLI où aller pour les commandes à interpréter et à quelle fréquence EVMS CLI doit sauvegarder sur le disque les modifications. Quand on l'appelle, EVMS CLI invite à entrer une commande. Les commandes de gestion de volume qu'EVMS CLI comprend sont spécifiées dans le fichier /usr/src/evms-2.2.0/engine2/ui/cli/grammar.ps qui accompagne le paquetage EVMS. Ces commandes sont décrites en détail dans le manuel EVMS et l'aide pour ces commandes est disponible depuis EVMS CLI même. 3.1. Utilisation de EVMS CLI Utilisez la commande evms pour démarrer EVMS CLI. Si vous n'entrez aucune option avec evms, EVMS CLI démarre en mode interactif. En mode interactif, EVMS CLI vous invite à entrer une commande. Le résultat de chaque commande est immédiatement sauvegardé sur le disque. EVMS CLI se ferme quand vous tapez exit. On peut modifier ce comportement en utilisant les options suivantes avec evms : -b Cette option indique qu'on tourne en mode batch, et à chaque fois que l'utilisateur est invité à entrer une donnée, la valeur par défaut est acceptée automatiquement. C'est le comportement par défaut avec l'option -f. -c Avec cette option, les modifications ne sont sauvegardées que lorsque l'on quitte EVMS CLI, et non pas après chaque commande. -f nom_du_fichier Cette option indique à EVMS CLI d'utiliser nom_du_fichier comme source des commandes. EVMS CLI ferme lorsqu'il arrive à la fin de nom_du_fichier. -p Cette option ne fait qu'analyser les commandes ; elle ne les exécute pas. Lorsqu'elle est combinée avec l'option -f, l'option -p détecte les erreurs de syntaxe dans les fichiers de commande. -h Cette option affiche des informations d'aide pour les options utilisées avec la commande evms. -rl Cette option indique au CLI que tous les éléments restant dans la ligne de commande sont des paramètres de substitution à utiliser avec les commandes EVMS. [1][Note] NOTE L'accès aux paramètres de substitution dans les commandes EVMS se fait en utilisant la notation $(x), où $(x) est le nombre indiquant quel paramètre de substitution utiliser. Les paramètres de substitution se voient assigner un nombre (en commençant à 1) au fur et à mesure qu'ils apparaissent en ligne de commande. Les substitutions ne se font pas à l'intérieur de commentaires ou de chaînes de caractère entre guillemets. En voici un exemple : evms -c -f mon_test -rl sda sdb sda remplace paramètre1 et sdb remplace paramètre2 [2][Note] NOTE Des informations sur les options les moins communément utilisées sont disponibles dans la page de manuel d'EVMS. 3.2. Notes sur les commandes et les fichiers de commande EVMS CLI permet d'afficher plusieurs commandes sur une ligne de commande. Lorsque vous spécifiez plusieurs commandes sur une seule ligne de commande, séparez les commandes par deux points ( : ). Ceci est important pour les fichiers de commande car EVMS CLI voit un fichier de commande comme une seule longue ligne de commande. EVMS CLI ne reconnaît pas les lignes dans le fichier et ignore les espaces. Ces particularités permettent à une commande se trouvant dans un fichier de commande d'être étalée sur plusieurs lignes et d'utiliser n'importe quelles indentation ou marges qui semblent les plus adaptées. La seule condition est que le séparateur de commandes (deux points) soit présent entre les commandes. EVMS CLI ignore les espaces, à moins qu'ils n'apparaissent entre guillemets. Placez entre guillemets un nom contenant des espaces, des caractères non-imprimables ou des caractères de contrôle. Si le nom contient lui-même un guillemet, le guillemet doit être "doublé", comme dans l'exemple suivant : "Voici un nom contenant ""lui-même"" des guillemets." Les mots-clés d'EVMS CLI ne sont pas sensibles à la casse, mais les noms EVMS le sont. Les tailles peuvent être entrées dans n'importe quelle unité à l'aide d'une étiquette d'unité, telle que KB, MB, GB ou TB. Pour terminer, les commentaires dans le style du langage de programmation C sont pris en charge par EVMS CLI. Un commentaire peut commencer et finir n'importe où, excepté dans une chaîne de caractères entre guillemets, comme on peut le voir dans l'exemple suivant : /* Ceci est un commentaire */ Create:Vo/*C'est idiot comme endroit pour un commentaire, mais c'est autorisé.*/lume,"lvm/Sample Container/My LVM Volume",compatibility Chapter 3. Le fichier journal et la collecte des données d'erreur de EVMS Table of Contents 1. À propos du journal d'EVMS 2. Niveaux de consignation du journal 3. Spécification des niveaux de consignation Ce chapitre traite du journal des informations et erreurs d'EVMS et des divers niveaux de consignation. On y explique également comment changer le niveau de consignation. 1. À propos du journal d'EVMS À chaque fois que le moteur EVMS est ouvert, il crée un journal qui s'appelle /var/log/evmsEngine.log. Le moteur enregistre également jusqu'à neuf copies de ses précédentes sessions, dans les fichiers /var/log/evmsEngine.n.log, où n est le numéro de la session, entre en 1 et 9. 2. Niveaux de consignation du journal Vous pouvez choisir différents niveaux de consignation possibles qui seront relevés dans /var/log/evmsEngine.log. Le niveau de consignation "le plus bas", critical (critique), ne relève que les messages concernant les problèmes systèmes graves, alors que le "plus haut" niveau, everything (tout), relève tous les messages liés à la consignation. Quand vous spécifiez un niveau particulier de consignation, le moteur relève des messages pour ce niveau et tous les niveaux plus bas que celui-ci. Le tableau suivant donne la liste des niveaux de consignation autorisables et les informations qu'ils fournissent : Table 3.1. Niveaux de consignation EVMS +------------------------------------------------------------------------+ | Niveau | Description | |------------------------------+-----------------------------------------| | | La santé du système ou du moteur est en | | Critical (critique) | danger ; par exemple, une opération a | | | échoué car il n'y a pas assez de | | | mémoire. | |------------------------------+-----------------------------------------| | Serious (sérieux) | Une opération n'a pas réussi. | |------------------------------+-----------------------------------------| | | L'utilisateur a provoqué une erreur. | | Error (erreur) | Les messages d'erreur sont fournis pour | | | aider l'utilisateur à corriger le | | | problème. | |------------------------------+-----------------------------------------| | Warning (avertissement) | Une erreur est survenue et le système | | | pourrait ne pas continuer normalement. | |------------------------------+-----------------------------------------| | Default (par défaut) | Une erreur est survenue et le système a | | | continué normalement. | |------------------------------+-----------------------------------------| | Details (détails) | Informations détaillées sur le système. | |------------------------------+-----------------------------------------| | Entry_Exit (entrée - sortie) | Suit les entrées et sorties des | | | fonctions. | |------------------------------+-----------------------------------------| | Debug (déboguage) | Informations aidant l'utilisateur à | | | déboguer un problème. | |------------------------------+-----------------------------------------| | | Plus d'informations que dans le niveau | | Extra (supplément) | "Debug" pour aider l'utilisateur à | | | déboguer un problème. | |------------------------------+-----------------------------------------| | Everything (tout) | Sortie verbeuse. | +------------------------------------------------------------------------+ 3. Spécification des niveaux de consignation Par défaut, lorsque n'importe laquelle des interfaces EVMS est ouverte, le moteur consigne le niveau Par défaut des messages dans le fichier /var/log/evmsEngine.log. Cependant, si votre système rencontre des difficultés et que vous souhaitez en savoir plus sur ce qui se passe, vous pouvez élever le niveau de consignation ; si vous souhaitez moins d'informations, vous pouvez baisser le niveau de consignation. Pour modifier le niveau de consignation, spécifiez le paramètre -d et le niveau de consignation lors de l'appel d'ouverture de l'interface. Les exemples suivant montrent comment ouvrir les différentes interfaces avec le plus haut niveau de consignation (everything) : GUI: evmsgui -d everything Ncurses: evmsn -d everything CLI: evms -d everything [3][Note] NOTE Si vous utilisez la liste de diffusion EVMS pour avoir de l'aide concernant un problème, il sera plus facile pour nous de vous aider si vous nous fournissez le journal créé lorsque vous ouvrez une des interfaces (comme on l'a indiqué dans les commandes précédentes). L'interface d'EVMS vous permet de modifier le niveau de consignation pendant une session du moteur. Pour ce faire, suivez ces étapes : 1. Sélectionnez Settings (paramètres) -> Log Level (niveau de consignation) -> Engine (moteur). 2. Cliquez sur le niveau [Level] que vous souhaitez. La commande CLI probe ouvre et ferme le moteur, ce qui provoque le démarrage d'un nouveau journal. Le journal qui existait avant l'utilisation de la commande probe est renommé /var/log/evmsEngine.1.log, et le nouveau journal est nommé /var/log/evmsEngine.log. Si vous comptez utiliser fréquemment un niveau de consignation qui n'est pas celui par défaut, vous pouvez spécifier le niveau de consignation par défaut dans /etc/evms.conf plutôt que d'avoir à utiliser l'option -d lorsque vous démarrez l'interface utilisateur. L'option "debug_level" dans la section "engine" règle le niveau de consignation par défaut lors de l'ouverture du moteur. Le paramètre dans /etc/evms.conf est ignoré si l'option -d est utilisée lors de l'appel de commande. Chapter 4. Visualisation des volumes de compatibilité après la migration. Table of Contents 1. Utilisation de l'interface d'EVMS 2. Utilisation de Ncurses 3. Utilisation du CLI La migration vers EVMS permet d'avoir la souplesse d'EVMS sans perdre l'intégrité de vos données. EVMS détecte les volumes de gestion de volume existants comme des volumes de compatibilité. Après avoir installé EVMS, vous pouvez visualiser vos volumes existants avec l'interface de votre choix. 1. Utilisation de l'interface d'EVMS Si vous utilisez l'interface d'EVMS comme interface préférée, vous pouvez visualiser vos volumes migrés en tapant evmsgui dans l'invite de commande. La fenêtre suivante s'ouvre, avec la liste de vos volumes migrés. Figure 4.1. Fenêtre de démarrage de l'interface [4]Fenêtre de démarrage de l'interface 2. Utilisation de Ncurses Si vous utilisez l'interface Ncurses, vous pouvez visualiser vos volumes migrés en tapant evmsn dans l'invite de commande. La fenêtre suivante s'ouvre , avec la liste de vos volumes migrés. Figure 4.2. Fenêtre de démarrage de Ncurses [5]Fenêtre de démarrage de Ncurses 3. Utilisation du CLI Si vous utilisez l'interface de l'interpréteur de lignes de commandes (CLI), vous pouvez visualiser vos volumes migrés en suivant ces étapes : 1. Démarrez l'interpréteur de lignes de commandes en tapant evms dans la ligne de commandes. 2. Faites une recherche de volumes en tapant ce qui suit dans l'invite EVMS query:volumes Vos volumes migrés s'affichent comme résultat de votre recherche. Figure 4.3. Résultats de la recherche de volume dans CLI [6]Recherche de volume dans CLI Chapter 5. Obtenir les informations de l'affichage de l'interface Table of Contents 1. Utilisation de l'interface d'EVMS 2. Utilisation de Ncurses 3. Utilisation de CLI Les informations que les interfaces EVMS permettent de voir sur un objet EVMS sont plus détaillées que ce qui est déjà disponible depuis les vues principales des interfaces utilisateur d'EVMS. Le type et l'étendue des informations supplémentaires disponibles dépendent de l'interface que vous utilisez. Par exemple, l'interface d'EVMS fournit des informations plus en profondeur que ne le fait le CLI. Les sections suivantes montrent comment trouver des informations détaillées sur la région lvm/Exemple de conteneur/Exemple de région, qui font partie du volume /dev/evms/Exemple de volume (créé dans la section 10.2). 1. Utilisation de l'interface d'EVMS Avec l'interface d'EVMS, il n'est possible d'afficher des informations supplémentaires sur un objet que par les menus sensibles au contexte, comme les étapes suivantes le montrent : 1. En étant dans la vue des volumes [volumes view], cliquez sur le "+" près du volume /dev/evms/Exemple de volume. Autre possibilité, regardez la vue des régions. 2. Faites un clic droit sur lvm/Exemple de conteneur/Exemple de région. 3. Cliquez sur Afficher les détails [Display Details...]. Une nouvelle fenêtre s'ouvre avec des informations supplémentaires sur la région sélectionnée. 4. Cliquez sur More près de la boîte des extensions logiques [Logical Extents box]. Une autre fenêtre s'ouvre et affiche la correspondance entre les extensions logiques et les extensions physiques. 2. Utilisation de Ncurses Suivez ces étapes pour afficher des informations supplémentaires sur un objet avec Ncurses : 1. Appuyez sur Tabulation pour atteindre la vue des régions de stockage. 2. Défilez vers le bas en utilisant la flèche bas jusqu'à ce que lvm/Exemple de conteneur/Exemple de région soit mis en surbrillance. 3. Appuyez sur Entrée. 4. Dans le menu contextuel, défilez vers le bas en utilisant la flèche bas pour mettre en surbrillance "Afficher les informations [Display Details...]" 5. Appuyez sur Entrée pour activer l'élément menu. 6. Dans le dialogue Detailed Information, utilisez la flèche bas pour mettre en surbrillance l'élément "Extensions logiques [Logical Extents]" puis utilisez la barre d'espace pour ouvrir une autre fenêtre affichant la correspondance entre les extensions logiques et les extensions physiques. 3. Utilisation de CLI Utiliser la commande query (q en abrégé) avec des filtres pour afficher les informations sur les objets EVMS. Il existe deux filtres particulièrement utiles pour naviguer à l'intérieur de la ligne de commande : list options (lo en abrégé) et extended info (ei en abrégé). La commande list options vous indique ce qui peut être fait actuellement et quelles options vous pouvez spécifier. Pour utiliser cette commande, construisez d'abord une commande de requête traditionnelle commençant par la commande query, suivie par deux points (:), puis le type d'objet que vous recherchez (par exemple volumes, objets, plug-ins). Ensuite, vous pouvez utiliser les filtres pour affiner la recherche à la seule zone qui vous intéresse. Par exemple, pour voir quelles sont les actions qui sont recevables à ce moment précis sur lvm/Exemple de conteneur/Exemple de région, entrez la commande suivante : query: regions, region="lvm/Exemple de conteneur/Exemple de région", list options Le filtre extended info est l'équivalent de Afficher les détails [Display Details] dans les interfaces EVMS et Ncurses. La commande prend la forme suivante : query, suivi par deux points (:), le filtre (extended info), une virgule (,), et l'objet sur lequel vous voulez plus d'informations. La commande renvoie une liste contenant les noms, titres, descriptions et valeurs des champs, pour chaque champ défini pour l'objet. Par exemple, pour obtenir des informations sur lvm/Exemple de conteneur/Exemple de région, entrez la commande suivante : query: extended info, "lvm/Exemple de conteneur/Exemple de région" La plupart des noms de champs qui sont renvoyés par le filtre extended info peuvent être développés davantage en spécifiant un ou des noms de champs à la fin de la commande, séparés par des virgules. Par exemple, si vous souhaitiez des informations supplémentaires sur les extensions logiques, la recherche ressemblerait à ceci : query: extended info, "lvm/Exemple de conteneur/Exemple de région", Extents Chapter 6. Ajout et suppression d'un gestionnaire de segments Table of Contents 1. Quand ajouter un gestionnaire de segments 2. Types de gestionnaires de segments 2.1. Le gestionnaire de segment DOS 2.2. Le gestionnaire de segment de table de partitionnement GUID [GUID Partitioning Table (GPT)] 2.3. Le gestionnaire de segment S/390 2.4. Le gestionnaire de segments pour unités de stockage [clusters] 2.5. Le gestionnaire de segment BSD 2.6. Le gestionnaire de segment MAC 2.7. Le gestionnaire de segments BBR 3. Ajouter un gestionnaire de segments à un disque existant 4. Ajout d'un gestionnaire de segments à un nouveau disque 5. Exemple: ajoutez un gestionnaire de segments 5.1. Utilisation de l'interface d'EVMS 5.2. Utilisation de Ncurses 5.3. Utilisation du CLI 6. Suppression d'un gestionnaire de segments 7. Exemple : supprimez un gestionnaire de segments 7.1. Utilisation du menu contextuel de l'interface d'EVMS 7.2. Utilisation de Ncurses 7.3. Utilisation du CLI Ce chapitre explique quand utiliser un gestionnaire de segments, quels sont les différents types de gestionnaires de segment, comment ajouter un gestionnaire de segments à un disque, et comment supprimer un gestionnaire de segments. 1. Quand ajouter un gestionnaire de segments Ajouter un gestionnaire de segments permet à un disque d'être subdivisé en objets de stockage plus petits appelés segments de disque. La commande add fait que le gestionnaire de segments crée les métadonnées appropriées et montre l'espace libre que le gestionnaire de segments trouve sur le disque. Il faut ajouter des gestionnaires de segment lorsqu'on a un nouveau disque ou lorsqu'on passe d'un plan de partitionnement à un autre. Les types de segments de disque que EVMS affiche sont : * Données [data] : ensemble de secteurs contigus qui ont été alloués depuis un disque et qui peuvent être utilisés pour construire un volume ou un objet. * Espace libre [freespace] : ensemble de secteurs contigus qui ne sont pas alloués ou utilisés. L'espace libre peut être utilisé pour créer un segment. * Méta-données [metadata] : ensemble de secteurs contigus contenant de l'information nécessaire au gestionnaire de segments. 2. Types de gestionnaires de segments Dans EVMS, il y a 7 types de gestionnaires de segments : DOS, GPT, S/390, Cluster, BSD, MAC, et BBR. 2.1. Le gestionnaire de segment DOS Le gestionnaire de segments le plus communément utilisé est le gestionnaire de segments DOS. Ce plug-in fournit la prise en charge pour le partitionnement de disque DOS traditionnel. Le gestionnaire de segments DOS reconnaît et prend en charge également les variations suivantes du plan de partitionnement DOS : * OS/2 : un disque OS/2 a des secteurs de méta-données supplémentaires, contenant les informations nécessaires pour reconstruire des segments de disque. * Partitions imbriquées : la prise en charge pour BSD, SolarisX86, et UnixWare se trouve parfois imbriquée dans des partitions DOS primaires. Le gestionnaire de segments DOS reconnaît et prend en charge ces parts comme segments de disque. 2.2. Le gestionnaire de segment de table de partitionnement GUID [GUID Partitioning Table (GPT)] Le gestionnaire de segments GPT gère le nouveau plan de partitionnement GPT sur les machines IA-64. La spécification d'interface de microprogramme extensible [Extensible Firmware Interface Specification] d'Intel requiert que les microprogrammes puissent découvrir des partitions et produire des périphériques logiques correspondant aux partitions de disque. Le plan de partitionnement décrit dans la spécification s'appelle GPT à cause de l'utilisation très répandue du balisage d'identifiant unique global [Globally Unique Identifier (GUID)]. Le GUID est un identifiant d'une longueur de 128 bits, appelé également identifiant unique universel [Universally Unique Identifier (UUID)]. Ainsi qu'on le décrit dans le Wired For Management Baseline Specification d'Intel, le GUID est une combinaison de champ temporel et de champ spatial produisant un identifiant unique dans un espace entier d'UUID. L'utilisation de ces identifiants sur les disques partitionnés en GPT pour baliser des disques entiers ou des partitions individuelles est très répandue. Les disques partitionnés en GPT ont de nombreuses fonctions, comme par exemple : * garder une copie primaire et de sauvegarde des méta-données * remplacer l'imbrication de partition MSDOS en permettant plusieurs partitions * utiliser l'adressage en blocs logiques de 64 bits * baliser les partitions et disques avec des descripteurs GUID Le gestionnaire de segments GPT s'adapte mieux à l'échelle des grands disques. Il fournit plus de redondance avec une fiabilité supplémentaire et utilise des noms uniques. Cependant, le gestionnaire de segments GPT n'est pas compatible avec DOS, OS/2, ou Windows®. 2.3. Le gestionnaire de segment S/390 Le gestionnaire de segments S/390 est utilisé exclusivement sur des mainframes System/390. Le gestionnaire de segments S/390 a la capacité de reconnaître diverses configurations de disques que l'on trouve sur une machine S/390, et fournit la prise en charge de segments de disque pour cette architecture. Les deux configurations de disque les plus courantes sont Linux Disk Layout (LDL) et Common Disk Layout (CDL). La principale différence entre LDL et CDL est qu'un disque LDL ne peut pas être subdivisé davantage. Un disque LDL produira un unique segment de disque de méta-données, et un unique segment de disque de données. Il n'y a pas d'espace libre sur un disque LDL, et on ne peut pas supprimer ou redimensionner un segment de données. Un disque CDL peut être subdivisé en de multiples segments de disque de données car il contient des méta-données que l'on ne trouve pas dans un disque LDL, en particulier les informations de la table des matières du volume [Volume Table of Contents (vtoc)]. Le gestionnaire de segments S/390 est le seul plug-in de gestion de segment capable de comprendre la configuration unique des disques S/390. Le gestionnaire de segments S/390 ne peut pas être ajouté ou retiré d'un disque. 2.4. Le gestionnaire de segments pour unités de stockage [clusters] Le gestionnaire de segments pour cluster [cluster segment manager (CSM)] prend en charge les clusters à haute disponibilité. Lorsque le CSM est ajouté à un stockage sur disque partagé, il écrit sur le disque des méta-données qui : * fournissent un identifiant de disque unique (GUID) * donnent un nom au conteneur EVMS au sein duquel le disque reposera * spécifient le noeud de cluster (nodeid) qui possède le disque * spécifient le cluster (clusterid) Ces métadonnées permettent au CSM de construire des conteneurs pour la prise en charge de situations de basculement. Cela se fait en construisant un objet conteneur EVMS qui consomme tous les disques partagés découverts par le CSM et appartenant au même conteneur. Ces disques de stockage partagés sont consommés par le conteneur et un segment de données unique est produit par le conteneur pour chaque disque consommé. Un basculement des ressources EVMS s'accomplit en réassignant simplement le conteneur CSM au noeud de clusters en veille, et en faisant en sorte que le noeud relance son processus de découverte. Ajouter des disques aux conteneurs CSM implique que seuls les objets de stockage sur disque soient acceptables par le CSM. Ceci est un aspect important du CSM. D'autres gestionnaires de segments peuvent être imbriqués dans des objets de stockage et utilisés pour les subdiviser davantage. Cependant, le CSM ne peut ajouter aucun autre type d'objet de stockage à un conteneur de CSM car le conteneur est censé être un groupe de disques, et le groupe de disques en entier est réassigné lors d'un basculement. Le CSM n'accepte donc des disques que lors de la construction de conteneurs. Il est important de s'en souvenir lorsqu'on ajoute le CSM à un disque. Si on choisit Add et que le CSM n'apparaît pas dans la liste de sélection des plug-ins alors qu'on sait qu'on a un disque, il faut regarder dans la liste de volumes et voir si le disque s'y trouve en tant que volume de compatibilité. Si on supprime simplement le volume, le disque deviendra un objet disponible et le CSM apparaîtra alors dans la liste des plug-ins car il a maintenant un disque disponible qui peut être ajouté à un conteneur. 2.5. Le gestionnaire de segment BSD BSD fait référence au système d'exploitation UNIX® Berkeley Software Distribution. Le gestionnaire de segments BSD d'EVMS est responsable de la reconnaissance et de la production d'objets de stockage de segment EVMS permettant de mapper des partitions BSD. Un disque BSD peut avoir une table de tranches dans le tout premier secteur du disque par souci de compatibilité avec d'autres systèmes d'exploitation. Par exemple, une table de tranches DOS peut se trouver dans le secteur MBR habituel. Le disque BSD se trouverait alors dans une tranche de disque localisée à l'aide d'une table de tranches de compatibilité. Cependant, BSD n'a pas besoin de la table de tranches et peut dédier entièrement le disque à lui-même en plaçant l'étiquette de disque dans le tout premier secteur. On appelle ça un "disque entièrement dédié" car BSD utilise le disque entier et ne fournit pas une table de tranches de compatibilité. Le gestionnaire de segments BSD reconnaît de tels "disques entièrement dédiés" et fournit des mappages pour les partitions BSD. 2.6. Le gestionnaire de segment MAC Les disques partitionnés par Apple utilisent une étiquette de disque qui est reconnue par le gestionnaire de segments MAC. Le gestionnaire de segments MAC reconnaît l'étiquette de disque au cours de la découverte et crée des segments EVMS pour mapper les partitions de disque MacOS. 2.7. Le gestionnaire de segments BBR Le gestionnaire de segments de remplacement de blocs défectueux [bad block replacement (BBR)] améliore la fiabilité d'un disque en remappant les blocs de stockage défectueux. Lorsque le BBR est ajouté à un disque, il écrit sur celui-ci des méta-données qui : * réservent des blocs de remplacement * mappent des blocs défectueux à des blocs réservés Les blocs défectueux se rencontrent lorsqu'une erreur d'entrée/sortie [input/output (I/O)] est détectée lors d'une opération d'écriture. Lorsque cela arrive, l'I/O échoue normalement et le code d'échec est renvoyé au code du programme appelant. Le BBR détecte les opérations d'écriture qui ont échoué et remappe l'I/O à un bloc réservé du disque. Après cela, BBR redémarre l'I/O en utilisant le bloc réservé. Chaque bloc de stockage a une adresse, appelée adresse de bloc logique [logical block address], ou LBA. Lorsque le BBR est ajouté à un disque, il fournit deux fonction critiques : le remappage et la récupération. Lorsqu'une opération d'I/O est envoyée à un disque, le BBR inspecte le LBA dans la commande I/O pour voir si le LBA a été remappé à un bloc réservé en raison d'une erreur d'I/O. Si le BBR trouve un mappage entre le LBA et un bloc réservé, il met à jour la commande I/O avec le LBA du bloc réservé avant de l'envoyer au disque. Une récupération a lieu lorsque le BBR détecte une erreur d'I/O et remappe le bloc défectueux à un bloc réservé. Le nouveau mappage LBA est enregistré dans les métadonnées BBR de façon à ce que la prochaine I/O vers le LBA puisse être remappée. 3. Ajouter un gestionnaire de segments à un disque existant Lorsqu'on ajoute un gestionnaire de segments à un disque, le gestionnaire de segments a besoin de changer la configuration de base du disque. Ce changement implique que certains secteurs soient réservés pour les métadonnées et que les secteurs restant soient rendus disponibles pour créer des segments de disque de données. Les secteurs de métadonnées sont écrits sur un disque pour enregistrer les informations nécessaires au gestionnaire de segments ; les informations présentes sur le disque auparavant sont perdues. Avant d'ajouter un gestionnaire de segments à un disque existant, il faut retirer toute structure de gestion de volume existante, y compris les gestionnaires de segments précédents. 4. Ajout d'un gestionnaire de segments à un nouveau disque Lorsqu'un nouveau disque est ajouté à un système, le disque ne contient en général aucune donnée et n'a pas été partitionné. Si c'est le cas, le disque apparaît dans EVMS en tant que volume de compatibilité car EVMS ne peut pas savoir si le disque est utilisé en tant que volume. Pour ajouter un gestionnaire de segments au disque dans le but de le subdiviser en objets de segment de disque plus petits, indiquez à EVMS que le disque n'est pas un volume de compatibilité en supprimant les informations de volume. Si le nouveau disque a été déplacé depuis un autre système, il y a de grandes chances que le disque contienne déjà des métadonnées. Si le disque ne contient pas de métadonnées, le disque s'affiche dans EVMS avec les objets de stockage qui ont été produits à partir des méta-données existantes. La suppression de ces objets permettra d'ajouter au disque un gestionnaire de segments différent, et vous perdrez toutes les anciennes données. 5. Exemple: ajoutez un gestionnaire de segments Cette section montre comment ajouter un gestionnaire de segments avec EVMS. EVMS affiche au départ comme des volumes les disques physiques qu'il voit. Supposez que vous ayez ajouté un nouveau disque vu par EVMS en tant que sde. Ce disque ne contient aucune donnée et n'a pas été subdivisé (aucune partition). EVMS suppose que ce disque est un volume de compatibilité du nom de /dev/evms/sde. Example 6.1. Ajoutez le gestionnaire de segments DOS Ajoutez le gestionnaire de segments DOS au disque sde. [7][Note] NOTE Dans l'exemple suivant, le gestionnaire de segments DOS crée deux segments sur le disque : un segment de méta-données appelé sde_mbr, et un segment pour représenter l'espace disponible sur l'unité de disque, sde_freespace1. Ce segment d'espace libre (sde_freespace1) peut être divisé en d'autres segments car il représente l'espace non utilisé de l'unité de disque. 5.1. Utilisation de l'interface d'EVMS Pour ajouter le gestionnaire de segments DOS à sde, retirez d'abord le volume /dev/evms/sde : 1. Sélectionnez Actions -> Delete (supprimer) -> Volume. 2. Sélectionnez /dev/evms/sde. 3. Cliquez sur Delete. Autrement, vous pouvez retirer le volume en passant par le menu contextuel de l'interface : 1. Depuis l'onglet Volumes, faites un clic droit sur /dev/evms/sde. 2. Cliquez sur Delete. Après que le volume ait été retiré, ajoutez le gestionnaire de segments DOS : 1. Sélectionnez Actions -> Add (ajouter) -> Segment Manager to Storage Object (gestionnaire de segments vers objet de stockage). 2. Sélectionnez DOS Segment Manager. 3. Cliquez sur Next (suivant). 4. Sélectionnez sde 5. Cliquez sur Add 5.2. Utilisation de Ncurses Pour ajouter le gestionnaire de segments DOS à sde, retirez d'abord le volume /dev/evms/sde : 1. Sélectionnez Actions -> Delete -> Segment Manager to Storage Object. 2. Sélectionnez /dev/evms/sde. 3. Activez Delete. Autrement, vous pouvez retirer le volume en passant par le menu contextuel : 1. Dans la vue des volumes logiques, appuyez sur Entrée pour /dev/evms/sde. 2. Activez Delete. Une fois le volume retiré, ajoutez le gestionnaire de segments DOS : 1. Sélectionnez Actions -> Add -> Segment Manager to Storage Object 2. Sélectionnez DOS Segment Manager. 3. Activez Next. 4. Sélectionnez sde. 5. Activez Add. 5.3. Utilisation du CLI Pour ajouter le gestionnaire de segments DOS à sde, indiquez d'abord à EVMS que ce disque n'est pas un volume et qu'il est disponible à l'utilisation : Delete:/dev/evms/sde Ensuite, ajoutez le gestionnaire de segments DOS à sde en tapant ce qui suit : Add:DosSegMgr={},sde 6. Suppression d'un gestionnaire de segments Lorsqu'un gestionnaire de segments est supprimé d'un disque, le disque peut être réutilisé par d'autres plug-ins. La commande remove fait que le gestionnaire de segments enlève sa partition ou table de tranches du disque, abandonnant ainsi l'objet de stockage de disque brut qui devient alors un objet de stockage EVMS disponible. En tant qu'objet de stockage disponible, le disque est libre pour être utilisé par n'importe quel plug-in lorsque des objets de stockage sont créés ou agrandis. Vous pouvez également ajouter n'importe quel gestionnaire de segments à l'objet de stockage de disque disponible, dans le but de subdiviser le disque en segments. La plupart des plug-ins de gestionnaire de segments vérifient si chacun des segments est encore utilisé par d'autres plug-ins ou font encore partie d'un volume. Si un gestionnaire de segments constate qu'il n'y a aucun disque duquel il peut se retirer de manière sûre, il ne sera pas sur la liste lors de l'utilisation de la commande remove. Dans ce cas, il faut supprimer le volume ou objet de stockage qui consomme des segments du disque que vous voulez réutiliser. 7. Exemple : supprimez un gestionnaire de segments Cette section montre comment supprimer un gestionnaire de segments avec EVMS. Example 6.2. Supprimez le gestionnaire de segments DOS Supprimez le gestionnaire de segments DOS du disque sda. [8][Note] NOTE Dans l'exemple suivant, le gestionnaire de segments DOS a une partition primaire sur le disque sda. Le segment est un volume de compatibilité dont le nom est /dev/evms/sda1. 7.1. Utilisation du menu contextuel de l'interface d'EVMS Suivez ces étapes pour supprimer un gestionnaire de segments avec le menu contextuel de l'interface : 1. Dans l'onglet Volumes, faites un clic droit sur /dev/evms/sda1.. 2. Cliquez sur Delete. 3. Sélectionnez Actions -> Remove -> Segment Manager from Storage Object. 4. Sélectionnez DOS Segment Manager, sda. 5. Cliquez sur Remove. 7.2. Utilisation de Ncurses Suivez ces étapes pour supprimer un gestionnaire de segments avec l'interface Ncurses : 1. Sélectionnez Actions -> Delete -> Volume. 2. Sélectionnez /dev/evms/sda1. 3. Activez Delete. 4. Sélectionnez Actions -> Remove -> Segment Manager from Storage Object. 5. Activez Remove. 7.3. Utilisation du CLI Suivez ces étapes pour supprimer un gestionnaire de segments avec le CLI : Delete:/dev/evms/sda1 Remove: sda Chapter 7. La création de segments Table of Contents 1. Quand créer un segment 2. Exemple: créez un segment 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI Ce chapitre explique quand utiliser des segments et comment les créer en utilisant différentes interfaces EVMS. 1. Quand créer un segment Un disque peut être subdivisé en objets de stockage plus petits appelés segments de disque. Un plug-in de gestionnaire de segment fournit cette capacité. Une autre raison pour créer des segments de disque est le maintien de la compatibilité sur un système à double amorçage où l'autre système d'exploitation a besoin de partitions de disque. Avant de créer un segment de disque, vous devez choisir un plug-in de gestionnaire de segment pour gérer le disque et assigner le gestionnaire de segment au disque. Vous trouverez l'explication sur quand et comment assigner des gestionnaires de segment dans Chapter 6, Ajout et suppression d'un gestionnaire de segments. 2. Exemple: créez un segment Cette section fournit des explications détaillées sur la façon de créer un segment avec EVMS, en vous donnant des instructions pour vous aider à réaliser la tâche suivante : Example 7.1. Créez un segment de 100Mo Créez un segment de 100Mo depuis le segment d'espace libre sde_freespace1. Ce segment d'espace libre se trouve sur un disque contrôlé par le gestionnaire de segments DOS. 2.1. Utilisation de l'interface d'EVMS Pour créer un segment en utilisant l'interface, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Segment pour voir une liste des plug-ins de gestionnaire de segment. 2. Sélectionnez DOS Segment Manager (gestionnaire de segment DOS). Cliquez sur Next. La fenêtre de dialogue suivante montre une liste des objets de stockage d'espace libre qui conviennent pour créer un nouveau segment. 3. Sélectionnez sde_freespace1. Cliquez sur Next. La dernière fenêtre de dialogue présente l'objet d'espace libre que vous avez sélectionné, ainsi que les options de configuration disponibles pour cet objet. 4. Entrez 100 MB. Les champs obligatoires sont annotés par un "*" en face du champ de description. Le gestionnaire de segments DOS fournit les valeurs par défaut, mais vous voudrez peut-être changer certaines de ces valeurs. Après avoir rempli les informations pour tous les champs obligatoires, le bouton Create devient disponible. 5. Cliquez sur Create. Une fenêtre s'ouvre pour afficher les résultats. Autre possibilité, vous pouvez effectuer certaines des étapes pour créer un segment depuis le menu contextuel de l'interface : 1. Depuis l'onglet Segments, faites un clic droit sur sde_freespace1. 2. Cliquez sur Create Segment... 3. Continuez en commençant à l'étape 4 des instructions de l'interface. 2.2. Utilisation de Ncurses Pour créer un segment en utilisant Ncurses, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Segment pour voir une liste des plug-ins de gestionnaire de segment. 2. Sélectionnez DOS Segment Manager. Activez Next. La prochaine fenêtre de dialogue montre une liste des objets de stockage d'espace libre qui conviennent pour créer un nouveau segment. 3. Sélectionnez sde_freespace1. Activez Next. 4. Surlignez le champ taille [size] et appuyez sur barre d'espace. 5. A l'invite "::" entrez 100MB. Appuyez sur Entrée. 6. Après que toutes les valeurs obligatoires aient été renseignées, le bouton Create devient disponible. 7. Activez Create. Autre possibilité, vous pouvez effectuer certaines de ces étapes pour créer un segment depuis le menu contextuel : 1. Dans la vue des segment, appuyez sur Entrée sur sde_freespace1. 2. Activez Create Segment. 3. Continuez en commençant à l'étape 4 des instructions Ncurses. 2.3. Utilisation du CLI Pour créer un segment de données depuis un segment d'espace libre, utilisez la commande Create. Les arguments acceptés par la commande Create varient en fonction de ce que l'on est en train de créer. Le premier argument de la commande Create indique ce qui va être créé, soit un segment dans notre exemple. Les arguments qui restent sont le segment d'espace libre d'où l'on va allouer, ainsi qu'une liste d'options à passer au gestionnaire de segments. La commande pour effectuer ceci est : Create: Segment,sde_freespace1, size=100MB [9][Note] NOTE La commande Allocate sert aussi à créer un segment. L'exemple précédent accepte les valeurs par défaut pour toutes les options non spécifiées. Pour voir les les options pour cette commande, tapez : query:plugins,plugin=DosSegMgr,list options Chapter 8. Création d'un conteneur Table of Contents 1. Quand créer un conteneur 2. Exemple : créez un conteneur 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI Ce chapitre explique quand et comment créer un conteneur. 1. Quand créer un conteneur Segments et disques peuvent se combiner pour former un conteneur. Les conteneurs permettent de combiner des objets de stockage et de diviser ces objets de stockage combinés en de nouveaux objets de stockage. On peut combiner des objets de stockage pour implémenter le concept de groupe de volume que l'on trouve dans les gestionnaires de volume logique AIX et Linux. Avec les conteneurs, on commence à améliorer la souplesse de la gestion des volumes. On pourra donc créer un conteneur pour avoir plus de souplesse dans les futurs besoins de stockage. Par exemple, on pourrait avoir besoin d'ajouter des disques supplémentaires lorsque les applications ou les utilisateurs auront besoin de plus de stockage. 2. Exemple : créez un conteneur Cette section fournit des explications détaillées sur la façon de créer un conteneur avec EVMS, en vous donnant des instructions pour vous aider à terminer la tâche suivante. Example 8.1. Créez un "Exemple de conteneur" Etant donné un système avec 3 unités de disque disponibles (sdc, sdd, hdc), utilisez le gestionnaire de région LVM d'EVMS pour combiner ces unités de disque en un conteneur nommé "Exemple de conteneur" avec une taille PE de 16 Mo. 2.1. Utilisation de l'interface d'EVMS Pour créer un conteneur en utilisant l'interface d'EVMS, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Container pour voir une liste des plug-ins qui prennent en charge la création de conteneurs. 2. Sélectionnez le LVM Region Manager (gestionnaire de région LVM). Cliquez sur Next. La fenêtre de dialogue suivante contient une liste des objets de stockage que le gestionnaire de région LVM peut utiliser pour créer un conteneur. 3. Sélectionnez sdc, sdd, et hdc dans la liste. Cliquez sur Next. 4. Entrez le nom Exemple de conteneur pour le conteneur et 16MB dans le champ PE size (taille PE). 5. Cliquez sur Create. Une fenêtre s'ouvre pour afficher les résultats. 2.2. Utilisation de Ncurses Pour créer un conteneur en utilisant l'interface Ncurses, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Container pour voir une liste des plug-ins qui prennent en charge les création de conteneurs. 2. Sélectionnez le LVM Region Manager. Activez Next. La fenêtre de dialogue suivante contient une liste des objets de stockage que le gestionnaire de région LVM peut utiliser pour créer le conteneur. 3. Sélectionnez sdc, sdd, et hdc dans la liste. Activez Next. 4. Appuyez sur barre d'espace pour sélectionner le champ pour le nom du conteneur. 5. Tapez Exemple de conteneur à l'invite "::". Appuyez sur Entrée. 6. Défilez vers le bas jusqu'à ce que PE Size soit mis en surbrillance. Appuyez sur barre d'espace. 7. Défilez vers le bas jusqu'à ce que 16MB soit mis en surbrillance. Appuyez sur barre d'espace. 8. Activez OK. 9. Activez Create. 2.3. Utilisation du CLI La commande Create crée des conteneurs. Le premier argument de la commande Create est le type d'objet à produire, soit ici un conteneur. La commande Create accepte ensuite les arguments suivants : le gestionnaire de région à utiliser avec tous les paramètres dont il pourrait avoir besoin, et les segments ou disques à partir desquels créer le conteneur. La commande pour réaliser l'exemple précédent est : Create:Container,LvmRegMgr={name="Exemple de conteneur",pe_size=16MB},sdc,sdd,hdc L'exemple précédent accepte les valeurs par défaut pour toutes les options non spécifiées. Pour voir les options pour cette commande, tapez : query:plugins,plugin=LvmRegMgr,list options Chapter 9. Création de régions Table of Contents 1. Quand créer des régions 2. Exemple: créez une région 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI Les régions peuvent être créées à partir de conteneurs, mais elles peuvent aussi être créées à partir d'autres régions, segments ou disques. La plupart des gestionnaires de région prenant en charge les conteneurs créent une ou plusieurs régions d'espace libre pour représenter l'espace libre à l'intérieur d'un conteneur. Cette fonction est analogue à la façon qu'a un gestionnaire de segment de créer un segment d'espace libre pour représenter l'espace disque inutilisé. 1. Quand créer des régions Vous pouvez créer des régions si vous avez besoin des fonctionnalités fournies par un certain gestionnaire de région, ou parce que vous voulez les fonctionnalités fournies par ce gestionnaire de région. Vous pouvez aussi créer des régions pour qu'elles soient compatibles avec d'autres technologies de gestion de volume, telles que MD ou LVM. Par exemple, si vous vouliez faire un volume qui soit compatible avec Linux LVM, vous devriez créer une région à partir d'un conteneur Linux LVM puis un volume de compatibilité à partir de cette région. 2. Exemple: créez une région Cette section explique comme créer une région avec EVMS, en vous donnant des instructions pour vous aider à effectuer la tâche suivante. Example 9.1. Créez "Exemple de région" Etant donné le conteneur "Exemple de conteneur" ayant une région d'espace libre de 8799 Mo, créez une région de données d'une taille de 1000 Mo nommée "Exemple de région". 2.1. Utilisation de l'interface d'EVMS Pour créer une région, suivez les étapes suivantes : 1. Sélectionnez Actions -> Create -> Region 2. Sélectionnez le LVM Region Manager. Cliquez sur Next. [10][Note] NOTE Il pourrait arriver qu'apparaissent des gestionnaires de région supplémentaires qui ne se trouvaient pas dans la liste de sélection pendant la création du conteneur de stockage, car tous les gestionnaires de région ne sont pas obligés de prendre en charge les conteneurs. 3. Sélectionnez la région d'espace libre depuis le conteneur que vous avez créé dans Chapter 8, Création d'un conteneur. Vérifiez que la région s'appelle lvm/Exemple de conteneur/Freespace. Cliquez sur Next. Les champs de la fenêtre suivante représentent les options pour le plug-in de gestionnaire de région LVM, les options marquées d'un "*" étant obligatoires. 4. Inscrivez le nom, Exemple de région. 5. Entrez 1000MB dans le champ size (taille). 6. Cliquez sur le bouton Create pour terminer l'opération. Une fenêtre s'ouvre pour afficher le résultat. Autre possibilité : vous pouvez effectuer certaines de ces étapes de création d'une région avec le menu contextuel de l'interface : 1. Dans l'onglet Regions, faites un clic droit sur lvm/Exemple de conteneur/Freespace. 2. Cliquez sur Create Region. 3. Continuez en commençant à l'étape 4 des instructions de l'interface. 2.2. Utilisation de Ncurses Pour créer une région, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Region. 2. Sélectionnez le LVM Region Manager. Activez Next. 3. Sélectionnez la région d'espace libre depuis le conteneur que vous avez créé précédemment dans Chapter 8, Création d'un conteneur. Vérifiez que cette région s'appelle lvm/Exemple de conteneur/Freespace. 4. Défilez jusqu'au champ Name, et appuyez sur barre d'espace. 5. Tapez Exemple de région à l'invite "::". Appuyez sur Entrée. 6. Défilez jusqu'au champ size, et appuyez sur barre d'espace. 7. Tapez 1000MB à l'invite "::". Appuyez sur Entrée. 8. Activez Create. Autre possibilité : vous pouvez effectuer certaines des étapes de création d'une région avec le menu contextuel : 1. Dans la vue des régions de stockage, appuyez sur Entrée sur lvm/Exemple de conteneur/Freespace. 2. Activez l'élément de menu Create Region menu item. 3. Continuez en commençant à l'étape 4 des instructions de Ncurses. 2.3. Utilisation du CLI Créez des régions avec la commande Create. Les arguments pour la commande Create sont les suivants : la région mot-clé, le nom du gestionnaire de région à utiliser, les options des gestionnaires de région, et les objets à consommer. La commande a la forme suivante : Create:region, LvmRegMgr={name="Exemple de région", size=1000MB},"lvm/Exemple de conteneur/Freespace" Le gestionnaire de région LVM prend en charge plusieurs options pour créer des régions. Pour voir les options disponibles pour créer des régions et des conteneurs, utilisez la requête [Query] suivante : query:plugins,plugin=LvmRegMgr,list options Chapter 10. Création de liens de disque Table of Contents 1. Qu'est-ce que le lien de disque? 2. Comment le lien de disque est implémenté 3. Création d'un lien de disque 4. Exemple: créez un lien de disque 4.1. Utilisation de l'interface d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI 5. Extension d'un lien de disque 6. Réduction d'un lien de disque 7. Suppression d'un lien de disque Ce chapitre traite de la fonctionnalité de lien de disque d'EVMS qui est implémentée par le plug-in de lien de disque, et explique comment créer, agrandir, réduire et supprimer un lien de disque. 1. Qu'est-ce que le lien de disque? Le lien de disque concatène linéairement des objets, ce qui permet de créer des objets de stockage et des volumes plus grands à partir d'éléments séparés plus petits. Par exemple, disons que vous avez besoin d'un volume de 1 Go mais que vous n'avez pas d'espace contigu de cette taille disponible. Le lien de disque permet de relier 2 objets ou plus pour former un volume de 1 Go. Les types d'objet pouvant être reliés de cette façon incluent les disques, segments, régions et autres objets de fonctionnalités. Tout redimensionnement d'un lien de disque existant, que ce soit pour l'agrandir ou le réduire, doit être coordonné avec les opérations de système de fichier appropriées. EVMS gère ces opérations de système de fichier automatiquement. Comme le lien de disque est une fonctionnalité spécifique à EVMS contenant des méta-données, il n'est pas rétro-compatible avec d'autres systèmes de gestion de volume. 2. Comment le lien de disque est implémenté Le plug-in de lien de disque consomme des objets de stockage appelés objets de lien ; ils produisent un objet de lien de disque plus grand dont l'espace d'adresse couvre l'ensemble des objets de lien. Le plug-in de lien de disque sait comment assembler les objets de lien de façon à créer exactement le même espace d'adresse à chaque fois. Les informations nécessaires pour faire cela sont gardées sur chaque lien fils comme métadonnées de lien de disque persistantes. Pendant la découverte, le plug-in de lien de disque inspecte chaque objet de stockage connu pour rechercher ces métadonnées. La présence de ces métadonnées permet d'identifier l'objet de stockage comme objet de lien. Les informations contenues dans les métadonnées sont suffisantes pour : * identifier l'objet de lien lui-même. * identifier l'objet de stockage de lien de disque auquel l'objet de lien appartient. * identifier tous les objets de lien appartenant à l'objet de stockage de lien de disque. * établir l'ordre dans lequel combiner les objets de lien fils. Si des objets de lien manquent à la fin du processus de découverte, l'objet de stockage de lien de disque présente des vides là où il y a absence d'objets de lien. Dans ces cas-là, le plug-in de lien de disque essaie de combler le vide avec un objet de lien de remplacement et de construire l'objet de stockage de lien de disque en mode lecture seule, ce qui permet l'action de récupération. L'objet manquant pourrait se trouver sur un stockage amovible qui a été retiré, ou peut-être qu'un plug-in de couche plus basse a échoué lors de la production de l'objet manquant. Quelle que soit la raison, un objet de stockage de lien de disque en lecture seule, en utilisant la journalisation des erreurs, permet d'effectuer les actions appropriées pour récupérer le lien de disque. 3. Création d'un lien de disque Le plug-in de lien de disque fournit une liste des objets utilisables depuis lesquels il peut créer un objet de lien de disque. Lorsque vous créez un objet de stockage EVMS puis que vous choisissez le plug-in de lien de disque, il est fourni une liste des objets utilisables dans laquelle vous pouvez faire votre choix. L'ordonnancement du lien de disque est déduit de l'ordre dans lequel vous choisissez les objets de la liste fournie. Après avoir donné un nom au nouvel objet de lien de disque, les objets de lien identifiés sont consommés et le nouvel objet de lien de disque est produit. Le nom du nouvel objet est la seule option lors de la création d'un lien de disque. Seul le dernier objet dans un lien de disque peut être agrandi, réduit ou supprimé. De plus, un nouvel objet ne peut être ajouté à la fin d'un lien de disque existant que si le système de fichier (s'il existe) le permet. Tout redimensionnement d'un lien de disque, que ce soit pour l'agrandir ou le réduire, doit être coordonné avec les opérations de système de fichier appropriées. EVMS gère ces opérations de système de fichier automatiquement. 4. Exemple: créez un lien de disque Cette section montre comment créer un lien de disque avec EVMS : Example 10.1. Créez un lien de disque Créez un lien de disque composé de sde4 et hdc2, et nommez-le "dl". 4.1. Utilisation de l'interface d'EVMS Pour créer un lien de disque en utilisant l'interface, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Feature Object (objet de fonctionnalité) pour voir une liste des fonctionnalités EVMS. 2. Sélectionnez Drive Linking Feature (fonctionnalité de lien de disque). 3. Cliquez sur Next. 4. Cliquez sur les objets qui composeront le lien de disque : sde4 et hdc2. 5. Cliquez sur Next. 6. Tapez dl dans le champ "name [nom]" 7. Cliquez sur Create. La dernière fenêtre de dialogue présente l'objet d'espace libre que vous avez sélectionné, ainsi que les options de configuration disponibles pour cet objet. Autre possibilité : vous pouvez effectuer certaines des étapes pour créer un lien de disque avec le menu contextuel de l'interface : 1. Dans l'onglet Available Objects (objets disponibles), faites un clic droit sur sde4. 2. Cliquez sur Create Feature Object... (créer un objet de fonctionnalité) 3. Continuez la création du lien de disque en commençant à l'étape 2 des instructions de l'interface. A l'étape 4, sde4 est automatiquement sélectionné. Vous pouvez également sélectionner hdc2. 4.2. Utilisation de Ncurses Pour créer le lien de disque, suivez ces étapes : 1. Sélectionnez Actions -> Create -> Feature Object pour voir une liste des fonctionnalités EVMS. 2. Sélectionnez Fonctionnalité de lien de disque. 3. Activez Next. 4. Utilisez barre d'espace pour sélectionner les objets qui composeront le lien de disque : sde4 et hdc2. 5. Activez Next. 6. Appuyez sur barre d'espace pour éditer le champ Name. 7. Tapez dl à l'invite "::". Appuyez sur Entrée. 8. Activez Create. Autre possibilité : vous pouvez effectuer certaines des étapes pour créer un lien de disque avec le menu contextuel : 1. Depuis la vue Available Objects (objets disponibles), appuyez sur Entrée sur sde4. 2. Activez l'élément de menu Create Feature Object (créer objet de fonctionnalité). 3. Continuez la création de lien de disque en commençant à l'étape 4 des instructions Ncurses. sde4 sera présélectionné. Vous pouvez aussi sélectionner hdc2. 4.3. Utilisation du CLI Utilisez la commande create pour créer un lien de disque avec le CLI. Vous passez le mot-clé "object" à la commande create, suivi du plug-in et de ses options, puis finalement les objets. Pour déterminer les options pour le plug-in que vous allez utiliser, entrez la commande suivante : query: plugins, plugin=DriveLink, list options Maintenant construisez la commande create comme suit : create: object, DriveLink={Name=dl}, sde4, hdc2 5. Extension d'un lien de disque Un lien de disque est un objet de stockage agrégé qui se construit en combinant un certain nombre d'objets de stockage pour donner un objet plus grand. Un lien de disque consomme des objets de lien dans le but de produire un objet de stockage plus grand. L'ordonnancement des objets de lien ainsi que le nombre de secteurs que chacun apporte est décrit dans les métadonnées du lien de disque. Les métadonnées permettent au plug-in de lien de disque de recréer le lien de disque, en couvrant l'ensemble des objets de lien d'une manière cohérente. Autoriser l'un ou l'autre de ces objets de lien à s'étendre pourrait corrompre la taille et l'ordonnancement des objets de lien ; l'ordonnancement des objets de lien est vital pour le bon fonctionnement du lien de disque. Cependant, l'extension d'un lien de disque peut être contrôlé en ne permettant aux secteurs d'être ajoutés qu'à la fin de l'objet de stockage de lien de disque. Cela ne perturbe aucunement l'ordonnancement des objets de lien, et comme les secteurs ne sont ajoutés qu'à la fin du lien de disque, les secteurs existants ont la même adresse (numéro de secteur logique) qu'avant l'extension. Un lien de disque peut donc être étendu en ajoutant des secteurs supplémentaires de deux manières différentes : * en ajoutant un objet de stockage supplémentaire à la fin du lien de disque. * par l'extension du dernier objet de stockage du lien de disque. Si le point d'extension est l'objet de stockage de lien de disque, on peut effectuer l'extension en ajoutant au lien de disque des objets de stockage supplémentaires. Cela se fait pendant l'opération d'extension, en choisissant dans une liste les objets utilisables. Plusieurs objets peuvent être sélectionnés et ajoutés au lien de disque. Si le point d'extension est le dernier objet de stockage du lien de disque, on peut étendre le lien de disque en interagissant avec le plug-in qui a créé l'objet. Par exemple, si le lien était un segment, le plug-in de gestionnaire de segment qui a produit l'objet de stockage peut étendre l'objet de lien. Après cela, le plug-in de lien de disque remarque la différence de taille et met à jour les métadonnées du lien de disque pour répercuter le redimensionnement de l'objet fils. Il n'y a pas d'options pour l'extension. 6. Réduction d'un lien de disque Les mêmes restrictions s'appliquent à la réduction d'un lien de disque qu'à son extension. Un objet de lien de disque ne peut être réduit qu'en retirant les secteurs à la fin du lien de disque. Cela peut être fait des façons suivantes : * en retirant des objets de lien à la fin du lien de disque. * en réduisant le dernier objet de stockage dans le lien de disque. Le plug-in de lien de disque essaie d'organiser la réduction d'un objet de stockage de lien de disque en n'affichant que le dernier objet de lien. Si vous sélectionnez cet objet, le plug-in de lien de disque affiche alors l'avant-dernier objet de lien, et ainsi de suite, en remontant d'un objet de lien à l'autre pour répondre à la commande de réduction. Si le point de réduction est le dernier objet de stockage du lien de disque, on réduit le lien de disque en interagissant avec le plug-in qui a produit cet objet. Il n'y a pas d'options de réduction. 7. Suppression d'un lien de disque Un lien de disque peut être supprimé tant qu'il n'est pas un volume de compatibilité, un volume EVMS ou consommé par un autre plug-in EVMS. Il n'y a pas d'options disponibles pour la suppression d'un objet de stockage de lien de disque. Chapter 11. Création des instantanés Table of Contents 1. Définition d'un instantané de volume 2. Création d'objets instantané de volume 3. Exemple : Création d'un instantané de volume 3.1. Utilisation de l'interface EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 4. Réinitialisation d'un instantané de volume : 4.1. Utilisation de l'interface EVMS ou de Ncurses 4.2. Utilisation du CLI 5. Extension d'un instantané de volume 5.1. Utilisation de l'interface EVMS ou de Ncurses 5.2. Utilisation du CLI 6. Suppression d'un instantané de volume 7. Restauration d'un instantané de volume 7.1. Utilisation de l'interface EVMS ou de Ncurses 7.2. Utilisation du CLI Ce chapitre traite des instantanés de volumes et de leurs créations. 1. Définition d'un instantané de volume Un instantané de volume représente une "image figée" d'un volume. Le volume source d'un instantané de volume s'appelle un "original". Lorsqu'un instantané de volume est créé, il est strictement identique à l'original tel qu'il est à ce moment précis de sa création. Quand des changements sont effectués sur l'original, l'instantané de volume ne change pas et reste identique à l'original tel qu'il était au moment où l'instantané a été créé. L'opération de création d'instantanés de volumes permet de garder un volume en fonctionnement au moment où la sauvegarde est créée. Cette méthode est beaucoup plus pratique qu'une sauvegarde de données qui oblige à arrêter le volume pour obtenir une sauvegarde cohérente. Pour la sauvegarde avec un instantané de volume, un instantané de volume du volume est créé, puis une sauvegarde est faite à partir de cet instantané, l'original reste alors utilisable durant toute l'opération. 2. Création d'objets instantané de volume Vous pouvez créer un objet instantané de volume à partir de n'importe quel objet de stockage non utilisé dans EVMS (disques, segments, régions, ou objets de fonctions). La taille de l'objet utilisé est la taille disponible pour l'objet instantané de volume. L'objet instantané de volume peut être plus petit ou plus grand que le volume original. Si l'objet est plus petit, le volume de l'instantané de volume pourra se remplir complètement étant donné que les données sont copiées de l'original vers l'instantané de volume, ce qui permet de laisser à l'original un niveau d'activité suffisant. Dans cette situation, l'instantané de volume est désactivé et les entrées/sorties supplémentaires sur l'instantané de volume échouent. La taille de l'objet instantané de volume sera basée sur le niveau d'activité qui sera susceptible d'exister sur l'original tout au long de la durée de vie de l'instantané de volume. Plus il y a de changements qui interviennent sur l'original et plus la durée prévue que l'instantané de volume reste actif sera longue, plus la taille de l'objet instantané de volume devra être importante. Il est clair que ce calcul n'est pas simple à faire et se fera nécessairement par tâtonnements afin de déterminer la taille adéquate de l'objet instantané de volume à utiliser pour une situation donnée. L'objectif est de créer un objet instantané de volume, ni trop petit pour éviter une désactivation si l'instantané de volume remplit le volume, ni trop grand pour ne pas gaspiller l'espace disque. Dans le cas où l'objet instantané de volume est de la même taille ou un peu plus grand que l'original, pour prendre en compte les tables de correspondances de l'instantané de volume, l'instantané de volume n'est jamais désactivé. Après avoir créé l'objet instantané de volume et enregistré les changments, l'instantané de volume sera activé (à condition que l'objet fils de l'instantané soit déjà actif). Cela représente un changement par rapport aux instantanés de volumes de EVMS 2.3.x et de ses versions précédentes, où l'instantané de volume n'était pas activé tant que l'objet n'était pas transformé en un volume EVMS. Si vous souhaitez avoir un instantané de volume inactif, ajoutez le nom de l'objet instantané de volume à la ligne «activate.exclude» dans le fichier de configuration EVMS (voir la section concernant l'activation sélective pour plus d'informations). Si à un moment ou à un autre vous décidez de désactiver un objet instantané de volume alors que le volume original est toujours actif, l'instantané de volume sera réinitialisé. La prochaine fois que l'objet instantané de volume sera activé, il reflétera l'état du volume original à ce moment précis, comme si l'instantané de volume venait d'être créé. Afin de monter l'instantané de volume, il reste encore à convertir l'objet instantané de volume en volume EVMS. Le volume peut avoir le même nom que l'objet de l'instantané de volume, ou un autre nom. 3. Exemple : Création d'un instantané de volume Cette section détaille la façon de créer un instantané de volume avec EVMS : Example 11.1. Création de l'instantané de volume d'un volume Créez un nouvel instantané de volume de /dev/evms/vol sur lvm/Sample Container/Sample Region, et appelez le "snap". 3.1. Utilisation de l'interface EVMS Pour créer l'instantané de volume en utilisant cette interface, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Feature Objects pour obtenir la liste des objets de fonction d'EVMS. 2. Sélectionnez Snapshot Feature. 3. Cliquez sur Next. 4. Sélectionnez lvm/Sample Container/Sample Region 5. Cliquez sur Next. 6. Sélectionnez /dev/evms/vol dans la liste du champ "Volume to be Snapshotted". 7. Tapez snap dans le champ "Snapshot Object Name". 8. Cliquez sur Create. On peut aussi effectuer la plupart des étapes de création de l'instantané de volume grâce au menu contextuel de l'interface : 1. À partir de l'onglet Available Objects, faites un clic droit sur lvm/Sample Container/Sample Region. 2. Cliquez sur Create Feature Object... 3. Poursuivez la création de l'instantané de volume en reprenant à l'étape 2 des indications données pour l'interface. Vous pouvez sauter les étapes 4 et 5 de ces indications . 3.2. Utilisation de Ncurses Pour créer l'instantané de volume, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Feature Objects pour obtenir la liste des objets de fonction d'EVMS. 2. Sélectionnez Snapshot Feature. 3. Activez Next. 4. Sélectionnez lvm/Sample Container/Sample Region. 5. Activez Next. 6. Appuyez sur la barre d'espace pour éditer le champ "Volume to be Snapshotted". 7. Mettez en surbrillance /dev/evms/vol et appuyez sur la barre d'espace pour sélectionner. 8. Activez OK. 9. Mettez en surbrillance "Snapshot Object Name" et appuyez sur la barre d'espace pour éditer. 10. Tapez snap à l'invite « :: ». Appuyez sur Entrée. 11. Activez Create. Autre possibilité, vous pouvez effectuer certaines de ces étapes à partir du menu contextuel : 1. À partir de la vue Available Objects, pressez Entrée sur lvm/Sample Container/Sample Region. 2. Activer l'élément Create Feature Object du menu. 3. Poursuivez la création de l'instantané de volume en reprenant à l'étape 6 des indications pour Ncurses. 3.3. Utilisation du CLI Utilisez la commande create pour créer un instantané de volume grâce au CLI. Passez le mot-clé "Object" en argument de la commande create, suivi du plug-in et de ses options, et enfin les objets. Pour déterminer les options pour le plug-in que vous allez utiliser, entrez la commande suivante : query: plugins, plugin=Snapshot, list options Et maintenant construisez la commande create, comme suit : create: object, Snapshot={original=/dev/evms/vol, snapshot=snap}, "lvm/Sample Container/Sample Region" 4. Réinitialisation d'un instantané de volume : Les instantanés de volumes peuvent être réinitialisés. Une réinitialisation provoque la suppression des données enregistrées et, dès cet instant, un nouvel instantané de volume est lancé. Un instantané de volume réinitialisé possède le même volume original, la même taille et les mêmes drapeaux inscriptibles que l'instantané de volume d'origine. Pour réinitialiser un instantané de volume, utilisez la commande Reset sur l'objet de l'instantané de volume (et non sur le volume de l'instantané de volume). Cette commande réinitialise l'instantané de volume sans que l'on soit obligé de désactiver et de réactiver manuellement le volume. L'instantané de volume doit être actif, mais démonté pour être réinitialisé. Cette section reprend l'exemple de la section précédente, où il s'agissait de créer un objet instantané de volume et un volume. L'objet instantané de volume s'appelle "snap" et le volume "/dev/evms/snap". 4.1. Utilisation de l'interface EVMS ou de Ncurses Pour réinitialiser un instantané de volume, suivez les étapes ci dessous : 1. Sélectionnez Actions -> Other -> Storage Object Tasks 2. Sélectionnez le volume "snap". 3. Cliquez sur ou activez Next. 4. Sélectionnez Reset. 5. Cliquez sur ou activez Next. 6. Cliquez sur ou activez Reset sur le panneau d'action. 7. Cliquez sur ou activez Reset sur le panneau d'alerte. Autre possibilité: on peut effectuer ces mêmes étapes à partir du menu contextuel : 1. À partir du panneau Feature Objects, faites un clic droit (ou appuyez sur Entrée) sur l'objet snap. 2. Cliquez sur ou activez Reset dans le menu contextuel. 3. Cliquez sur ou activez Reset dans le panneau d'action. 4. Cliquez sur ou activez Reset dans le panneau d'alerte. 4.2. Utilisation du CLI Pour réinitialiser un instantané de volume avec le CLI, suivez les étapes ci-dessous : 1. Exécutez la commande suivante dans le CLI : task : reset, snap 2. Pressez Entrée pour sélectionner "Reset" (le choix par défaut) lors du message d'alerte. 5. Extension d'un instantané de volume Comme nous l'avons mentionné dans la section 11.2, comme les données sont copiées du volume original vers le volume de l'instantané de volume, l'espace disque disponible prévu pour l'instantané de volume peut se remplir complètement, générant ainsi l'invalidation de l'instantané de volume. Une telle situation peut provoquer la fin prématurée de la sauvegarde des données, puisque le volume de l'instantané de volume commencera à retourner des erreurs d'entrée/sortie après son invalidation. Pour résoudre ce problème, EVMS a désormais la capacité d'étendre l'espace de stockage pour un objet de l'instantané de volume pendant que le volume de l'instantané de volume est actif et monté. Cette fonction permet de créer au départ un objet de l'instantané de volume de petite taille, puis d'étendre la taille de l'objet au fur et à mesure que l'espace se remplit. Afin d'étendre l'objet instantané de volume, les objets sous-jacents doivent être extensibles. Reprenons l'exemple de la section précédente, l'objet "snap" est construit sur la région LVM lvm/Sample Container/Sample Region. Quand nous parlons de l'extension de l'objet "snap", l'objet qui est en fait étendu est la région lvm/Sample Container/Sample Region, et l'objet "snap" utilise simplement le nouvel espace disponible sur cette région. Ainsi pour avoir un instantané de volume extensible, il faudra donc normalement créer l'objet instantané au-dessus des régions LVM qui ont de l'espace libre disponible supplémentaire dans leur conteneur LVM. Les objets de lien de disque [DriveLink] et certains segments de disques peuvent aussi fonctionner dans certaines conditions. On peut noter un aspect assez particulier de l'extension d'un instantané de volume : l'objet instantané et le volume ne semblent pas en fait s'étendre une fois l'opération terminée. Du fait que l'instantané de volume est sensé être une image figée du volume original, le volume de l'instantané de volume a toujours la même taille que l'original, même si l'instantané de volume a été étendu. Cependant, on peut vérifier que l'objet de l'instantané de volume utilise l'espace supplémentaire en affichant les détails de l'objet instantané de volume et en comparant le champ pourcentage de rempli [percent-full] avant et après l'opération d'extension. 5.1. Utilisation de l'interface EVMS ou de Ncurses Pour créer l'instantané de volume avec l'interface ou avec Ncurses, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Expand -> Volume pour obtenir la liste des objets de fonction EVMS. 2. Sélectionnez le volume /dev/evms/snap. 3. Cliquez sur ou activez Next. 4. Sélectionnez lvm/Sample Container/Sample Region. C'est cet objet-là qui sera effectivement étendu. 5. Cliquez sur ou activez Next. 6. Sélectionnez les options pour l'extension de la région LVM, y compris la quantité d'espace libre supplémentaire à ajouter à la région. 7. Cliquez sur ou activez Expand. Autre possibilité: on peut effectuer les mêmes étapes en utilisant le menu contextuel. 1. À partir du panneau Volume, faites un clic droit (ou appuyez sur Entrée) sur /dev/evms/snap. 2. Sélectionnez Expand à partir du menu contextuel. 3. Cliquez sur ou activez Next. 4. Sélectionnez la région lvm/Sample Container/Sample Region. C'est l'objet qui sera réellement étendu. 5. Cliquez sur ou activez Next. 6. Sélectionnez les options pour l'extension de la région LVM, y compris la quantité d'espace libre supplémentaire à ajouter à la région. 7. Cliquez sur ou activez Expand. 5.2. Utilisation du CLI Le CLI étend les volumes en ciblant les objets à étendre. Le CLI gère automatiquement l'extension des volumes et des autres objets au-dessus du volume dans le stock de volume. Comme pour une opération d'extension normale, le plug-in de l'objet à étendre détermine les options. Exécutez la commande suivante pour déterminer les options pour l'extension de la région lvm/Sample Container/Sample Region : query:region, region=« lvm/Sample Container/Sample Region »,lo L'option à utiliser pour l'extension de cette région s'appelle "add_size". Exécutez la commande ci-après pour étendre l'instantané de volume de 100 Mo : expand:« lvm/Sample Container/Sample Region », add_size=100MB 6. Suppression d'un instantané de volume Lorsqu'un instantané de volume n'est plus nécessaire, il est possible de l'enlever en supprimant le volume EVMS de l'objet instantané de volume, et ensuite en supprimant l'objet instantané de volume. Comme l'instantané de volume a enregistré l'état initial du volume original (et non le changement d'état), l'original est en permanence à jour et ne nécessite aucune modification lors de la suppression de l'instantané de volume. 7. Restauration d'un instantané de volume Dans certaines situations, l'utilisateur peut vouloir restaurer le volume original à l'état où il était avec l'instantané de volume enregistré. Cette opération s'appelle une restauration [rollback]. Un tel scénario peut apparaître si les données du volume original sont perdues ou corrompues. La restauration de l'instantané de volume agit comme un mécanisme rapide de secours et de restauration, et il permet à l'utilisateur d'éviter une plus longue opération de restauration à partir de bandes ou autres archives. Une autre situation où la restauration peut être particulièrement utile est quand vous testez un nouveau logiciel. Avant l'installation d'un nouveau logiciel, créez un instantané de volume, ayant les droits d'écriture, sur le volume cible. Vous pouvez ensuite installer le logiciel sur le volume de l'instantané de volume, au lieu de l'original, et ensuite tester et vérifier ce nouveau logiciel sur l'instantané de volume. Si le test est réussi, vous pouvez alors restaurer l'instantané de volume à la place de l'original, et ainsi installer le logiciel sur le système normal. Si un problème apparaît durant le test, il suffit simplement de supprimer l'instantané de volume, sans abîmer le volume original. On peut effectuer une restauration lorsque les conditions suivantes sont remplies : l'instantané de volume et le volume original doivent être démontés ou sinon inutilisés, il n'y a qu'un seul instantané de volume pour un original. Si un original a plusieurs instantanés de volumes, les instantanés de volumes non désirés doivent être supprimés avant que la restauration puisse avoir lieu. 7.1. Utilisation de l'interface EVMS ou de Ncurses Suivez les étapes ci-dessous pour restaurer un instantané avec EVMS ou Ncurses : 1. Sélectionnez Actions -> Other -> Storage Objects Tasks 2. Sélectionnez l'objet "snap". 3. Cliquez sur ou activez Next. 4. Sélectionnez Rollback. 5. Cliquez sur ou activez Next. 6. Cliquez sur ou activez Rollback sur le panneau action. 7. Cliquez sur ou activez Rollback sur le panneau alerte. Autre possibilité: on peut effectuer ces mêmes étapes avec le menu contextuel : 1. À partir du panneau Feature Objects, faites un clic droit (ou appuyer sur Entrée) sur l'objet "snap". 2. Cliquez sur ou activez Rollback dans le menu contextuel. 3. Cliquez sur ou activez Rollback sur le panneauorderedlist action. 4. Cliquez sur ou activez Rollback sur le panneau alerte. 7.2. Utilisation du CLI Suivez les étapes ci-dessous pour une restauration avec le CLI : 1. Exécutez la commande suivante dans le CLI : task:rollback, snap 2. Appuyez sur Entrée pour sélectionner "Rollback" (le choix par défaut) lors du message d'alerte. Chapter 12. Création de volumes Table of Contents 1. Quand créer un volume ? 2. Exemple : Création d'un volume natif d'EVMS 2.1. Utilisation de l'interface EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : création d'un volume compatible 3.1. Utilisation de l'interface 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI Ce chapitre explique quand et comment créer des volumes. 1. Quand créer un volume ? EVMS traite les objets de stockage et les volumes séparément. Un objet de stockage ne devient pas automatiquement un volume. Il faut le transformer en volume. Les volumes se créent à partir des objets de stockage. Les volumes sont soit des volumes natifs d'EVMS, soit des volumes compatibles. Les volumes compatibles sont prévus pour être compatibles avec un gestionnaire de volumes autre qu'EVMS, tel que Linux LVM, MD, OS/2 ou AIX. Les volumes compatibles peuvent avoir des restrictions sur ce qu'EVMS peut faire avec eux. Les volumes natifs d'EVMS n'ont pas de telles restrictions, mais ils ne peuvent être utilisés que sur des systèmes équipés avec EVMS. Les volumes sont montables et peuvent contenir des systèmes de fichiers. Les volumes natifs d'EVMS contiennent des informations spécifiques à EVMS afin d'identifier le nom du volume. Après que les informations du volume sont appliquées, le volume n'est plus complètement rétro-compatible avec les types de volumes existants. Au lieu d'ajouter des métadonnées EVMS à un objet existant, on peut indiquer à EVMS de faire un objet directement disponible en tant que volume. C'est ce qu'on appelle un volume compatible. En utilisant cette méthode, le produit final est complètement rétro-compatible avec le système souhaité. 2. Exemple : Création d'un volume natif d'EVMS Cette partie explique en détail comment créer un volume natif d'EVMS avec EVMS en fournissant les instructions pour vous aider à effectuer les tâches suivantes. Example 12.1. Créer un volume natif d'EVMS Créer un volume natif d'EVMS appelé "Sample Volume" à partir de la région, /lvm/Sample Container/Region, que l'on a créée dans le chapitre 9. 2.1. Utilisation de l'interface EVMS Pour créer un volume EVMS : 1. SélectionnezActions -> Create -> EVMS Volume. 2. Choississez lvm/Sample Container/Sample Region. 3. Entrez Sample Volume dans le champ name. 4. Cliquez sur Create. On peut également effectuer certaines de ces étapes pour créer un volume EVMS à partir du menu contextuel de l'interface : 1. A partir de l'onglet Available Opions, faites un clic droit sur lvm/Sample Container/Sample Region. 2. Cliquez sur Create EVMS Volume... 3. Poursuivez à partir de l'étape 3 des instructions pour l'interface. 2.2. Utilisation de Ncurses Pour créer un volume : 1. Sélectionnez Actions -> Create -> EVMS Volume. 2. Entrez Sample Volume à l'invite "name". Appuyez sur Entrée. 3. Activez Create. On peut aussi effectuer certaines des étapes pour créer un volume EVMS à partir du menu contextuel : 1. A partir de la vue Available Objects, faites Entrée sur lvm/Sample Container/Sample Region. 2. Activez l'élément Create EVMS Volume du menu. 3. Poursuivez à partir de l'étape 3 des instructions Ncurses. 2.3. Utilisation du CLI Pour créer un volume, utilisez la commande Create. Les arguments que la commande Create accepte dépendent de ce que l'on est en train de créer. Dans notre exemple, le premier argument est le mot-clé volume qui précise ce que l'on est en train de créer. Le deuxième argument est l'objet à transformer en volume, dans notre caslvm/Sample Container/Sample Region. Le troisième argument est spécifique au type pour un volume EVMS, Name=, suivi du nom que vous voulez donner au volume, dans notre cas Sample Volume. La commande suivante crée le volume de l'exemple : Create: Volume, «lvm/Sample Container/Sample Region», Name=«Sample Volume» 3. Exemple : création d'un volume compatible Cette partie explique en détail comment créer un volume compatible avec EVMS, en fournissant les instructions pour vous aider à accomplir les tâches suivantes. Example 12.2. Création d'un volume compatible Créez un volume compatible appelé "Sample Volume" à partir de la région, /lvm/Sample Container/Region, que vous avez créée au chapitre 9. 3.1. Utilisation de l'interface Pour créer un volume compatible : 1. Sélectionnez Actions -> Create -> Compatibility Volume. 2. Choisissez dans la liste la région lvm/Sample Container/Sample Region. 3. Cliquez sur le bouton Create. 4. Cliquez sur l'onglet Volume dans l'interface pour voir le volume nommé /dev/evms/lvm/Sample Container/Sample Region. Ce volume est notre volume compatible. On peut aussi effectuer certaines des étapes pour créer un volume compatible à partir du menu contextuel de l'interface : 1. A partir de l'onglet Available Objects, faites un clic droit sur lvm/Sample Container/Sample Region. 2. Cliquez sur Create Compatibility Volume... 3. Poursuivez à partir de l'étape 3 des instructions pour l'interface. 3.2. Utilisation de Ncurses Pour créer un volume compatible : 1. Sélectionnez Actions -> Create -> Compatibility Volume. 2. Choisissez dans la liste la région lvm/Sample Container/Storage Region. 3. Activez Create. On peut aussi effectuer certaines des étapes pour créer un volume compatible à partir du menu contextuel : 1. A partir de la vue Available Objects, faites Entrée sur lvm/Sample Container/Sample Region. 2. Activez dans le menu l'élément Create Compatibility Volume. 3. Poursuivez à partir de l'étape 3 des instructions de Ncurses. 3.3. Utilisation du CLI Pour créer un volume, utilisez la commande Create. Les arguments que la commande Create accepte dépendent de ce que l'on est en train de créer. Dans notre exemple, le premier argument est le mot-clé volume qui précise ce que l'on est en train de créer. Le deuxième argument est l'objet à transformer en volume, dans notre cas lvm/Sample Container/Sample Region. Le troisième argument, compatibility, indique que c'est un volume compatible et qu'il devrait être nommé ainsi. Create:Volume,«lvm/Sample Container/Sample Region»,compatibility Chapter 13. Les FSIM et les opérations sur le système de fichiers Table of Contents 1. Les FSIM supportés par EVMS 1.1. JFS 1.2. XFS 1.3. ReiserFS 1.4. Ext2/3 1.5. SWAPFS 1.6. OpenGFS 1.7. NTFS 2. Exemple : ajoutez un système de fichiers à un volume 2.1. Utilisation de l'interface EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : contrôle d'un système de fichiers. 3.1. Utilisation de l'interface EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI Dans cette partie nous abordons les sept modules interfaces de système de fichiers (FSIM [File System Interface Module]) fournis avec EVMS, puis nous proposons des exemples d'ajout de systèmes de fichiers et de coordination des vérifications des systèmes de fichiers par l'intermédiaire de FSIM. 1. Les FSIM supportés par EVMS EVMS est actuellement fourni avec sept FSIM. Ces modules de système de fichiers permettent à EVMS d'interagir avec les utilitaires de système de fichiers tels que mkfs et fsck. En plus de cela, les FSIM garantissent qu'EVMS effectue de façon sécurisées les opérations telles que l'extension ou la réduction des systèmes de fichiers, en coordonnant ces actions avec le système de fichiers. On peut lancer des opérations comme mkfs et fsck grâce aux différentes interfaces utilisateurs d'EVMS. Aucune action que l'on lance par l'intermédiaire d'un FSIM n'est enregistrée sur le disque tant que les changements ne sont pas enregistrés dans l'interface utilisateur. Nous fournirons plus loin dans ce chapitre des exemples de création d'un nouveau système de fichiers et de coordination de la vérification des systèmes de fichiers par les interfaces GUI, Ncurses et ligne de commande d'EVMS. Les FSIM supportés par EVMS sont : JFS XFS ReiserFS Ext2/3 SWAPFS OpenGFS NTFS 1.1. JFS Le module JFS supporte le système de fichiers journal d'IBM (JFS). Le support actuel inclut mkfs, unmkfs, fsck et l'extension de système de fichiers en mode connecté. Il faut posséder au minimum la version 1.0.9 des utilitaires JFS pour que le système fonctionne avec ce FSIM d'EVMS. On peut télécharger la dernière version des utilitaires à partir du site JFS pour Linux. Pour plus d'informations sur le FSIM JFS, reportez-vous à l'annexe F. 1.2. XFS Le FSIM XFS supporte le système de fichier XFS de SGI. Le support de commande inclut mkfs, unmkfs, fsck et l'extension en mode connecté. Utilisez une version 1.2 ou supérieure, que vous pouvez télécharger à partir du répertoire FTP open source SGI. Pour plus d'informations sur le FSIM XFS, reportez-vous à l'annexe F. 1.3. ReiserFS Le module ReiserFS supporte le système de fichiers journal ReiserFS. Ce module supporte mkfs, unmkfs, fsck et les extensions en mode connecté ou non et les réductions autonomes. On a besoin de la version 3.x.1a ou supérieure des utilitaires ReiserFS pour l'utiliser avec les modules FSIM d'EVMS. On peut télécharger les utilitaires ReiserFS à partir du site web The Naming System Venture (Namesys). Pour plus d'informations sur le FSIM ReiserFS, reportez-vous à l'annexe H. 1.4. Ext2/3 Le FSIM EXT2/EXT3 supporte les deux formats de système de fichiers ext2 et ext3. Le FSIM supporte mkfs, unmkfs, fsck et l'extension ou la réduction autonomes. Pour plus d'informations sur le FSIM Ext2/3, reportez-vous à l'annexe I. 1.5. SWAPFS Le FSIM SWAPFS supporte les dispositifs swap de Linux. Le FSIM permet de créer et de supprimer les dispositifs swap, et il supporte mkfs, unmkfs, la réduction et l'extension. Actuellement, vous êtes responsable du lancement des commandes swapon et swapoff, soit dans les scripts de démarrage soit manuellement. On peut redimensionner le dispositif swap avec le FSIM SWAPFS tant que le dispositif n'est pas en marche. 1.6. OpenGFS Le module OpenGFS supporte le système de fichiers journal groupés. Ce module supporte mkfs, unmkfs, fsck et l'extension en mode connecté. On a besoin des utilitaires OpenGFS pour l'utiliser avec le module FSIM d'EVMS. On peut télécharger les utilitaires OpenGFS à partir du projet OPENGFS sur SourceForge. Pour plus d'informations sur le FSIM OpenGFS, reportez-vous à l'annexe J. 1.7. NTFS Le FSIM NTFS supporte le format de système de fichiers NTFS. Le FSIM supporte mkfs, unmkfs, et l'extension et la réduction autonomes. Il est également compatible pour l'exécution du ntfsfix et du netfsclone à partir des utilitaires ntfsprogs. On peut télécharger les utilitaires ntfsprog à partir du site web du projet Linux NTFS. Pour plus d'informations sur le FSIM NTFS, reportez-vous à l'annexe K. 2. Exemple : ajoutez un système de fichiers à un volume Après avoir fait un volume EVMS ou de compatibilité, ajoutez un système de fichiers au volume avant de le monter. Vous pouvez ajouter un système de fichiers à un volume à partir de l'interface EVMS de votre choix. Example 13.1. Ajout d'un système de fichiers JFS à un volume. Dans cet exemple, on crée un nouveau système de fichier JFS, nommé jfs_vol, sur le volume /dev/evms/my_vol. 2.1. Utilisation de l'interface EVMS Pour créer un système de fichiers JFS avec l'interface EVMS : 1. Sélectionnez Actions -> File Systems -> Make. 2. Sélectionnez JFS File System Interface Module. 3. Cliquez sur Next. 4. Sélectionnez /dev/evms/my_vol. 5. Cliquez sur Next. 6. Entrez jfs_vol dans le champ "Volume Label". Personnalisez avec toutes les autres options qui vous intéressent. 7. Cliquez sur Make. 8. Enregistrez : l'opération est terminée. Autre possibilité, on peut effectuer certaines des étapes pour créer un système de fichier avec le menu contextuel de l'interface : 1. À partir de l'onglet Volumes, faites un clic droit sur /dev/evms/my_vol. 2. Cliquez sur Make Filsystem... 3. Poursuivez la création du système de fichier en commençant à l'étape 2 des instructions GUI. Vous pouvez passer l'étape 4 et 5 des instructions pour l'interface graphique. 2.2. Utilisation de Ncurses Pour créer un système de fichier JFS avec Ncurses : 1. SélectionnezActions -> File Systems -> Make. 2. Sélectionnez JFS File System Interface Module. 3. Activez Next. 4. Sélectionnez /dev/evsm/my_vol. 5. Activez Next. 6. Descendez en utilisant la flèche vers le bas, jusqu'à ce que Volume Label soit surligné. 7. Appuyez sur la barre d'espace. 8. À l'invite «::» entrez jfs_vol. 9. Appuyez sur Entrée. 10. Activez Make. Autre possibilité, on peut effectuer certaines des étapes pour créer un système de fichiers avec le menu contextuel : 1. À partir de la vue Volumes, faites Entrée sur /dev/evms/my_vol. 2. Activez l'élément Make Filesystem du menu. 3. Poursuivez la création du système de fichiers en commençant à l'étape 2 des instructions Ncurses. 2.3. Utilisation du CLI Utilisez la commande mkfs pour créer un nouveau système de fichiers. Les arguments de mkfs incluent le type du FSIM (dans notre exemple, JFS), suivi par des couples d'option, et enfin le nom du volume. La commande pour accomplir ceci est : mkfs: JFS={vollabel=jfs_vol}, /dev/evms/my_vol La commande se termine par l'enregistrement. Si vous êtes intéressé par les autres options que mkfs peut utiliser, jetez un oeil aux résultats de la requête suivante : query: plugins, plugin=JFS, list options 3. Exemple : contrôle d'un système de fichiers. On peut aussi coordonner les vérifications des systèmes de fichiers à partir des interfaces utilisateurs d'EVMS. Example 13.2. Vérification d'un système de fichiers JFS Cette exemple montre comment effectuer une vérification du système de fichiers sur un système de fichiers JFS, nommé jfs_vol, sur le volume /dev/evms/my_vol, avec la sortie en mode verbeux. 3.1. Utilisation de l'interface EVMS Suivez ces étapes pour vérifier un système de fichiers avec l'interface EVMS : 1. Sélectionnez Actions -> File Systems -> Check/Repair. 2. Sélectionnez /dev/evms/my_vol. 3. Cliquez sur Next. 4. Cliquez sur le bouton Yes pour la sortie en mode verbeux. Personnalisez toutes les autres options qui vous intéressent. 5. Cliquez sur Check. 6. L'opération se termine quand vous sauvegardez. Autre possibilité, on peut effectuer certaines des étapes pour vérifier un système de fichiers avec le menu contextuel GUI : 1. À partir de l'onglet Volumes, faites un clic droit sur /dev/evms/my_vol. 2. Cliquez sur Check/Repair File System... 3. Poursuivez la vérification du système de fichiers en commençant à l'étape 3 des instructions pour l'interface graphique. 3.2. Utilisation de Ncurses Pour vérifier un système de fichiers JFS avec Ncurses : 1. Sélectionnez Actions -> File System -> Check/Repair 2. Sélectionnez /dev/evms/my_vol. 3. Activez Next. 4. Descendez en utilisant la flèche vers le bas jusqu'à ce que Verbose Output soit surligné. 5. Appuyez sur la barre d'espace pour basculer Verbose Output sur Yes. 6. Activez Check. Autre possibilité, on peut effectuer certaines des étapes pour vérifier un système de fichiers avec le menu contextuel : 1. À partir de la vue Volumes, faites Entrée sur /dev/evms/my_vol. 2. Activez l'élément check/Repair File System dans le menu. 3. Poursuivez la vérification du système de fichiers en commençant à l'étape 3 des instructions Ncurses. 3.3. Utilisation du CLI La commande check du CLI prend un nom de volume et des options en entrée. La commande pour vérifier le système de fichiers sur /dev/evms/my_vol est la suivante : check: /dev/evms/my_vol, verbose=TRUE Actuellement, aucune commande pour une requête permettant de voir les options supplémentaires n'est disponible. Chapter 14. Les opérations de regroupement des secteurs en blocs [clustering] Table of Contents 1. Règles et restrictions pour la création de conteneurs pour cluster 2. Exemple : création d'un conteneur pour cluster privé 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple : création d'un conteneur pour cluster partagé 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI 4. Exemple : conversion d'un conteneur privé en un conteneur partagé 4.1. Utilisation de l'interface graphique d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI 5. Exemple : création d'un conteneur pour cluster partagé 5.1. Utilisation de l'interface graphique d'EVMS 5.2. Utilisation de Ncurses 5.3. Utilisation du CLI 6. Exemple : expulser un conteneur privé ou partagé 6.1. Utilisation de l'interface graphique d'EVMS 6.2. Utilisation de Ncurses 6.3. Utilisation du CLI 7. Supprimer un conteneur pour clusters. 8. Basculement [failover] et reprise automatique [failback] d'un conteneur privé sur Linux-HA 9. Gestion de configuration à distance 9.1. Utilisation de l'interface graphique d'EVMS 9.2. Utilisation de Ncurses 9.3. Utilisation du CLI 10. Forcer un conteneur de clusters à être actif Ce chapitre explique comment configurer les conteneurs de stockage pour cluster (appelés "conteneurs pour cluster" tout au long de ce chapitre) , fonctionnalité fournie par le gestionnaire de segments pour clusters [Cluster Segment Manager (CSM)] d'EVMS. Les disques qui sont physiquement accessibles à partir de tous les n½uds du cluster peuvent être regroupés en une seule entité gérable. Les objets de stockage d'EVMS peuvent ensuite être créés en utilisant ces conteneurs comme méthode de stockage. Chaque conteneur possède un propriétaire indiquant ainsi s'il est privé ou partagé. Un conteneur appartenant à un n½ud quelconque s'appelle un conteneur privé. Les objets de stockage d'EVMS et les volumes de stockage créés utilisant de l'espace mémoire à partir d'un conteneur privé sont accessibles uniquement par le n½ud propriétaire. Un conteneur appartenant à tous les n½uds d'un cluster s'appelle un conteneur partagé. Les objets de stockage d'EVMS et les volumes de stockages créés utilisant de l'espace mémoire à partir d'un conteneur partagé sont accessibles simultanément par tous les n½uds du cluster. EVMS fournit les outils permettant de convertir un conteneur privé en un conteneur partagé et vice-versa. Il est également possible de changer le n½ud propriétaire d'un conteneur privé. 1. Règles et restrictions pour la création de conteneurs pour cluster Voici les règles et limitations pour la création de conteneurs : * Ne pas affecter de disques non-partagés à un conteneur pour cluster. * Les objets de stockages et les volumes créés sur un conteneur pour cluster ne doivent pas recouvrir plusieurs conteneurs pour cluster. L'application de cette règle par le moteur d'EVMS se traduit par un rejet de ce type de configuration. * Ne pas affecter RAID-1, RAID-5, BBR, ou la prise d'instantané à des objets de stockage sur des conteneurs pour cluster partagés. Ces plug-ins peuvent être utilisés sur des conteneurs privés. 2. Exemple : création d'un conteneur pour cluster privé Cette partie explique comment créer un conteneur privé type et fournit les indications permettant de réaliser la tâche suivante : Example 14.1. Création d'un conteneur pour cluster privé Avec un système disposant de trois disques partagés (sdd, sde et sdf), utilisez le gestionnaire de segments pour clusters d'EVMS afin de combiner ces lecteurs de disques dans un conteneur appelé Priv1 appartenant à node1. 2.1. Utilisation de l'interface graphique d'EVMS Afin de créer un conteneur avec l'interface d'EVMS, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Container pour afficher la liste des plug-ins qui supportent la création de conteneur. 2. Sélectionnez le gestionnaire de segments pour clusters. 3. Cliquez sur Next. La boîte de dialogue suivante contient une liste des objets de stockage que le CSM peut utiliser pour créer un conteneur. 4. Sélectionnez sdd, sde et sdf à partir de la liste. 5. Cliquez sur Next. 6. Dans le premier menu déroulant, sélectionnez l'identifiant du n½ud ["Node Id"] de cluster auquel appartient ce conteneur (node1). Sélectionnez un type de stockage ["Storage Type"] privé dans le second menu déroulant. 7. Entrez le nom Priv1 comme nom du conteneur [Container Name]. 8. Cliquez sur Create. Une fenêtre s'ouvre montrant le résultat. 9. Confirmez les changements. 2.2. Utilisation de Ncurses Afin de créer le conteneur privé avec l'interface Ncurses, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Container pour afficher la liste des plug-ins qui supportent la création de conteneur. 2. Faites défiler vers le bas avec la flèche descendante et sélectionnez le gestionnaire de segment pour clusters en appuyant sur la barre d'espace. Le plug-in que vous avez sélectionné est marqué par un "x". 3. Faites Entrée. Le sous-menu suivant contient la liste des disques que le gestionnaire de segment pour clusters trouve acceptables pour créer un conteneur. 4. Utilisez la barre d'espace pour sélectionner sdd, sde et sdf à partir de la liste. Les disques sélectionnés sont marqués par un "x". 5. Faites Entrée. 6. Dans le menu Create Container - Configuration Options, utilisez la barre d'espace sur l'identifiant du n½ud ce qui fera apparaître une liste des n½uds que vous pouvez sélectionner. 7. Utilisez la barre d'espace sur le n½ud node1 et faites Entrée. 8. Faites défiler vers le bas avec la flèche descendante et utilisez la barre d'espace sur le Storage Type. Une liste des types de stockages possibles s'ouvre. 9. Faites défiler vers le bas avec la flèche descendante jusqu'au mot privé et appuyez sur la barre d'espace 10. Faites Entrée. 11. Faites défiler vers le bas avec la flèche descendante jusqu'à Container Name et appuyez sur la barre d'espace. Le menu Change Option Value s'ouvre et demande un nom de conteneur [Container Name]. Tapez Priv1 comme nom de conteneur, et faites Entrée. 12. Faites Entrée pour terminer l'opération. 2.3. Utilisation du CLI L'opération de création d'un conteneur privé avec le CLI prend trois paramètres : le nom du conteneur, le type du conteneur, et l'identifiant du n½ud auquel appartient le conteneur. Sur le CLI, tapez la commande suivante pour créer un conteneur privé Priv1 : create: container,CSM={name="Priv1",type="private", nodeid="node"},sdd,sde,sdf 3. Exemple : création d'un conteneur pour cluster partagé Cette partie explique comment créer un conteneur partagé type et fournit les indications vous aidant à réaliser la tâche suivante : Example 14.2. Création d'un conteneur pour cluster partagé Avec un système disposant de trois disques partagés (sdd, sde et sdf), utilisez le gestionnaire de segments pour clusters afin de combiner ces lecteurs de disques dans un conteneur partagé appelé Shar1. 3.1. Utilisation de l'interface graphique d'EVMS Afin de créer un conteneur de clusters partagé en utilisant l'interface d'EVMS, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Container pour afficher la liste des plug-ins qui supportent la création de conteneur. 2. Sélectionnez le gestionnaire de segments pour clusters. 3. Cliquez sur Next. La boîte de dialogue suivante contient une liste des objets de stockage que le CSM peut utiliser pour créer un conteneur. 4. Sélectionnez sdd, sde et sdf à partir de la liste. 5. Cliquez sur Next. 6. Il n'est pas nécessaire de changer le champ "Node Id". Sélectionnez un stockage de type [Storage Type] partagé dans le second menu déroulant. 7. Entrez le nom Shar1 comme nom du conteneur [Container Name]. 8. Cliquez sur Create. Une fenêtre affichant le résultat s'ouvre. 9. Confirmez les changements. 3.2. Utilisation de Ncurses Afin de créer le conteneur partagé avec l'interface Ncurses, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Create -> Container pour afficher la liste des plug-ins qui supportent la création de conteneur. 2. Faites défiler vers le bas avec la flèche descendante et sélectionnez le gestionnaire de segment pour clusters en appuyant sur la barre d'espace. Le plug-in que vous avez sélectionné est marqué par un "x". 3. Faites Entrée. Le sous-menu suivant contient la liste des disques que le gestionnaire de segment pour clusters trouve acceptables pour créer un conteneur. 4. Utilisez la barre d'espace pour sélectionner sdd, sde et sdf à partir de la liste. Les disques sélectionnés sont marqués par un "x". 5. Faites Entrée. 6. Le menu Create Storage Container - Configuration Options s'ouvre, ignorez le menu "Node Id". 7. Faites défiler vers le bas avec la flèche descendante et utilisez la barre d'espace sur le type de stockage. Une liste des types de stockage s'ouvre. 8. Faites défiler vers le bas avec la flèche descendante jusqu'au mot partagé et appuyez sur la barre d'espace 9. Faites Entrée. 10. Faites défiler vers le bas avec la flèche descendante jusqu'à Container Name et appuyez sur la barre d'espace. Le menu Change Option Value s'ouvre et demande un nom de conteneur. Tapez Shar1 comme nom de conteneur, et faites Entrée. 11. Faites Entrée pour terminer l'opération. 12. Quittez Ncurses et lancez evms_activate sur chacun des n½uds de cluster. Ce processus sera automatisé dans les prochaines versions d'EVMS. 3.3. Utilisation du CLI L'opération de création d'un conteneur partagé avec le CLI prend deux paramètres : le nom du conteneur et le type du conteneur. Sur le CLI, tapez la commande suivante pour créer un conteneur privé Shar1 : create: container,CSM={name="Shar1",type="shared"},sdd,sde,sdf 4. Exemple : conversion d'un conteneur privé en un conteneur partagé Cette partie explique comment convertir un conteneur privé type en un conteneur partagé et fournit les indications pour réaliser la tâche suivante : Example 14.3. Conversion d'un conteneur privé en un conteneur partagé Avec un système ayant un conteneur de stockage privé Priv1 appartenant à evms1, convertissez Priv1 en un conteneur de stockage partagé avec le même nom. [11][Caution] ATTENTION Assurez-vous qu'aucune application n'utilise les volumes sur le conteneur sur un des n½uds du cluster. 4.1. Utilisation de l'interface graphique d'EVMS Suivez ces étapes pour convertir un conteneur pour clusters privé en un conteneur pour clusters partagé en utilisant l'interface d'EVMS : 1. Sélectionnez Actions -> Modify -> Container pour afficher la liste des conteneurs. 2. Sélectionnez le conteneur Priv1 et appuyez sur Next. Une boîte de dialogue de modification des propriétés [Modify Properties] s'ouvre. 3. Changez "Type" en mettant "partagé" ["shared"] et cliquez sur Modify. Une fenêtre affichant le résultat s'ouvre. 4. Confirmez les changements. 4.2. Utilisation de Ncurses Suivez les étapes ci-dessous afin de convertir un conteneur pour cluster privé en un conteneur cluster partagé avec l'interface Ncurses : 1. Sélectionnez Actions -> Modify -> Container pour afficher la liste des conteneurs. 2. La boîte de dialogue "Modify Container Properties" s'ouvre. Sélectionnez le conteneur Priv1 en appuyant sur la barre d'espace. Le conteneur sélectionné est marqué par un "x". Faites Entrée. 3. Utilisez la barre d'espace pour sélectionner sdd, sde et sdf à partir de la liste. Les disques sélectionnés sont marqués par un "x". 4. Faites Entrée. 5. La boîte de dialogue "Modify Container Properties - Configuration Options" s'ouvre. Faites défiler vers le bas avec la flèche descendante et utilisez la barre d'espace sur "Type". 6. Appuyez sur la barre d'espace. 7. La boîte de dialogue "Change Option Value" s'ouvre. Tapez "shared" et faites Entrée. La nouvelle valeur est maintenant affichée dans la boîte de dialogue "Modify Container Properties - Configuration Options". 8. Faites Entrée. Le résultat de la commande s'affiche en bas de l'écran. 9. Faites Entrée. Enregistrez les changements en cliquant sur Save dans le menu déroulant Actions. 4.3. Utilisation du CLI La commande modify modifie les propriétés d'un conteneur. Le premier argument de la commande correspond à l'objet à modifier, suivi des nouvelles propriétés. La commande ci-dessous convertit, dans notre exemple, un conteneur privé en un conteneur partagé : modify: Priv1,type=shared 5. Exemple : création d'un conteneur pour cluster partagé Cette partie explique comment convertir un conteneur partagé type en un conteneur privé et fournit les indications pour réaliser la tâche suivante : Example 14.4. Conversion d'un conteneur partagé en un conteneur privé Avec un système ayant un conteneur de stockage partagé Shar1, convertissez Shar1 en un conteneur de stockage privé appartenant au n½ud Shar1 (où Shar1 est l'identifiant d'un des n½uds du cluster). [12][Caution] ATTENTION Assurez-vous qu'aucune application n'utilise les volumes sur le conteneur sur un des n½uds du cluster. 5.1. Utilisation de l'interface graphique d'EVMS Suivez ces étapes pour convertir un conteneur pour clusters partagé en un conteneur pour clusters privé en utilisant l'interface d'EVMS : 1. Sélectionnez Actions -> Modify -> Container pour afficher la liste des conteneurs. 2. Sélectionnez le conteneur Shar1 et appuyez sur Next. Une boîte de dialogue de modification des propriétés [Modify Properties] s'ouvre. 3. Changez "Type" en mettant "privé" et le champ "Node" en mettant Shar1. Cliquez sur Modify. Une fenêtre affichant le résultat s'ouvre. 4. Confirmez les changements. 5.2. Utilisation de Ncurses Suivez les étapes ci-dessous afin de convertir un conteneur pour cluster partagé en un conteneur cluster privé avec l'interface Ncurses : 1. Sélectionnez Actions -> Modify -> Container. 2. La boîte de dialogue "Modify Container Properties" s'ouvre. Sélectionnez le conteneur Shar1 en appuyant sur la barre d'espace. Le conteneur sélectionné est marqué par un "x". Faites Entrée. 3. La boîte de dialogue "Modify Container Properties - Configuration Options" s'ouvre. Faites défiler vers le bas avec la flèche descendante et utilisez la barre d'espace sur "Type". 4. Appuyez sur la barre d'espace. 5. La boîte de dialogue "Change Option Value" s'ouvre. Sélectionnez "private" et faites Entrée. 6. La boîte de dialogue "Modify Container Properties - Configuration Options" s'ouvre. Faites défiler la liste vers le bas jusqu'à "NodeId" avec la flèche descendante et appuyez sur la barre d'espace. 7. La boîte de dialogue "Change Option Value" s'ouvre. Sélectionnez node1 et faites Entrée. 8. La nouvelle valeur est maintenant affichée dans la boîte de dialogue "Modify Container Properties - Configuration Options". Faites Entrée. Le résultat de la commande s'affiche en bas de l'écran. 9. Enregistrez les changements en cliquant sur Save dans le menu déroulant Actions. 5.3. Utilisation du CLI La commande modify modifie les propriétés d'un conteneur. Le premier argument de la commande correspond à l'objet à modifier, suivi des nouvelles propriétés. La commande ci-dessous convertit, dans notre exemple, un conteneur partagé en un conteneur privé : modify: Shar1,type=private,node=node1 6. Exemple : expulser un conteneur privé ou partagé Quand un conteneur est expulsé, le n½ud se détache du conteneur et supprime tous les objets créés en mémoire qui appartiennent à ce conteneur. Aucun n½ud dans un cluster ne peut retrouver des objets résidant sur des conteneurs expulsés ou créer des objets pour un conteneur expulsé. Cette partie explique comment expulser un conteneur privé ou partagé. Example 14.5. Expulser un conteneur pour clusters Avec un système ayant un conteneur privé ou partagé nommé c1, expulsez c1. 6.1. Utilisation de l'interface graphique d'EVMS Pour expulser un conteneur avec l'interface graphique d'EVMS, suivez les étapes ci-dessous : 1. Sélectionnez Actions -> Modify -> Container. 2. Sélectionnez le conteneur c1 et appuyez sur Next. Une boîte de dialogue "Modify Properties" s'ouvre. 3. Changez le type ["Type"] en mettant "deported". Cliquez sur "Modify". Une fenêtre affichant le résultat s'ouvre. 4. Confirmez les changements. 6.2. Utilisation de Ncurses Pour expulser un conteneur avec Ncurses, suivez les étapes ci-dessous : 1. Faites défiler la liste vers le bas jusqu'à "Modify" avec la flèche descendante et faites Entrée. Un sous menu s'affiche. 2. Faites défiler vers le bas jusqu' ce que "Container" soit en surbrillance. Faites Entrée. La boîte de dialogue "Modify Container Properties" s'ouvre. 3. Sélectionnez le conteneur csm/c1 en appuyant sur la barre d'espace barre d'espace. Le conteneur sélectionné est marqué par un « x ». 4. Faites Entrée. La boîte de dialogue "Modify Container Properties - Configuration Options" s'ouvre. 5. Faites défiler vers le bas et appuyez sur la barre d'espace sur le champs "Type". 6. Faites barre d'espace. 7. Tapez "deported" et faites Entrée. La nouvelle valeur est maintenant affichée dans la boîte de dialogue "Modify Container Properties - Configuration Options". 8. Faites Entrée. Le résultat de la commande s'affiche en bas de l'écran. 9. Faites Entrée. Confirmez les changements en cliquant sur Save dans le menu déroulant Actions. 6.3. Utilisation du CLI Pour expulser un conteneur à partir du CLI, exécutez la commande ci-dessous à l'invite CLI : modify: c1,type=deported 7. Supprimer un conteneur pour clusters. La procédure pour supprimer un conteneur pour clusters est la même que pour supprimer n'importe quel conteneur. (cf. partie 21.2). 8. Basculement [failover] et reprise automatique [failback] d'un conteneur privé sur Linux-HA EVMS supporte le gestionnaire de clusters Linux-HA à partir de la version EVMS 2.0. La compatibilité avec le gestionnaire de clusters RSTC est également disponible à partir d'EVMS 2.1 mais n'a pas été aussi largement testée. [13][Note] NOTE Assurez-vous que evms_activate est appelé dans l'un des scripts de démarrage avant que le script de HeartBeat soit appelé. Si evms_activate n'est pas appelé, le basculement pourrait ne pas fonctionner normalement. Suivez les étapes ci-dessous afin de configurer le basculement et la reprise automatique d'un conteneur privé : 1. Ajoutez une ligne dans /etc/ha.d/haresources pour chaque conteneur privé qui doit être basculé. Par exemple, si container1 et container2 doivent être basculé ensemble vers le même n½ud avec node1 comme n½ud propriétaire, ajoutez la ligne ci-dessous dans /etc/ha.d/haresources : node1 evms_failover::container1 evms_failover::container2 node1 est le n½ud de cluster qui possède cette ressource. La ressource est basculée vers l'autre n½ud quand node1 meurt. De la même manière, si container3 et container4 doivent être basculés ensemble vers le même n½ud avec node2 comme n½ud propriétaire, ajoutez la ligne ci-dessous dans /etc/ha.d/haresources : node2 evms_failover::container3 evms_failover::container4 Reportez-vous à http://www.linux-ha.org/download/GettingStarted.html [http://www.linux-ha.org/download/GettingStarted.html] pour plus de détails sur la sémantique des groupes de ressource. 2. Vérifiez que les fichiers /etc/ha.d, /etc/ha.cf et /etc/ha.d/haresources sont les mêmes sur tous les n½uds du cluster. 3. Le gestionnaire de clusters HeartBeat doit être redémarré, comme suit, après que le fichier /etc/ha.d/haresources ait été modifié : /etc/init.d/heartbeat restart [14][Note] NOTE N'ajoutez pas de conteneurs partagés à la liste des ressources de basculement, sinon EVMS pourrait avoir des réactions imprévisibles. 9. Gestion de configuration à distance EVMS supporte l'administration des n½uds de clusters à partir de n'importe quel n½ud du cluster. Par exemple, le stockage sur un n½ud de cluster distant node1 peut être administré à partir d'un n½ud de cluster node2. Les parties qui suivent montrent comment configurer l'administration à distance grâce aux multiples interfaces utilisateurs d'EVMS. 9.1. Utilisation de l'interface graphique d'EVMS Afin de désigner, à partir de l'interface graphique d'EVMS, node2 comme le n½ud à administrer, suivez les étapes ci-dessous : 1. Sélectionnez Settings -> Node Administered... 2. Sélectionnez "node2. 3. Cliquez sur Administer pour basculer sur le nouveau n½ud. L'interface graphique réunit les informations à propos des objets, des conteneurs, et des volumes sur les autres n½uds. La barre d'état affiche le message "Now administering node node2" qui indique que l'interface a basculé vers le n½ud node2. 9.2. Utilisation de Ncurses Afin de désigner node2 comme le n½ud à administrer à partir de Ncurses, suivez les étapes ci-dessous : 1. Allez dans le menu déroulant Settings. 2. Faites défiler vers le bas avec la flèche descendante jusqu'à l'option "Node Adminitered" et faites Entrée. 3. La boîte de dialogue "Administer Remote Node" s'ouvre. Sélectionnez node2 et appuyez sur la barre d'espace. Le n½ud que vous avez sélectionné est marqué d'un "x". 4. Faites Entrée. 5. Au bout de quelques instants, vous serez basculé vers le n½ud node2. 9.3. Utilisation du CLI Afin de désigner node2 comme n½ud à administrer à partir du CLI, saisissez la commande ci-dessous : evms -n node2 10. Forcer un conteneur de clusters à être actif Un conteneur privé et ses objets sont rendus actifs sur un n½ud si : 1. le conteneur privé appartient au n½ud. 2. le conteneur n'est pas expulsé. 3. le n½ud est dans un groupe de clusters qui a actuellement le quorum. De même, un conteneur partagé et ses objets sont rendus actifs sur un n½ud si le n½ud est dans un cluster qui a actuellement le quorum. Cependant, l'administrateur peut forcer l'activation de conteneurs privés ou partagés en ignorant ces règles. [15][Note] NOTE Soyez extrêmement prudent au cours de cette opération et assurez-vous que le n½ud sur lequel le conteneur pour cluster réside est le seul n½ud actif dans le cluster. Autrement, les données dans les volumes sur les conteneurs privés et partagés sur le n½ud peuvent être corrompues. 1. Mise en service du mode de maintenance dans le fichier /etc/evms.conf. L'option à modifier dans le fichier /etc/evms.conf est la suivante : #cluster segment manager section csm { # admin_mode=yes #valeurs possibles: oui ou non #Par défaut, c'est non. Mettez la valeur à oui quand vous souhaitez #forcer CSM à rendre visible des objets à partir de tous les #conteneurs de clusters, vous permettant d'effectuer des configurations #et de la maintenance. Avec admin_mode sur yes, #CSM ne tiendra pas compte de l'appartenance des conteneurs, ce qui #vous permettra de configurer le stockage en mode « maintenance ». 2. Lancez evms_activate sur le n½ud. Chapter 15. Conversion des volumes Table of Contents 1. Quand convertir des volumes ? 2. Exemple: convertir des volumes de compatibilité en volumes EVMS 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation du CLI 3. Exemple: convertir des volumes EVMS en volumes de compatibilité 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de Ncurses 3.3. Utilisation du CLI Dans ce chapitre, nous abordons la conversion des volumes de compatibilité en volumes EVMS et vice-versa. Pour une explication sur les différences entre les volumes de compatibilité et les volumes EVMS, reportez-vous au chapitre 12. 1. Quand convertir des volumes ? Il y a plusieurs scénarios différents permettant de déterminer quel type de volumes est nécessaire. Par exemple, pour avoir des noms persistants ou pour utiliser pleinement les fonctionnalités d'EVMS, comme le Drive Linking ou le Snapshotting, on convertira les volumes de compatibilité en volumes EVMS. Dans un autre contexte, si on constate que le volume a besoin d'être lu par un système capable de comprendre le système de gestion de volumes sous-jacents, on convertira le volume EVMS en un volume de compatibilité. Un volume ne peut être converti que lorsqu'il est déconnecté. Cela signifie que le volume doit être démonté et donc non utilisé. Le volume doit être démonté car l'opération de conversion change à la fois le nom et le numéro de périphérique du volume. Une fois le volume converti, vous pouvez le remonter en utilisant son nouveau nom. 2. Exemple: convertir des volumes de compatibilité en volumes EVMS Un volume de compatibilité peut être converti en un volume EVMS dans les situations suivantes: 1. le volume de compatibilité ne possède pas de système de fichiers (FSIM). 2. le volume de compatibilité possède un système de fichiers mais celui-ci peut être réduit (si nécessaire) pour faire de la place aux métadonnées d'EVMS Dans cette partie, on explique dans le détail comment convertir des volumes de compatibilité en volumes EVMS et on fournit les instructions qui permettront d'effectuer la tâche suivante: Example 15.1. Convertir un volume de compatibilité. Nous avons un volume de compatibilité /dev/evms/hda3,que l'on souhaite transformer en un volume EVMS nommé my_vol. 2.1. Utilisation de l'interface graphique d'EVMS Pour convertir un volume de compatibilité avec l'interface graphique d'EVMS: 1. Choisissez Actions -> Convert -> Compatibility Volume to EVMS. 2. Sélectionnez /dev/evms/hda3 dans la liste des volumes disponibles. 3. Tapez my_vol dans le champ du nom. 4. Cliquez sur le bouton Convert pour convertir le volume. On peut également effectuer certaines des étapes pour convertir le volume à partir du menu contextuel de l'interface graphique 1. A partir de l'onglet Volumes, faites un clic droit sur /dev/evms/hda3. 2. Cliquez sur Convert to EVMS Volume... 3. Continuez la conversion du volume en reprenant à l'étape 3 des instructions pour l'interface graphique. 2.2. Utilisation de Ncurses Pour convertir un volume de compatibilité en un volume EVMS avec l'interface Ncurses: 1. Choisissez Actions -> Convert -> Compatibility Volume to EVMS. 2. Sélectionnez /dev/evms/hda3 dans la liste des volumes disponibles. 3. Tapez my_vol quand vous y êtes invités. Appuyez sur la touche Entrée. 4. Activez Convert. On peut également effectuer certaines des étapes pour convertir le volume à partir du menu contextuel: 1. A partir de la vue Volumes, faites Entrée sur /dev/evms/hda3.. 2. Activez l'élément du menu Convert to EVMS Volume. 3. Continuez la conversion du volume en reprenant à l'étape 3 des instructions de Ncurses. 2.3. Utilisation du CLI Pour convertir un volume, utilisez la commande Convert. La commande Convert prend le nom du volume comme premier argument, et en second argument, après name=, le nom que voulez donner au nouveau volume. Dans notre exemple, pour convertir un volume, tapez la commande suivante à l'invite d'EVMS: convert: /dev/evms/hda3, Name=my_vol 3. Exemple: convertir des volumes EVMS en volumes de compatibilité On peut convertir un volume EVMS en un volume de compatibilité seulement si le volume ne possède pas des fonctionnalités d'EVMS. Cette partie explique en détail comment convertir des volumes EVMS en volumes de compatibilité en fournissant les instructions pour pouvoir réaliser la tâche suivante. Example 15.2. Convertir un volume EVMS. Nous avons un volume EVMS, /dev/evms/my_vol,que l'on souhaite transformer un volume de compatibilité. 3.1. Utilisation de l'interface graphique d'EVMS Pour convertir un volume EVMS en un volume de compatibilité avec l'interface graphique d'EVMS: 1. Choisissez Actions -> Convert -> EVMS Volume to Compatibility Volume. 2. Sélectionnez /dev/evms/my_vol dans la liste des volumes disponibles. 3. Cliquez sur le bouton Convert pour convertir le volume. On peut également effectuer certaines des étapes pour convertir le volume à partir du menu contextuel de l'interface graphique. 1. A partir de l'onglet Volumes, faites un clic droit sur /dev/evms/my_vol 2. Cliquez sur Convert to Compatibility Volume... 3. Continuez la conversion du volume en reprenant à l'étape 3 des instructions pour l'interface graphique. 3.2. Utilisation de Ncurses Pour convertir un volume EVMS en un volume de compatibilité avec l'interface Ncurses: 1. Choisissez Actions -> Convert -> EVMS Volume to Compatibility Volume. 2. Sélectionnez /dev/evms/my_vol dans la liste des volumes disponibles. 3. Activez Convert. On peut également effectuer certaines des étapes pour convertir le volume à partir du menu contextuel: 1. A partir de la vue Volumes, faites Entrée sur /dev/evms/my_vol. 2. Activez l'élément du menu Convert to Compatibility Volume. 3. Continuez la conversion du volume en reprenant à l'étape 3 des instructions de Ncurses. 3.3. Utilisation du CLI Pour convertir un volume, utilisez la commande Convert. La commande Convert prend le nom du volume comme premier argument, et le mot clé Compatibility en second argument, pour indiquer une conversion en un volume de compatibilité. Dans notre exemple, pour convertir un volume, tapez la commande suivante à l'invite d'EVMS: convert: /dev/evms/hda3, compatibility Chapter 16. Extension et réduction des volumes Table of Contents 1. Pourquoi étendre et réduire les volumes ? 2. Exemple : réduire un volume. 2.1. Utilisation de l'interface graphique d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de CLI 3. Exemple : Agrandir un volume 3.1. Utilisation de l'interface graphique d'EVMS 3.2. Utilisation de l'interface graphique de Ncurses 3.3. Utilisation de la ligne de commande [CLI] Ce chapitre explique comment étendre et réduire des volumes EVMS avec l'interface graphique d'EVMS, Ncurses et CLI. Notez également que l'on peut étendre et réduire des volumes de compatibilité et des objets EVMS. 1. Pourquoi étendre et réduire les volumes ? L'extension et la réduction de volumes sont des opérations communes sur les volumes dans la plupart des systèmes. Par exemple, il peut être nécessaire de rétrécir un volume particulier pour créer de l'espace libre pour étendre un autre volume ou en créer un nouveau. EVMS simplifie le processus d'extension et de réduction des volumes, et protège l'intégrité de vos données en coordonnant les opérations d'extension et de réduction avec le système de fichiers du volume. Par exemple, lors de la réduction d'un volume, EVMS réduit en premier le système de fichiers sous-jacent correctement pour protéger les données. Lors de l'extension d'un volume, EVMS étend le système de fichiers automatiquement lorsque de l'espace devient disponible. Tous les types de modules d'interface de systèmes de fichiers (FSIM [File System Interface Module]) supportés par EVMS ne permettent pas les opérations de réduction et d'extension, et certains n'effectuent les opérations que lorsque le système de fichiers est monté ("connecté [online]"). Le tableau suivant détaille les options de réduction et d'extension disponibles pour chaque type de FSIM. Table 16.1. La compatibilité des FSIM pour les opérations d'extension et de réduction +-----------------------------------------------------------+ | FSIM type | Réductions | Extensions | |-----------+----------------------+------------------------| | JFS | Non | Connecté seulement | |-----------+----------------------+------------------------| | XFS | Non | Connecté seulement | |-----------+----------------------+------------------------| | ReiserFS | Déconnecté seulement | Déconnecté et connecté | |-----------+----------------------+------------------------| | Ext2/3 | Déconnecté seulement | Déconnecté seulement | |-----------+----------------------+------------------------| | SWAPFS | Déconnecté seulement | Déconnecté seulement | |-----------+----------------------+------------------------| | OpenGFS | Non | Connecté seulement | |-----------+----------------------+------------------------| | NTFS | Déconnecté seulement | Déconnecté seulement | +-----------------------------------------------------------+ On peut réaliser toutes les opérations supportées de réduction et d'extension avec chacune des interfaces utilisateurs d'EVMS. 2. Exemple : réduire un volume. Cette partie explique comment réduire de 500 Mo un volume de compatibilité. Example 16.1. Réduire un volume Réduire de 500 Mo un volume /dev/evms/lvm/Sample Container/Sample Region, qui est le volume de compatibilité créé dans le chapitre intitulé "Création de Volumes". 2.1. Utilisation de l'interface graphique d'EVMS Pour réduire le volume avec l'interface graphique d'EVMS: 1. Sélectionnez Actions -> Shrink -> Volume. 2. Sélectionnez /dev/evms/lvm/Sample Container/Sample Region à partir de la liste des volumes. 3. Cliquez sur Next. 4. Sélectionnez /lvm/Sample Container/Sample Region à partir de la liste des volumes. 5. Cliquez sur Next. 6. Tapez "500MB" dans le champ "Shrink by Size". 7. Cliquez sur Shrink. On peut également réaliser certaines des étapes pour réduire le volume avec le menu contextuel de l'interface graphique: 1. A partir de l'onglet Volumes, faites un clic droit sur //dev/evms/lvm/Sample Container/Sample Region 2. Cliquez sur Shrink.... 3. Continuez l'opération en commençant à l'étape 3 des instructions pour l'interface graphique. 2.2. Utilisation de Ncurses Pour réduire un volume avec Ncurses: 1. Sélectionnez Actions -> Shrink -> Volume. 2. Sélectionnez /dev/evms/lvm/Sample Container/Sample Region à partir de la liste des volumes. 3. Cliquez sur Next. 4. Sélectionnez lvm/Sample Container/Sample Region à partir de la liste de sélection des points de réduction. 5. Cliquez sur Next. 6. Faites défiler vers le bas en utilisant la flèche descendante jusqu'à ce que "Shrink by Size" soit surligné. 7. Appuyez sur la barre d'espace. 8. Appuyez sur la Entrée. 9. A l'invite « :: » tapez 500MB. 10. Appuyez sur la Entrée. 11. Appuyez sur la Shrink. On peut également réaliser certaines des étapes pour réduire le volume avec le menu contextuel: 1. A partir de l'onglet Volumes, faites Entrée sur /dev/evms/lvm/Sample Container/Sample Region. 2. Appuyez sur le menu Shrink. 3. Continuez l'opération en commençant à l'étape 3 des instructions de Ncurse.. 2.3. Utilisation de CLI La commande shrink prend un point de réduction suivi par un couple optionnel nom valeur ou un objet à réduire optionnel. Pour trouver un point de réduction, utilisez la commande query avec le filtre des points de réduction sur l'objet ou le volume que vous désirez réduire. Par exemple: query : shrink points, ":dev/evms/lvm /Sample Container/Sample Region" Utilisez un filtre "list options" sur l'objet du point de réduction pour déterminer le couple nom-valeur à utiliser, comme suit: query : objects, object="lvm /Sample Container/Sample Region", list options Avec l'information de l'option qui est retournée, vous pouvez construire la commande, comme suit: shrink : "lvm/Sample Container/Sample Region/", remove_size=500MB 3. Exemple : Agrandir un volume Cette section explique comment ajouter 500 Mo à un volume de compatibilité. Example 16.2. Agrandir un volume Agrandir de 500 Mo un volume /dev/evms/lvm/Sample Container/Sample Region, qui est le volume de compatibilité créé dans le chapitre intitulé "Création de Volumes". 3.1. Utilisation de l'interface graphique d'EVMS Pour agrandir le volume avec l'interface graphique d'EVMS : 1. Sélectionnez Actions -> Expand -> Volume. 2. Sélectionnez /dev/evms/lvm/Sample Container/Sample Region à partir de la liste des volumes. 3. Cliquez sur Next. 4. Sélectionnez /lvm/Sample Container/Sample Region à partir de la liste des volumes. 5. Cliquez sur Next. 6. Tapez "500MB" dans le champ "Additionnal Size". 7. Cliquez sur Expand. On peut également réaliser certaines de ces étapes avec le menu contextuel de l'interface graphique : 1. A partir de l'onglet Volumes, faites un clic droit sur //dev/evms/lvm/Sample Container/Sample Region 2. Cliquez sur Expand. 3. Continuez l'opération en commençant à l'étape 3 des instructions pour l'interface graphique. 3.2. Utilisation de l'interface graphique de Ncurses Pour agrandir le volume avec l'interface graphique de Ncurses : 1. Sélectionnez Actions -> Expand -> Volume. 2. Sélectionnez /dev/evms/lvm/Sample Container/Sample Region à partir de la liste des volumes. 3. Cliquez sur Next. 4. Sélectionnez /lvm/Sample Container/Sample Region à partir de la liste des volumes. 5. Cliquez sur Next. 6. Appuyez sur la Barre d'espace dans le champ "Additional Size". 7. Entrez 500Mo à l'invite "::" 8. Faites Entrée 9. Activez Expand. On peut également réaliser certaines de ces étapes avec le menu contextuel : 1. A partir de l'onglet Volumes, faites Entrée sur /dev/evms/lvm/Sample Container/Sample Region. 2. Appuyez sur le menu Expand. 3. Continuez l'opération en commençant à l'étape 3 des instructions de Ncurses. 3.3. Utilisation de la ligne de commande [CLI] La commande expand prend un point d'expansion suivi en option d'une paire nom/valeur et d'un objet pouvant être agrandi. Pour trouver le point d'extension, utilisez la commande query avec le filtre Expand Points sur l'objet ou le volume à étendre. Par exemple: query : expand points, "dev/evms/lvm /Sample Container/Sample Region" Pour trouver la paire nom/valeur, utilisez un filtre list options, comme suit : query : objects, object="lvm /Sample Container/Sample Region", list options L'espace disponible dans le conteneur est le nom du conteneur suivi de /Freespace. Avec les informations que l'on reçoit, il est possible de construire la commande suivante : expand : "lvm/Sample Container/Sample Region/", add_size=500MB,"lvm/Sample Container/Freespace" Chapter 17. Ajout de fonctionnalités à un volume existant Table of Contents 1. Pourquoi ajouter des fonctionnalités à un volume ? 2. Exemple : ajouter un lien de disque à un volume existant 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] Ce chapitre explique comment ajouter des fonctionnalités EVMS supplémentaires à un volume EVMS. 1. Pourquoi ajouter des fonctionnalités à un volume ? EVMS permet d'ajouter des fonctionnalités, telles que les liens de disque, à un volume existant. En ajoutant des fonctionnalités, on évite d'avoir à détruire éventuellement un volume et d'être obligé de le recréer à partir de zéro. Prenons l'exemple d'un volume qui contient d'importantes données mais qui est presque plein. Si on veut ajouter des informations à ce volume mais qu'il n'y a pas d'espace libre sur le disque juste après le segment, on peut ajouter un lien de disque au volume. Ce dernier concatène un autre objet à la fin du volume et reprend sans problème. 2. Exemple : ajouter un lien de disque à un volume existant L'exemple suivant montre comment ajouter un lien de disque à un volume en utilisant les interfaces EVMS, Ncurses et CLI. Example 17.1. Ajouter un lien de disque à un volume existant L'exemple suivant montre comment ajouter un lien de disque au volume /dev/evms/vol et appeler le lien "DL". [16][Note] Note Seuls les volumes EVMS supportent les liens de disque. Le volume /dev/evms/vol doit donc être converti en un volume EVMS si ce n'est pas déjà le cas. 2.1. Utilisation de l'interface d'EVMS Pour ajouter un lien de disque l'interface graphique d'EVMS : 1. Sélectionnez Actions -> Add -> Feature to Volume. 2. Cliquez sur Next. 3. Sélectionnez /dev/evms/vol 4. Cliquez sur Next. 5. Sélectionnez Drive Linking Feature. 6. Cliquez sur Next. 7. Tapez DL dans le champ Name. 8. Cliquez sur Add. Vous pouvez aussi effectuer certaines de ces étapes en utilisant le menu contextuel : 1. A partir de l'onglet Volumes, faites un clic droit sur /dev/evms/vol. 2. Cliquez sur Add feature... 3. Reprenez à partir de l'étape 3 des instructions précédentes. 2.2. Utilisation de Ncurses Suivez ces étapes pour ajouter un lien de disque avec Ncurses : 1. Sélectionnez Actions->Add->Feature to Volume. 2. Sélectionnez /dev/evms/vol. 3. Activez Next. 4. Sélectionnez Drive Linking Feature. 5. Activez Next. 6. Appuyez sur la barre d'espace pour modifier le champ Name. 7. Entrez DL à l'invite "::" 8. Appuyer sur Entrée. 9. Activez Add. Vous pouvez aussi effectuer certaines de ces étapes en utilisant le menu contextuel : 1. A partir de la vue Volumes, faites Entrée sur /dev/evms/vol. 2. Dans le menu, activez Add feature. 3. Reprenez à partir de l'étape 3 des instructions précédentes. 2.3. Utilisation de la ligne de commande [CLI] Utilisez add feature pour ajouter une fonctionnalité à un volume existant. La commande doit être suivie par ":", les options et le nom du volume à travailler. Pour déterminer les options pour une fonctionnalité donnée, utilisez la requête suivante : query: plugins, plugin=DriveLink, list options On obtient une liste des noms des options et de leurs descriptions pour pouvoir construire la commande. Dans notre exemple, la commande serait : add feature: DriveLink={ Name="DL }, /dev/evms/vol Chapter 18. Activation sélective des volumes et objets. Table of Contents 1. Activation initiale en utilisant /etc/evms.conf 2. Activation et désactivation des volumes et des objets. 2.1. Activation. 2.2. Désactivation 2.3. Activation et désactivation : les dépendances. Ce chapitre traite de l'activation et de la désactivation sélectives de volumes et d'objets EVMS. 1. Activation initiale en utilisant /etc/evms.conf Il y a une section appelée "activate" dans le fichier de configuration d'EVMS /etc/etc/evms.conf. Cette section possède deux entrées : "include" et "exclude". Avec l'entrée "include", on obtient une liste des volumes et objets qui devraient être activés, tandis que l'entrée "exclude" donne la liste de ceux qui ne devraient pas être activés. Les noms dans les deux entrées peuvent utiliser les notations "*", "?" et "[...]". Par exemple, l'entrée suivante activera tous les volumes : include = [/dev/evms/*] L'entrée suivante spécifie que les objets sda5 et sda7 ne sont pas activés : exclude = [ sda[57] ] Lorsque EVMS est lancé, il commence par lire l'entrée include et construit une liste des volumes et objets à activer. Puis il retire de la liste tous les noms qui se trouvent dans l'entrée exclude. Par exemple, pour activer tous les volumes excepté /dev/evms/temp, on aura : activate { include = [/dev/evms/*] exclude = [/dev/evms/temp] } Si /etc/evms.conf ne possède pas de section activate, le comportement par défaut est de tout activer. Ce comportement découle des versions d'EVMS précédent la 2.4. L'activation initiale avec /etc/evms.conf ne désactive aucun volume ou objet. Cela indique seulement ceux qui devraient être actifs. 2. Activation et désactivation des volumes et des objets. L'interface d'EVMS offre la possibilité d'activer ou de désactiver un volume ou objet en particulier. L'opération n'est effectuée qu'au moment de l'enregistrement des changements. 2.1. Activation. Vous pouvez activer un volume ou objet inactif via les différentes interfaces d'EVMS. NOTE : Actuellement, EVMS ne met pas à jour le fichier de configuration (/etc/evms.conf) quand les volumes ou objets sont activés. Si vous activez un volume ou objet qui n'est pas déjà activé et que vous ne faites pas les changements correspondants dans le fichier de configuration (/etc/evms.conf), le volume ou objet ne sera pas activé ni au prochain démarrage du système et ni au lancement de evms_activate ou de l'une des interfaces. 2.1.1. Utilisation de l'interface d'EVMS. Pour activer un volume ou un objet avec l'interface graphique d'EVMS : 1. Sélectionnez Actions->Activation->Activate... 2. Sélectionnez le(s) volume(s) et/ou objet(s) à activer. 3. Cliquez sur Activate. 4. Cliquez sur Save pour enregistrer les modifications et activer le(s) volume(s) et/ou objet(s). 2.1.2. Utilisation du menu contextuel d'EVMS Pour activer un volume ou un objet avec le menu contextuel graphique d'EVMS : 1. Faites un clic droit sur le volume ou objet à activer. 2. Cliquez sur "Activate". 3. Cliquez sur Activate. 4. Cliquez sur Save pour enregistrer les modifications et activer le(s) volume(s) et/ou objet(s). 2.1.3. Utilisation de Ncurses Pour activer un volume ou un objet avec Ncurses : 1. Sélectionnez Actions->Activation->Activate... 2. Sélectionnez le(s) volume(s) et/ou objet(s) à activer. 3. Sélectionnez Activate. 4. Sélectionnez Actions->Save pour enregistrer les modifications et activer le(s) volume(s) et/ou objet(s). 2.1.4. Utilisation du menu contextuel de Ncurses. Pour activer un volume ou un objet avec le menu contextuel de Ncurses : 1. Sélectionnez le volume et/ou objet à activer et appuyez sur Entrée. 2. Sélectionnez "Activate". 3. Sélectionnez Activate. 4. Sélectionnez Actions->Save pour enregistrer les modifications et activer le(s) volume(s) et/ou objet(s). 2.1.5. Utilisation de la ligne de commande [CLI] Utilisez la commande suivante pour activer un volume ou objet à partir de la ligne de commande ("nom" doit être remplacé par le nom du volume ou objet à activer): Activate:nom 2.2. Désactivation On peut désactiver un volume ou objet actif via les différentes interfaces d'EVMS. NOTE : Actuellement, EVMS ne met pas à jour le fichier de configuration EVMS (/etc/evms.conf) quand les volumes ou objets sont désactivés. Si vous désactivez un volume ou objet qui est déjà activé et que vous ne faites pas les changements correspondants dans le fichier de configuration (/etc/evms.conf), le volume ou objet sera activé après le prochain démarrage du système et au lancement de evms_activate ou de l'une des interfaces. 2.2.1. Utilisation de l'interface d'EVMS Pour désactiver un volume ou un objet avec l'interface graphique d'EVMS : 1. Sélectionnez Actions->Activation->Deactivate... 2. Sélectionnez le(s) volume(s) et/ou objet(s) à désactiver. 3. Cliquez sur Deactivate. 4. Cliquez sur Save pour enregistrer les modifications et désactiver le(s) volume(s) et/ou objet(s). 2.2.2. Utilisation du menu contextuel d'EVMS Pour désactiver un volume ou un objet avec le menu contextuel graphique d'EVMS : 1. Faites un clic droit sur le volume ou objet à désactiver. 2. Cliquez sur "Deactivate". 3. Cliquez sur Deactivate. 4. Cliquez sur Save pour enregistrer les modifications et désactiver le(s) volume(s) et/ou objet(s). 2.2.3. Utilisation de Ncurses Pour désactiver un volume ou un objet avec Ncurses : 1. Sélectionnez Actions->Activation->Deactivate... 2. Sélectionnez le(s) volume(s) et/ou objet(s) à désactiver. 3. Sélectionnez Deactivate. 4. Sélectionnez Actions->Save pour enregistrer les modifications et désactiver le(s) volume(s) et/ou objet(s). 2.2.4. Utilisation du menu contextuel de Ncurses. Pour désactiver un volume ou un objet avec le menu contextuel de Ncurses : 1. Sélectionnez le volume et/ou objet à désactiver et appuyez sur Entrée. 2. Sélectionnez "Deactivate". 3. Sélectionnez Deactivate. 4. Sélectionnez Actions->Save pour enregistrer les modifications et désactiver le(s) volume(s) et/ou objet(s). 2.2.5. Utilisation de la ligne de commande [CLI] Utilisez la commande suivante pour désactiver un volume ou objet à partir de la ligne de commande ("nom" doit être remplacé par le nom du volume ou objet à désactiver): Deactivate:nom 2.3. Activation et désactivation : les dépendances. Afin qu'un volume ou objet soit actif, il faut que tous ses enfants soient actifs. Quand vous activez un volume ou objet, EVMS active tous les objets compris dans ce volume ou objet. De même, pour qu'un objet soit inactif, tous ses parents doivent l'être également. Quand vous désactivez un volume ou un objet, EVMS désactive tous les objets et volumes construits à partir de cet objet. 2.3.1. Les dépendances lors de l'activation initiale. Ainsi qu'il a été dit dans la section 18.1, au démarrage d'EVMS une première liste de volumes et d'objets dont les noms correspondent à l'entrée "include" de la section d'activation du fichier etc/evms.conf est établie. Comme ces volumes et objets ne peuvent être actifs si les objets qu'ils contiennent ne sont pas actifs, EVMS ajoute à la liste tous les objets compris dans les volumes et objets qui se trouvaient dans la première liste. Ensuite EVMS retire de la liste les volumes et objets dont les noms correspondent à l'entrée "exclude" de la section d'activation du fichier etc/evms.conf. Comme les volumes ou objets construits à partir de ceux qui viennent d'être exclus ne peuvent pas être actifs, EVMS les retire de la liste également. L'application des dépendances peut entraîner un comportement qui n'est pas immédiatement visible. Par exemple, disons que nous transformons le segment hda7 en un volume nommé /dev/evms/home et que nous avons, comme section d'activation dans le fichier etc/evms.conf ceci : activate { include = [*] exclude = [hda*] } Quand EVMS établit la liste des volumes et objets à activer, tout est inclus. EVMS retire ensuite tous les objets dont le nom commence par "hda". Hda7 sera retiré de la liste. Puis, comme le volume /dev/evms/home est construit à partir de hda7, il sera aussi retiré de la liste et ne sera pas activé. Ainsi, même si ce volume n'est pas explicitement dans la liste "exclude", il ne sera pas activé car il dépend d'un objet qui ne sera pas activé. 2.3.2. Les dépendances dans le cas des volumes de compatibilité Les volumes de compatibilité sont directement construits à partir des objets du volume. Le noeud de périphérique de ce volume pointe directement sur le périphérique de l'objet du volume. Comme un volume de compatibilité est inséparable de son objet, un volume de compatibilité ne peut pas être désactivé. Pour désactiver un volume de compatibilité, vous devez désactiver l'objet de ce volume. De même, si un volume de compatibilité et son objet ne sont pas actifs et que vous activez l'objet du volume, le volume de compatibilité sera actif lui aussi. Chapter 19. Montage et démontage des volumes à partir d'EVMS Table of Contents 1. Montage d'un volume. 1.1. Utilisation de l'interface graphique d'EVMS. 1.2. Utilisation de Ncurses. 1.3. Utilisation de la ligne de commande [CLI] 2. Démontage d'un volume 2.1. Utilisation de l'interface graphique d'EVMS. 2.2. Utilisation de Ncurses. 2.3. Utilisation de la ligne de commande [CLI] 3. Le système de fichiers SWAPFS 3.1. Activation du swap 3.2. Désactivation du swap Certaines opérations sur les volumes, comme l'extension ou la réduction, peuvent nécessiter que le volume soit monté ou démonté avant de pouvoir être réalisées. EVMS permet de monter et démonter des volumes sans avoir à ouvrir une session console séparée. EVMS réalise les opérations de montage et démontage immédiatement, il n'attend pas que les modifications aient été enregistrées. 1. Montage d'un volume. Cette section explique comment monter un volume à l'aide des diverses interfaces d'EVMS. 1.1. Utilisation de l'interface graphique d'EVMS. Pour monter un volume à l'aide de l'interface d'EVMS : 1. Sélectionnez Actions->File System->Mount. 2. Sélectionnez le volume que vous voulez monter. 3. Dans la zone "Mount Point", entrez le répertoire dans lequel vous voulez monter le volume. 4. Cliquez sur "Options" si vous voulez entrer des options supplémentaires. 5. Cliquez sur "Mount". On peut aussi utiliser le menu contextuel : 1. Faites un clic droit sur le volume que vous voulez monter. 2. Cliquez sur "Mount..." 3. Dans la zone "Mount Point", entrez le répertoire dans lequel vous voulez monter le volume 4. Cliquez sur "Options" si vous voulez entrer des options supplémentaires. 5. Cliquez sur "Mount". 1.2. Utilisation de Ncurses. Pour monter un volume à l'aide de Ncurses : 1. Sélectionnez Actions->File System->Mount. 2. Sélectionnez le volume que vous voulez monter. 3. A l'invite "Mount Point", entrez le répertoire dans lequel vous voulez monter le volume et appuyez sur Entrée. 4. Sélectionnez "Mount Options" si vous voulez entrer des options supplémentaires. 5. Sélectionnez "Mount". On peut aussi utiliser le menu contextuel de Ncurses : 1. Surlignez le volume que vous voulez monter et appuyez sur Entrée. 2. Sélectionnez "Mount File System". 3. A l'invite "Mount Point", entrez le répertoire dans lequel vous voulez monter le volume et appuyez sur Entrée. 4. Sélectionnez "Mount Options" si vous voulez entrer des options supplémentaires. 5. Sélectionnez "Mount". 1.3. Utilisation de la ligne de commande [CLI] Pour monter un volume à partir de la ligne de commande : mount:, , [ ] est le nom du volume à monter. est le nom du répertoire dans lequel monter le volume. est une chaîne de caractères d'options à passer à la command "mount". 2. Démontage d'un volume Cette section explique comment démonter un volume à l'aide des diverses interfaces d'EVMS. 2.1. Utilisation de l'interface graphique d'EVMS. Pour démonter un volume à l'aide de l'interface d'EVMS : 1. Sélectionnez Actions->File System->Unmount. 2. Sélectionnez le volume que vous voulez démonter. 3. Cliquez sur "Unmount". On peut aussi utiliser le menu contextuel : 1. Faites un clic droit sur le volume que vous voulez démonter. 2. Cliquez sur "Unmount..." 3. Cliquez sur "Unmount". 2.2. Utilisation de Ncurses. Pour démonter un volume à l'aide de Ncurses : 1. Sélectionnez Actions->File System->Unmount... 2. Sélectionnez le volume que vous voulez démonter. 3. Sélectionnez "Unmount". On peut aussi utiliser le menu contextuel de Ncurses : 1. Surlignez le volume que vous voulez démonter et appuyez sur Entrée. 2. Sélectionnez "Unmount File System". 3. Sélectionnez "Unmount". 2.3. Utilisation de la ligne de commande [CLI] Pour monter un volume à partir de la ligne de commande : unmount: est le nom du volume à démonter. 3. Le système de fichiers SWAPFS Un volume utilisant le système de fichiers SWAPFS ne se monte ni se démonte. A la place, on active la permutation [swapping] du volume avec la commande sbin/swapon et on la désactive avec la commande sbin/swapoff. EVMS permet d'activer et de désactiver le swap d'un volume sans avoir à utiliser un terminal séparé. Comme pour le montage et le démontage, EVMS réalise les opérations d'activation et de désactivation du swap immédiatement, il n'attend pas que les modifications aient été enregistrées. 3.1. Activation du swap Cette section explique comment activer le swap d'un volume à l'aide des diverses interfaces d'EVMS. 3.1.1. Utilisation de l'interface d'EVMS Pour activer le swap d'un volume avec l'interface d'EVMS : 1. Sélectionnez Actions->Other->Volume tasks... 2. Sélectionnez le volume dont vous voulez activer le swap et cliquez sur "Next". 3. Sélectionnez "Swap on" et cliquez sur "Next". 4. Sélectionnez la priorité pour le swap. Si vous choisissez "high" [élevée], une nouvelle invite apparaîtra pour le niveau de priorité. Le niveau de priorité est un nombre compris entre 0 et 32767. La valeur par défaut est 0. 5. Cliquez sur "Swap on". On peut aussi utiliser le menu contextuel de l'interface d'EVMS : 1. Faites un clic droit sur le volume utilisant le SWAPFS à activer. 2. Cliquez sur "Swap on...". 3. Sélectionnez la priorité pour le swap. Si vous choisissez "high" [elevée], une nouvelle invite apparaîtra pour le niveau de priorité. Le niveau de priorité est un nombre compris entre 0 et 32767. La valeur par défaut est 0. 4. Cliquez sur "Swap on". 3.1.2. Utilisation de Ncurses Pour activer le swap d'un volume avec Ncurses : 1. Sélectionnez Actions->Other->Volume tasks... 2. Sélectionnez le volume dont vous voulez activer le swap et sélectionnez "Next". 3. Sélectionnez "Swap on" et sélectionnez "Next". 4. Sélectionnez la priorité pour le swap. Si vous choisissez "high" [elevée], une nouvelle invite apparaîtra pour le niveau de priorité. Le niveau de priorité est un nombre compris entre 0 et 32767. La valeur par défaut est 0. 5. Sélectionnez "Swap on". On peut aussi utiliser le menu contextuel de Ncurses : 1. Surlignez le volume en utilisant le SWAPFS à activer. 2. Sélectionnez "Swap on..." 3. Sélectionnez la priorité pour le swap. Si vous choisissez "high" [elevée], une nouvelle invite apparaîtra pour le niveau de priorité. Le niveau de priorité est un nombre compris entre 0 et 32767. La valeur par défaut est 0. 4. Sélectionnez "Swap on". 3.1.3. Utilisation de la ligne de commande [CLI] Pour activer le swap à partir de la ligne de commande : Task: swapon, [, priority=low | , priority=high [level=0..32767]] est le nom du volume dont vous voulez activer le swap. 3.2. Désactivation du swap Cette section explique comment désactiver le swap d'un volume à l'aide des diverses interfaces d'EVMS. 3.2.1. Utilisation de l'interface d'EVMS Pour désactiver le swap d'un volume avec l'interface d'EVMS : 1. Sélectionnez Actions->Other->Volume tasks... 2. Sélectionnez le volume dont vous voulez désactiver le swap et cliquez sur "Next". 3. Sélectionnez "Swap off" et cliquez sur "Next". 4. Cliquez sur "Swap off". On peut aussi utiliser le menu contextuel de l'interface d'EVMS : 1. Faites un clic droit sur le volume utilisant le SWAPFS à désactiver. 2. Cliquez sur "Swap off...". 3. Cliquez sur "Swap off". 3.2.2. Utilisation de Ncurses Pour désactiver le swap d'un volume avec Ncurses : 1. Sélectionnez Actions->Other->Volume tasks... 2. Sélectionnez le volume dont vous voulez désactiver le swap et sélectionnez "Next". 3. Sélectionnez "Swap off" et sélectionnez "Next". 4. Sélectionnez "Swap off". On peut aussi utiliser le menu contextuel de Ncurses : 1. Surlignez le volume utilisant le SWAPFS à désactiver. 2. Sélectionnez "Swap off..." 3. Sélectionnez "Swap off". 3.2.3. Utilisation de la ligne de commande [CLI] Pour désactiver le swap à partir de la ligne de commande : Task: swapoff, est le nom du volume dont vous voulez désactiver le swap. Chapter 20. Les tâches liées aux opérations de plug-in Table of Contents 1. Qu'est-ce qu'une tâche de plug-in ? 2. Exemple : Réaliser une tâche de plug-in. 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] Ce chapitre traite des tâches liées aux opérations de plug-in et explique comment les réaliser avec l'interface EVMS, Ncurses et la ligne de commande. 1. Qu'est-ce qu'une tâche de plug-in ? Les tâches de plug-in sont des fonctionnalités qui ne sont disponibles que dans le contexte d'un plug-in particulier. Ces fonctionnalités ne sont pas communes à tous les plug-ins. Par exemple, ajouter des disques de rechange à un système RAID n'a de sens que dans le contexte du plug-in MD, de même que mettre à jour un instantané de sauvegarde de disque n'a de sens que dans le contexte du plug-in Snapshot. 2. Exemple : Réaliser une tâche de plug-in. Cette section explique comment réaliser une tâche de plug-in avec les interfaces EVMS, Ncurses et en ligne de commande. Example 20.1. Ajouter un disque de rechange à un volume de compatibilité à partir d'une région MDRaid5. Dans cet exemple, on ajoute le disque sde en tant que disque de rechange au volume /dev/evms/md/md0, qui est un volume de compatibilité créé dans une région MDRaid5. 2.1. Utilisation de l'interface d'EVMS Pour ajouter le disque sde au volume /dev/evms/md/md0 avec l'interface d'EVMS : 1. Sélectionnez Other->Storage Object Tasks... 2. Sélectionnez md/md0. 3. Cliquez sur "Next". 4. Sélectionnez "Add spare object". 5. Cliquez sur "Next". 6. Sélectionnez sde. 7. Cliquez sur "Add". 8. L'opération est réalisée lorsque vous enregistrez. Vous pouvez aussi utiliser le menu contextuel : 1. Visualisez la région md/md0. On peut visualiser la région en cliquant sur la petite croix "+" à coté du nom de volume (/dev/evms/md/md0) dans l'onglet des volumes, ou en sélectionnant l'onglet des régions. 2. Faites un clic droit sur la région (md/md0). Une liste d'actions réalisables et de raccourcis de navigation apparaît. Les derniers éléments de la liste sont les tâches réalisables à ce moment précis. 3. Pointez "Add spare object" et cliquez. 4. Sélectionnez sde. 5. Cliquez sur "Add". 2.2. Utilisation de Ncurses Pour ajouter le disque sde au volume /dev/evms/md/md0 avec Ncurses : 1. Sélectionnez Other->Storage Object Tasks... 2. Sélectionnez md/md0. 3. Activez "Next". 4. Sélectionnez "Add spare object". 5. Activez "Next". 6. Sélectionnez sde. 7. Activez "Add". Vous pouvez aussi utiliser le menu contextuel : 1. A partir de la vue des régions, faites Entrée sur md/md0 2. Activez l'élément du menu "Add spare object" 3. Sélectionnez sde 4. Activez "Add" 2.3. Utilisation de la ligne de commande [CLI] Avec la ligne de commande d'EVMS, toutes les tâches de plug-in doivent être réalisées avec la commande "task". Voici les étapes à suivre pour ajouter le disque sde au volume /dev/evms/md/md0 à partir de la ligne de commande : 1. La requête suivante, avec le filtre "list options", détermine les tâches réalisables pour un objet en particulier, et les paires nom-valeur qu'il accepte. Avec cette commande, on obtient une information qui indique quelles tâches plug-in sont réalisables ainsi que les informations dont on aura besoin pour construire la commande. query: objects, object=md/md0, list options 2. La commande prend en argument le nom de la tâche (qui a été fourni suite à la requête précédente), l'objet sur lequel opérer (ici, md/md0), toute option nécessaire (ici, aucune) et, le cas échéant, un autre objet devant être manipulé (dans notre exemple, sde, qui est le disque de rechange que nous voulons ajouter) : task: addspare, md/md0, sde La commande est réalisée lors de l'enregistrement. Chapter 21. Suppression des objets Table of Contents 1. Comment supprimer des objets : "delete" et "delete recursive" 2. Exemple : réaliser une opération "delete recursive" 2.1. Utilisation de l'interface d'EVMS 2.2. Utilisation de Ncurses 2.3. Utilisation de la ligne de commande [CLI] 2.4. Utilisation de l'interface d'EVMS 2.5. Utilisation de Ncurses 2.6. Utilisation du CLI Ce chapitre explique comment supprimer des objets EVMS à l'aide des opérations "delete" (supprimer) et "delete recursive" (supprimer récursivement). 1. Comment supprimer des objets : "delete" et "delete recursive" Avec EVMS, il y a deux manières de détruire les objets dont vous ne voulez plus : "delete" et "delete recursive". L'option "delete" détruit uniquement l'objet que vous spécifiez. L'option "delete recursive" détruit l'objet que vous spécifiez et tous ses objets sous-jacents, jusqu'au conteneur s'il y en a un, ou bien jusqu'au disque. Pour qu'un volume soit supprimé, il ne doit pas être monté. EVMS vérifie que le volume que vous essayez de détruire n'est pas monté et n'effectue pas la suppression si le volume est monté. 2. Exemple : réaliser une opération "delete recursive" L'exemple suivant montre comment détruire un volume et les objets qu'il contient avec les interfaces graphiques d'EVMS, de Ncurses et à partir de la ligne de commande. Example 21.1. Détruire un volume et la région et le conteneur qu'il contient Cet exemple utilise l'opération "delete recursive" pour détruire le volume /dev/evms/Sample Volume et la région et le conteneur qu'il contient. Le volume en question a été créé dans l'exemple plus haut. Bien que l'on puisse utiliser l'option « delete » sur chaque objet séparément, l'option « delete recursive » nécessite moins d'étapes. Il faut remarquer que, comme nous voulons supprimer le conteneur ainsi que le volume, l'opération doit être effectuée en deux étapes : la première consiste à supprimer le volume et son contenu, la deuxième à supprimer le conteneur et son contenu. 2.1. Utilisation de l'interface d'EVMS Pour monter un volume à l'aide de l'interface d'EVMS : 1. Sélectionnez Actions->Delete->Volume. 2. Sélectionnez le volume /dev/evms/Sample Volume dans la liste. 3. Cliquez sur "Delete Recursive". Cette étape supprime le volume et la région lvm/Sample Container/Sample Region. Si vous voulez conserver les parties sous-jacentes, ou supprimer chaque partie séparément, vous devrez cliquer sur « Delete » au lieu de « Delete Recursive ». 4. Si vous avez choisi "Delete Recursive", sélectionnez Actions->Delete->Container. Sinon, supprimez la région avant de continuer. 5. Sélectionnez le conteneur lvm/Sample Container dans la liste. 6. Cliquez sur "Delete Recursive" pour détruire le conteneur et tout ce qu'il contient. Vous pouvez aussi cliquer sur « delete » pour ne détruire que le conteneur. (Si vous avez construit le conteneur sur les disques comme dans l'exemple, les deux commandes ont le même effet.) On peut aussi utiliser le menu contextuel : 1. À partir de l'onglet "Volumes", cliquez droit sur /dev/evms/Sample Volume. 2. Cliquez sur "Delete..." 3. Reprenez les opérations à partir de l'étape 3 des instructions de l'interface d'EVMS . 2.2. Utilisation de Ncurses Pour supprimer le volume et le conteneur à l'aide de Ncurses : 1. Sélectionnez Actions->Delete->Volume. 2. Sélectionnez le volume /dev/evms/Sample Volume dans la liste. 3. Activez "Delete Volume Recursively". Cela permet de supprimer le volume et la région lvm/Sample Container/Sample Region. Si vous voulez conserver les parties sous-jacentes, ou supprimer chaque partie séparément, vous devrez activer "Delete" au lieu de "Delete Recursive". 4. Si vous avez choisi "Delete Recursive", sélectionnez Actions->Delete->Container. Sinon, supprimez la région avant de continuer. 5. Sélectionnez le conteneur lvm/Sample Container dans la liste. 6. Cliquez sur "Delete Recursive" pour détruire le conteneur et tout ce qu'il contient. Vous pouvez aussi activer "Delete" pour ne détruire que le conteneur (si vous avez construit le conteneur sur les disques comme dans l'exemple, les deux commandes ont le même effet). 7. Appuyez sur Entrée On peut aussi utiliser le menu contextuel de Ncurses : 1. À partir de la vue "Volumes", faites Entrée sur /dev/evms/Sample Volume. 2. Activez "Delete" 3. Reprenez les opérations à partir de l'étape 3 des instructions de l'interface Ncurses classique. 2.3. Utilisation de la ligne de commande [CLI] Utilisez les commandes delete et delete recursive pour détruire les objets EVMS. Entrez le nom de la commande suivie d'un ":", puis entrez le nom du volume, objet ou conteneur. Par exemple : 1. Entrez cette commande pour réaliser l'opération "Delete Recursive" : delete recursive: "/dev/evms/Sample Volume" Cela permet de supprimer le volume et la région /lvm/Sample Container/Sample Region. Si vous voulez conserver les parties sous-jacentes, ou supprimer chaque partie séparément, vous devez utiliser la commande delete comme suit : delete: "/dev/evms/Sample Volume" 2. Si vous avez choisi "Delete Recursive", (sinon, supprimez la région avant de continuer) entrez la commande suivante pour détruire le conteneur et tout ce qu'il contient : delete recursive: ''lvm/Sample Container'' Pour ne détruire que le container : delete: ''lvm/Sample Container'' 2.4. Utilisation de l'interface d'EVMS Pour supprimer le volume et le conteneur avec l'interface d'EVMS, suivez ces étapes : 1. Sélectionnez Actions -> Delete -> Volume . 2. Sélectionnez dans le liste le volume /dev/evms/Sample Volume 3. Cliquez sur Recursive Delete (suppression récursive). Cette étape supprime le volume et la région lvm/Sample Container/Sample Region. Pour garder les éléments sous-jacents ou supprimer chaque élément séparément, on cliquera sur Delete(supprimer) au lieu de Delete Recursive. 4. Si vous avez choisi la suppression récursive (dans le cas contraire, supprimez la région avant de poursuivre cette procédure), sélectionnez Actions -> Delete -> Container. 5. Sélectionnez dans la liste le conteneur lvm/Sample Container. 6. Cliquez sur Recursive Delete pour supprimer le conteneur et tout ce qu'il contient. On peut aussi supprimer uniquement le conteneur en cliquant sur Delete (Si le conteneur a été construit sur des disques, comme dans l'exemple, les deux commandes auront le même effet). On peut également effectuer certaines étapes de suppression de volume à l'aide du menu contextuel de l'interface : 1. Dans l'onglet Volumes, faites un clic droit sur /dev/evms/Sample Volume. 2. Cliquez sur Delete... (supprimer) 3. Poursuivez en reprenant à partir de l'étape 3 des instructions données pour l'interface. 2.5. Utilisation de Ncurses Pour supprimer le volume et le conteneur avec Ncurses, suivez ces étapes : 1. Sélectionnez Actions -> Delete -> Volume. 2. Sélectionnez dans le liste le volume /dev/evms/Sample Volume. 3. Activez Delete Volume Recursively. Cette étape supprime le volume et la région lvm/Sample Container/Sample Region. Pour garder les éléments sélectionnés ou supprimer chaque élément séparément, activez Delete(supprimer) au lieu de Delete Recursive. 4. Si vous avez choisi la suppression récursive (Delete Volume Recursively) (dans le cas contraire, supprimez la région avant de poursuivre cette procédure), sélectionnez Actions -> Delete -> Container. 5. Sélectionnez dans la liste le conteneur lvm/Sample Container. 6. Cliquez sur Recursive Delete pour supprimer le conteneur et tout ce qu'il contient. Pour supprimer uniquement le conteneur, cliquez sur Delete (Si le conteneur a été construit sur des disques, comme dans l'exemple, les deux commandes auront le même effet). 7. Appuyez sur la touche Enter. Vous pouvez également effectuer certaines étapes de suppression de volume à l'aide du menu contextuel de l'interface : 1. Dans la vue des volumes, appuyez sur Enter sur /dev/evms/Sample Volume. 2. Activez Delete (supprimer). 3. Continuez les opérations à partir de l'étape 3 des instructions de Ncurses. 2.6. Utilisation du CLI Pour supprimer des objets EVMS, utilisez les commandes delete et delete recursive. Spécifiez le nom de la commande suivi de deux points et entrez ensuite le nom du volume, de l'objet ou du conteneur. Par exemple : 1. Entrez cette commande pour effectuer une suppression récursive : delete recursive: '/dev/evms/Sample Volume' Cette étape supprime le volume et la région /lvm/Sample Container/Sample Region. Pour garder les élément selectionnés, ou pour supprimer chaque élément séparément, utilisez la commande delete, comme ceci : delete: '/dev/evms/Sample Volume' 2. Si vous avez choisi Delete Volume Recursively (dans le cas contraire, supprimez la région avant de poursuivre cette procédure), entrez la commande suivante pour supprimer le conteneur et ce qu'il contient : delete recursive: 'lvm/Sample Container' Pour supprimer uniquement le conteneur, entrez la commande suivante : delete: 'lvm/Sample Container' Chapter 22. Remplacement des objets Table of Contents 1. Qu'est-ce que le remplacement d'objet [object-replace]? 2. Remplacement d'un objet fils de type lien de disque 2.1. Utilisation de l'interface d'EVMS ou de Ncurses 2.2. Utilisation du CLI Ce chapitre décrit comment remplacer des objets. 1. Qu'est-ce que le remplacement d'objet [object-replace]? On peut parfois avoir besoin de changer la configuration d'un objet de volume ou de stockage. Par exemple, on peut souhaiter remplacer un des disques d'un objet de type lien de disque ou RAID-0 par un disque plus récent et plus rapide. Autre exemple : on peut avoir un volume EVMS créé à partir d'un simple segment de disque, et vouloir transformer ce segment en une région RAID-1 pour apporter des redondances de données supplémentaires. "Object-replace" permet d'accomplir ces tâches. Object-replace permet d'échanger un objet avec un autre objet. Le nouvel objet est ajouté alors que le premier est toujours en place. Les données sont ensuite copiées de l'original vers le nouvel objet. Lorsque la copie est terminée, l'objet original est supprimé. Ce processus peut etre effectué pendant que le volume est monté et en cours d'utilisation. 2. Remplacement d'un objet fils de type lien de disque Pour cet exemple, nous allons démarrer avec un objet lien de disque nommé link1, qui est composé de deux segments de disque nommés sda1 et sdb1. L'objectif est de remplacer sdb1 par un autre segment nommé sdc1. [17][Note] Note Avec le plug-in de liaison de disque , l'objet cible (ici sdc1) peut être de même taille ou plus grand que l'objet source. Si la cible est plus grande, l'espace supplémentaire sera inutilisé. D'autres plug-ins ont des restrictions différentes et peuvent nécessiter que les deux objets soient de même taille. 2.1. Utilisation de l'interface d'EVMS ou de Ncurses Pour remplacer sdb1 par sdc1, suivez ces étapes : 1. Sélectionnez Actions -> Replace (Remplacer). 2. Dans le panneau « Replace Source Object », sélectionnez sdb1. 3. Cliquez sur Next. 4. Dans le panneau « Select Replace Target Object », sélectionnez sdc1. 5. Activez Replace. Vous pouvez également effectuer ces mêmes étapes à l'aide du menu contextuel : 1. Dans le panneau « Disk Segments », faites un clic droit (ou appuyer sur Entrée) sur l'objet sdb1. 2. Choisissez Replace dans le menu contextuel. 3. Dans le panneau « Select Replace Target Object », sélectionnez sdc1 . 4. Cliquez sur Replace. Lorsqu'on enregistre les changements, EVMS commence à copier les données de sdb1 vers sdc1. La barre d'état en bas de l'interface montrera l'avancement de la copie. L'interface doit rester ouverte jusqu'à la fin de la copie. C'est à ce moment-là que l'objet sdb1 sera déplacé vers le panneau « Available Objects ». 2.2. Utilisation du CLI Pour remplacer des objets avec le CLI, utilisez la commande Replace : Replace:nom_de_l_objet_source, nom_de_l_objet_cible « nom_de_l_objet_source » est le nom de l'objet qui doit etre remplacé par « nom_de_l_objet_cible ». Dans l'exemple suivant, sdb1 est remplacé par sdc1. Replace:sdb1,sdc1 Chapter 23. Déplacement des objets de stockage de segments Table of Contents 1. Le déplacement de segments 2. Pourquoi déplacer un segment ? 3. Quels plug-ins de gestionnaire de segments implémentent la fonction de déplacement ? 4. Exemple : déplacer un segment DOS 4.1. Utilisation du menu contextuel de l'interface d'EVMS 4.2. Utilisation de Ncurses 4.3. Utilisation du CLI Ce chapitre explique pourquoi et comment déplacer des segments. 1. Le déplacement de segments On appelle déplacement de segments le fait de déplacer un segment vers un autre emplacement sur l'objet de stockage sous-jacent. Le nouvel emplacement du segment ne doit pas se chevaucher avec son emplacement actuel. 2. Pourquoi déplacer un segment ? On peut déplacer les segments pour de nombreuses raisons, la plus convaincante étant une meilleure utilisation de l'espace libre du disque. L'espace libre du disque est une zone contigue inutilisée de secteurs sur un disque que EVMS a identifiée comme segment d'espace libre. Un segment de données peut être étendu uniquement en ajoutant des secteurs à la fin du segment, ce qui amène la fin du segment de données dans l'espace libre qui suit immédiatement le segment de données. Cependant, que faire si il n'y a pas d'espace libre qui suit juste après le segment de données ? Un ou plusieurs segments peuvent être déplacés ailleurs afin de créer de l'espace libre après le segment qui doit être agrandi. Par exemple : * le segment qui suit le segment à agrandir peut être déplacé autre part sur le disque, libérant ainsi de l'espace après le segment à agrandir. * le segment à agrandir peut être déplacé vers un espace libre où il y a plus de place pour lui. * le segment peut être déplacé vers l'espace libre qui précède le segment de sorte que, après le déplacement, le segment de données peut être agrandi dans l'espace libre créé par le déplacement. 3. Quels plug-ins de gestionnaire de segments implémentent la fonction de déplacement ? Les plug-ins de gestionnaire de segments suivants prennent en charge la fonction de déplacement : * DOS * s390 * GPT 4. Exemple : déplacer un segment DOS Cette section montre comment déplacer un segment DOS [18][Note] Note Dans l'exemple suivant, le gestionnaire de segment DOS a une seule partition primaire sur le disque sda qui se trouve à la toute fin du disque. Nous voulons la déplacer au début du disque car nous souhaitons agrandir ce segment et il n'y a pas actuellement d'espace libre après celui-ci. 4.1. Utilisation du menu contextuel de l'interface d'EVMS Pour déplacer le segment DOS à l'aide du menu contextuel de l'interface, suivez ces étapes : 1. Dans l'onglet Segments, faites un clic droit sur sda1. 2. Cliquez sur Move (déplacer). 3. Sélectionnez sda_freespace1. 4. Cliquez sur Move. 4.2. Utilisation de Ncurses Pour déplacer le segment DOS, suivez ces étapes : 1. Utilisez la touche Tabulation pour sélectionner la vue des segments de disque [Disk Segments]. 2. Faite défiler vers le bas avec la flèche descendante et sélectionnez sda1. 3. Appuyez sur Enter. 4. Faite défiler vers le bas avec la flèche descendante et sélectionnez Move en appuyant sur Enter. 5. Utilisez la touche espace pour sélectionner sda_freespace1. 6. Utilisez la touche Tabulation pour sélectionner Move et appuyez sur Enter. 4.3. Utilisation du CLI Pour déplacer un segment DOS avec le CLI, utilisez la commande task. task:Move,sda1,sda_freespace1 Appendix A. Le plug-in DOS Table of Contents 1. L'implémentation du plug-in DOS 2. Affectation du plug-in DOS 3. Création de partitions DOS 4. Extension d'une partition DOS 5. Raccourcir une partition DOS 6. Suppression de partitions Le plug-in DOS est le plug-in de gestion de segment d'EVMS le plus couramment utilisé. Il supporte les partitionnements de disque DOS ainsi que : * les partitions OS/2 qui nécessitent des secteurs de métadonnées supplémentaires. * les tables de partitions imbriquées : SolarisX86, BSD et UnixWare. Le plug-in DOS lit les métadonnées et construit les objets de stockage de segments qui fournissent le mappage des partitions du disque. 1. L'implémentation du plug-in DOS Le plug-in DOS permet la compatibilité avec les tables de partition DOS. Il produit les objets de stockage de segments d'EVMS qui mappent les partitions primaires décrites par la table de partition MBR et les partitions logiques décrites par les tables de partition EBR. Les partitions DOS ont des noms construits à partir de deux informations: * le périphérique sur lequel elles sont. * l'entrée de la table de partition qui a fourni l'information. Prenons, par exemple, la partition nommé hda1, qui décrit une partition présente sur le périphérique hda, dans la table de partition MBR. La table de partition DOS peut enregistrer quatre entrées. Les numéros de partitions 1 à 4 renvoient aux enregistrements de partitions MBR. Ainsi, dans l'exemple donné, la partition hda1 est décrite par la toute première partition enregistrée dans la table de partitions MBR. Les partitions logiques, cependant, sont différentes des partitions primaires. Les tables de partitions EBR sont éparpillées sur tout un disque, mais elles sont reliées ensemble en une chaîne dont on trouve le premier élément en utilisant un enregistrement d'une partition étendue situé dans la table de partitions MBR. Chaque table de partition EBR contient un enregistrement de partition qui décrit une partition logique sur le disque. Le nom de la partition logique indique sa position dans la chaîne EBR. Comme la table de partition MBR se ré serve les numérotations 1 à 4, la toute première partition logique est toujours la numéro 5. La partition logique suivante, que l'on trouve en parcourant la chaîne EBR, est numérotée 6, et ainsi de suite. Donc, la partition hda5 est une partition logique qui est décrite par un enregistrement de partition dans la toute première table de partition EBR. Lorsqu'il part à la découverte des partitions DOS, le plug-in DOS recherche également les métadonnées DLAT pour OS/2 afin de déterminer si le disque est de type OS/2. Un disque OS/2 possède des métadonnées supplémentaires, et ces métadonnées sont validées lors de la récupération. Il est important que le plug-in DOS connaisse ces informations, car un disque OS/2 doit maintenir ces informations supplémentaires sur la partition. (C'est la raison pour laquelle, lorsque le plug-in DOS est affecté à un disque, celui-ci demande si c'est un disque Linux ou OS/2) Le plug-in DOS doit savoir quelle quantité d'information doit être gardée sur le disque et quel type de question il peut poser à l'utilisateur pour obtenir des informations. Un disque OS/2 peut contenir des volumes compatibles ainsi que des volumes logiques. Un volume compatible est une partition unique à laquelle une lettre de disque qui peut être montée a été affectée. Un volume logique OS/2 est un lien de disque vers une ou plusieurs partitions qui ont un logiciel de réadressage des blocs défectueux au niveau de la partition en cas d'erreur de bloc. Les partitions imbriquées, comme celle présentes sur un disque SolarisX86 ou sur un disque compatible BSD, se situent à l'intérieur d'une partition primaire. C'est pour cela que le plug-in DOS inspecte les partitions primaires qu'il trouve afin de déterminer la présence éventuelle de partitions imbriquées. Le champ de type d'une partition permet d'indiquer si la partition possède des tables de partitions imbriquées. Par exemple, une partition primaire de type 0xA9 a probablement une table de partitions BSD qui subdivise la partition primaire en partitions BSD. Le plug-in DOS recherche des noms de disques BSD et des partitions de données BSD sur la partition primaire. Si le plug-in DOS trouve un nom de disque BSD, il exporte les partitions BSD. Comme cette partition primaire n'est pas une partition de donnée mais simplement, en fait, le contenant dans lequel sont les partitions BSD, elle n'est pas exportée par le plug-in DOS. Les partitions imbriquées sont nommées d'après la partition primaire dans laquelle elles ont été trouvées. Par exemple, hda3.1 est le nom de la première partition imbriqué trouvé dans la partition hda3. 2. Affectation du plug-in DOS On affecte un gestionnaire de segment à un disque pour que le plug-in puisse gérer les partitions du disque. Pour pouvoir assigner un gestionnaire de segment à un disque, le plug-in doit créer et maintenir les métadonnées appropriées, ce qui se fait avec l'option « disk type ». Lorsque vous spécifiez l'option « disk type » et que vous choisissez Linux ou OS/2, le plug-in sait quelles sortes de métadonnées doivent être conservées, et quelles sortes de questions il doit poser lors de la création de partitions. Une autre option pour OS/2 est l'option « disk name », grâce à laquelle on peut donner un nom pour le disque qui sera enregistré dans les métadonnées OS/2 et qui sera conservé pour chaque redémarrage. 3. Création de partitions DOS Il y a deux partitions DOS de base : 1. Une partition primaire, qui est décrite dans un enregistrement de partition dans la table de partition MBR. 2. Une partition logique, qui est décrite dans un enregistrement de partition dans la table de partition EBR. Chaque table de partitions peut contenir quatre enregistrement de partitions; cependant, ceci fait l'objet de quelques règles qui imposent des limites. Une table de partition MBR peut contenir quatre partitions primaires, à moins que vous ayez également des partitions logiques. Dans ce cas, un seul enregistrement de partition est utilisé pour décrire une partition étendue et le début de la chaîne EBR qui, à son tour, décrit les partitions logiques. Comme toutes les partitions logiques doivent être dans la partition étendue, on ne peut pas allouer de l'espace pour une partition primaire dans une partition étendue, et on ne peut pas allouer de l'espace pour une partition logique en dehors ou à côté de cette zone. Enfin, une table de partition EBR a deux rôles : 1. Elle décrit une partition logique et donc utilise un enregistrement de partition dans ce but. 2. Elle utilise un enregistrement de partition pour localiser la table de partition EBR suivante. Une table de partition EBR utilise au maximum deux entrées. Lors de la création d'une partition DOS, les options dont on dispose dépendent du type de disque sur lequel on travaille. Cependant, les disques OS/2 et Linux obligent tous les deux à choisir un segment d'espace libre sur le disque sur lequel le nouveau segment de données sera créé. Les options de création sont : size La taille de la partition que l'on crée. Tout ajustement nécessaire pour l'alignement , sera effectué par le plug-in DOS ; la taille de la partition obtenue peut donc être légèrement différente de la valeur entrée. offset Permet de sauter des secteurs et de commencer la nouvelle partition à l'intérieur de la zone d'espace libre en spécifiant le nombre de secteurs à laisser libre avant la nouvelle partition. type Permet d'entrer un type de partition ou de choisir un type de partition dans une liste de type de partitions; exemple : native Linux. primary Permet de choisir entre créer une partition primaire ou une partition logique. Etant données les règles indiquées plus haut, on peut ne pas avoir cette possibilité. Le plug-in DOS peut déterminer si une partition primaire ou une partition logique peut être créée dans l'espace libre choisi et désactiver ce choix. bootable Permet d'activer le champ du drapeau sys_ind dans une partition primaire et le désactive lors de la création d'une partition logique. Le champ du drapeau sys_ind identifie la partition primaire active pour le démarrage. Voici les options supplémentaires pour OS/2 : partition name Une partition OS/2 peut avoir un nom, comme par exemple Fred ou Part1. volume name Les partitions OS/2 appartiennent à des volumes, qu'ils soient de type compatible ou logique, et les volumes ont des noms. Cependant, comme le plug-in DOS n'est pas un gestionnaire de volumes logiques, il se trouve qu'il ne peut pas créer des volumes logiques OS/2. drive letter Pour une partition OS/2, vous pouvez spécifier la lettre du disque, mais ce n'est pas un champ obligatoire. Comme lettres de disque valides, on a : C,D...Z. 4. Extension d'une partition DOS Une partition est une séquence physiquement contiguë de secteurs sur un disque. On peut étendre une partition en ajoutant des secteurs non-alloués à la séquence initiale de secteurs sur le disque. Comme une partition doit rester physiquement contiguë, on peut uniquement étendre une partition en l'étendant dans un espace inutilisé du disque. Ces espaces inutilisées sont montrées par le plug-in DOS comme des segments d'espace libre. Par conséquent, un segment de données peut être étendue uniquement si le segment d'espace libre le suit immédiatement. Pour finir, comme un segment DOS doit se terminer à la fin d'un cylindre, les segments DOS peuvent être étendues par des incréments de la taille d'un cylindre. Cela signifie que si le segment DOS que l'on veut étendre est suivi par un espace libre, on ne peut pas étendre le segment DOS si la taille de l'espace libre qui suit est inférieur à la taille d'un segment. Il y a une option pour l'extension, que voici : size La taille dont on veut étendre le segment. La taille doit être un multiple de la taille d'un segment du disque. 5. Raccourcir une partition DOS Une partition est raccourcie lorsque des secteurs sont retirés de la fin de la partition. Comme un segment DOS doit se terminer à la fin d'un cylindre, une partition est raccourcie en enlevant une quantité de cylindres de la fin du segment. Il y a une option pour raccourcir une partition, que voici : size La taille dont on veut raccourcir le segment. Comme un segment DOS doit se terminer à la fin d'un cylindre, la taille doit être un multiple de la taille d'un segment du disque. 6. Suppression de partitions On peut supprimer une partition tant qu'elle n'est pas actuellement un volume de compatibilité, un volume EVMS, ou utilisée par une autre plug-in EVMS. Il n'y a pas d'option disponible pour la suppression de partitions. Appendix B. Le gestionnaire de région MD Table of Contents 1. Caractéristiques des niveaux RAID Linux 1.1. Le mode linéaire 1.2. RAID-0 1.3. RAID-1 1.4. RAID-4/5 1.5. Le cheminement multiple [multipath] 2. Création d'une région MD (disques multiples) 2.1. Les options pour RAID-0 2.2. Les options pour RAID-1 2.3. Les options pour RAID-4/5 3. Les objets actifs [active objects] et les objets de secours [spare objects] 3.1. Ajouter des objets de secours 3.2. Supprimer des objets de secours 3.3. Ajout d'objets actifs au niveau RAID-1 4. Objets défectueux 4.1. Suppression des objets défectueux 4.2. Réparation des objets temporairement défectueux 4.3. Marquage des objets défectueux 5. Redimensionnement des régions MD 5.1. Linéaire 5.2. RAID-0 5.3. RAID-1 5.4. RAID-4/5 6. Remplacement des Objets Le pilote Multi-disque (MD) du noyau Linux et le plug-in MD d'EVMS fournissent une implémentation logicielle du RAID (Redudant Array of Inexpensive Disks : batterie redondante de disques bon marché). L'idée de base de la technologie RAID est de regrouper plusieurs disques durs en une batterie de disques pour augmenter les capacités, les performances et la fiabilité. Le standard RAID défint une grande variété de méthodes pour combiner les disques en une batterie RAID. Sous linux, MD implémente un sous-ensemble du standard RAID complet, comprenant RAID-0, RAID-1, RAID-4 et RAID-5. De plus, MD supporte également d'autres types de regroupements nommés Linear-RAID et Multipath. En complément de cette annexe, on trouvera des informations supplémentaires sur RAID et le pilote MD de Linux à l'adresse : www.tldp.org/HOWTO/Software-RAID-HOWTO.html 1. Caractéristiques des niveaux RAID Linux Tous les niveaux RAID sont utilisés pour combiner plusieurs périphériques en une seule batterie multi-disques [MD]. Le plug-in MD est un gestionnaire de régions, donc EVMS utilise le terme "régions" pour parler des batteries MD. MD peut créer ces régions en utilisant des disques, des segments, ou d'autres régions. Cela signifie qu'il est possible de créer des régions RAID en utilisant d'autres régions RAID, et ainsi de regrouper plusieurs niveaux RAID en une unique pile de volumes. Les sous-sections suivantes décrivent les caractéristiques de chaque niveau RAID Linux. Avec EVMS, ces niveaux peuvent être considérés comme des sous-modules du plug-in MD. 1.1. Le mode linéaire Les régions Linear-RAID regroupent les objets en les joignant les uns aux autres. La lecture (ou l'écriture) linéaire des régions MD commence par une opération d'écriture sur le premier objet fils. Lorsque l'objet est plein, l'écriture continue sur le second objet fils, et ainsi de suite jusqu'à ce que le dernier objet fils soit plein. Il n'est pas nécessaire que les objets fils d'une région Linear-RAID aient la même taille. Avantage : * avec Linear-RAID, nous avons une méthode simple pour la construction de très grandes régions en utilisant de nombreux petits objets. Inconvénients : * le Linear-RAID n'est pas un "vrai" RAID, dans le sens où il n'y a pas de redondance de données. Si l'un des disques plante, la région RAID sera indisponible, ce qui se traduira par une perte partielle ou totale des données de la région. * avec le Linear-RAID, les performances n'augmentent pratiquement pas. Les objets sont reliés simplement d'une manière linéaire qui ne permet pas beaucoup d'entrées/sorties en parallèle (voire aucune) vers de multiples objets fils. Les performances d'un Linear-RAID sont généralement équivalentes aux performances d'un disque unique. 1.2. RAID-0 En général, avec RAID-0 on dit que l'on fait de la"segmentation par entrelacement" [striping] . Ceci signifie que les données dans une région RAID-0 sont réparties de façon égale et entrelacées sur tous les objets fils. Par exemple, lorsque l'on écrit 16Ko de données sur une région RAID-0 avec 3 objets fils et une taille de bloc de 4Ko, les données seront écrites comme suit : * 4Ko sur l'objet 0 * 4Ko sur l'objet 1 * 4Ko sur l'objet 2 * 4Ko sur l'objet 0 Avantages : * comme avec le Linear-RAID, avec le RAID-0 nous avons une méthode simple pour la construction de très grandes régions en utilisant de nombreux petits objets. * généralement, le RAID-0 apporte des améliorations de performances, car il peut morceler les grosses requêtes d'entrée/sortie et les soumettre en parallèle sur différents disques. Inconvénient : * Là aussi, comme le Linear-RAID, le RAID-0 n'est pas un "vrai" RAID, dans le sens où il n'y a pas de redondance des données (d'où ll'appellation RAID « zéro »). Si l'un des disques plante, la région RAID sera indisponible, et il en résultera probablement une perte de toutes les données sur cette région. 1.3. RAID-1 En général, avec RAID-1, on dit que l'on fait du "mirroring". Chaque objet fils d'une région RAID-1 contient une copie identique des données de la région. Une opération d'écriture sur une région RAID-1 provoque l'écriture simultanée des données sur tous les objets fils. Une opération de lecture d'une région RAID-1 peut se faire en lisant les données se trouvant sur l'un quelconque des objets fils. Il n'est pas nécessaire que les objets fils d'une région RAID-1 aient la même taille, mais la taille de la région sera égale à la taille du plus petit objet fils. Avantages : * le RAID-1 offre une totale redondance des données. Dans une région RAID-1 faite à partir de N objets fils, il peut y avoir jusqu'à N-1 de ces objets qui plantent et la région sera toujours opérationnelle, et pourra récupérer les données depuis les objets qui restent. * le RAID-1 peut apporter des améliorations de performances sur les Entrées/Sorties en lecture. Du fait que tous les objets fils contiennent une copie intégrale des données, la charge résultant de plusieurs requêtes simultanées peut se répartir sur tous les objets. Inconvénient : * le RAID-1 peut entraîner des baisses de performances sur les Entrées/Sorties en écriture. Comme chaque objet fils doit avoir une copie complète des données, chaque écriture sur la région doit être dupliquée et envoyée vers chaque objet. Une requête d'écriture ne peut se terminer tant que la duplication de toutes les écritures vers les objets fils n'est pas terminée. * une région RAID-1 avec N disques coûte N fois plus cher qu'un disque unique, mais n'offre les capacités de stockage que d'un disque unique. 1.4. RAID-4/5 En général, avec RAID-4/5 on dit que l'on fait de la "segmentation par entrelacement avec parité". Comme le RAID-0, les données dans une région RAID-4/5 sont réparties de façon égale ou entrelacées sur tous les objets fils. Cependant, dans un RAID-4/5, les informations de parités sont également enregistrées pour chaque bande de données afin de fournir une redondance au cas ou l'un des objets est perdu. Si un disque plante, les données de ce disque peuvent être récupérées grâce aux données des disques restants et à l'information de parité. Dans les régions RAID-4, un objet unique est utilisé pour stocker les informations de parité pour chaque bande de données. Cependant, cela peut causer un bouchon en entrée/sortie sur cet objet, car l'information de parité doit être mise à jour à chaque écriture en entrée/sortie sur la région. Dans les régions RAID-5, la parité est répartie de façon égale sur tous les objets fils de la région, ce qui élimine le bouchon de parité du RAID-4. Le RAID-5 possède quatre algorithmes différents pour déterminer comment l'information de parité est distribuée. En fait, RAID-4 est souvent considéré comme un cas spécial du RAID-5 avec un algorithme de parité qui utilise simplement un objet au lieu de tous les utiliser. C'est le point de vue qu'utilise Linux et EVMS. Par conséquent, quand on parle du niveau RAID-5, il s'agit en fait simplement de RAID-4/5, RAID-4 n'étant que l'un des cinq algorithmes de distribution de parité disponibles. Avantages et inconvénients : * Comme le RAID-1, le RAID-4/5 fournit une redondance de données dans le cas d'une panne de matériel. Cependant, contrairement au RAID-1, le RAID-4/5 peut uniquement survivre à la perte d'un seul objet. Ceci est dû au fait que seule une valeur de parité est enregistrée. Si plus d'un objet est perdu, ce n'est pas suffisant pour récupérer les données perdues. * Le RAID-4/5 fournit une redondance plus rentable que le RAID-1. Une région RAID-4/5 avec N disques fournit N-1 fois la capacité de stockage d'un seul disque. Le coût de la redondance des données se limite à celui d'un seul disque dans la région. * Comme le RAID-0, le RAID-4/5 peut généralement apporter des améliorations de performances en entrée/sortie, car les grosses requêtes d'entrées/sorties peuvent être morcelées et soumises en parallèle aux multiples objets fils. Cependant, pour les entrées/sorties en écriture, les améliorations de performances seront plus faibles que celles du RAID-0, car l'information de parité doit être calculée et réécrite à chaque fois qu'une requête d'écriture est traitée. De plus, pour apporter des améliorations de performances sur les entrées/sorties en écriture, un cache de mémoire interne doit conserver les récents accès aux ensembles de données afin que l'information de parité puisse être recalculée rapidement. Si une requête d'écriture est reçue pour une bande de données qui n'est pas dans le cache, les blocs de données de cette bande doivent d'abord être lus sur le disque pour pouvoir calculer la parité. Si cela arrive trop souvent, les performances des entrées/sorties en écriture pourraient en arriver à être pires que même celles d'une région Linear-RAID. 1.5. Le cheminement multiple [multipath] Une région multipath est composée d'un ou plusieurs objets tout comme les autres niveaux RAID. Toutefois, en multipath, les objets fils représentent en fait plusieurs chemins physiques vers le même disque physique. On trouve ce genre de configuration dans les systèmes avec des périphériques de stockage basés sur fibre optique ou réseaux de stockage SAN. En fait, le cheminement multiple ne fait pas partie du standard RAID, mais il a été ajouté au pilote MD de Linux car il est bien pratique comme endroit pour créer des périphériques "virtuels" se composant de multiples périphériques sous-jacents. Les niveaux RAID précédents peuvent tous être créés en utilisant une grande variété de périphériques de stockage, y compris les disques génériques reliés en local (par exemple, IDE et SCSI). Toutefois, le cheminement multiple peut uniquement être utilisé si au niveau matériel on a bien plusieurs chemins physiques vers le système de stockage, ce que l'on trouve habituellement sur les systèmes haut de gamme avec des stockages à fibre ou en réseau. Donc quand on ne sait pas si on doit utiliser le module multivoie, c'est très certainement qu'on n'a pas besoin de s'en servir. Comme RAID-1 et RAID-4/5, le cheminement multiple offre la redondance afin de parer aux défaillances de matériel. Toutefois, contrairement à ces autres niveaux RAID, le chemin multiple protège contre les défaillances dans le chemin vers le périphérique, et pas les défaillances dans le périphérique lui-même. Si l'un des chemins est perdu (par exemple, un adaptateur de réseau tombe en panne ou bien un câble de fibre optique est enlevé), l'E/S sera redirigée vers les chemins restants. Comme Raid-0 et RAID-4/5, le cheminement multiple peut fournir des améliorations de performance des E/S en répartissant la charge d'E/S de façon équilibrée sur les différents chemins. 2. Création d'une région MD (disques multiples) La procédure de création d'une nouvelle région MD est pratiquement la même pour les différents niveaux RAID. Lorsque vous utilisez l'interface EVMS ou Ncurses, choisissez d'abord ActionCreate Region dans le menu. Une liste de gestionnaires de régions s'ouvrira et chacun des différents niveaux RAID disponibles apparaîtra séparément comme plug-in dans la liste où vous choisirez le plug-in correspondant au niveau RAID désiré. Dans le panneau suivant on aura une liste des objets disponibles pour créer une nouvelle région RAID. Choisissez les objets voulus pour construire la nouvelle région. Deux cas se présentent alors: Si le niveau RAID selectionné n'accepte pas d'options supplémentaires la procédure s'arrête là et la région sera créée. Si le niveau RAID sélectionné offre d'autres options de création, le panneau suivant en donnera la liste. La région sera crée une fois que les options auront été choisies. Si vous travaillez en lignes de commandes, utilisez la commande suivante pour créer une nouvelle region Pour le champ plugin, voici la liste des noms qui sont disponibles: "MDLinearRegMgr", "MD RAID0RegMgr", "MD RAID1RegMgr", "MD RAID5RegMgr", et "MD Multipath". La liste des options disponibles est donnée ci-dessous. Vous pouvez laisser l'espace entre les accolades vide si jamais aucune option n'est disponible ou si vous n'en désirez aucune. Les niveaux Linear-RAID et Multipath n'offrent pas d'options supplémentaires lors de la création. Les autres niveaux offrent les options données dans la liste ci-dessous. 2.1. Les options pour RAID-0 Pour RAID-0 l'option disponible est la suivante: chunksize Cette option représente le degré de fragmentation des données segmentées. En d'autres termes, elle représente la quantité de données écrite dans un objet «fils» avant de passer à l'objet suivant. Les valeurs doivent forcément être des puissances de 2 comprises entre 4Ko et 4096Ko. Si cette dernière n'est pas précisée la taille par défaut sera de 32Ko. 2.2. Les options pour RAID-1 Pour RAID-1 l'option disponible est la suivante: sparedisk Cette option est le nom d'un autre objet à utiliser en tant que «disque de secours» [«hot-spare»]. Cependant cet objet doit être un objet différent de ceux initialement sélectionnés. Si aucun objet n'est sélectionné pour cette option, la nouvelle région n'aura tout simplement pas de disque de secours au départ. Plus d'informations sur les objets de secours [spare objects] sont disponibles dans les sections qui suivent. 2.3. Les options pour RAID-4/5 Pour RAID-4/5 les options disponibles sont les suivantes: chunksize Même chose que pour RAID-0. sparedisk Même chose que pour RAID-1. level Cette option permet de choisir entre RAID4 et RAID5. La valeur par défaut est RAID5. algorithm Cette option n'est disponible que si vous avez choisi le niveau RAID5. Elle permet de choisir l'algorithme de parité voulu. Les choix possibles sont "Left Symmetric"(qui est le choix par défaut), "Right Symmetric", "Left Asymmetric" et "Right Asymmetric". 3. Les objets actifs [active objects] et les objets de secours [spare objects] Un objet actif dans une région RAID est un objet utilisé de manière active par celle-ci et qui contient des données ou des informations sur la parité. Lors de la création d'une nouvelle région Raid, tous les objets sélectionnés dans le menu "objets disponibles" principal seront des objets actifs. Les régions Linear-RAID et RAID-0 n'ont que des objets actifs, et si un de ces derniers vient à mal fonctionner, la région ne sera pas disponible. D'un autre côté, les niveaux RAID redondants (1 et 4/5) peuvent avoir des objets de secours en plus de leurs propres objets actifs. Un objet de secours est un objet attribué à une région mais qui ne contient aucune donnée ou parité en cours d'utilisation. Il a pour principale fonction de rester en réserve et d'intervenir au cas où l'un des objets actifs ne fonctionnerait pas. Dans le cas d'un dysfonctionnement des objets fils, le pilote du noyau MD supprime l'objet défectueux de cette région. Du fait de la redondance apportée par ces niveaux RAID (soit sous forme de données miroir ou bien d'informations sur la parité), la totalité de la région continue à fonctionner normalement et permet un accès aux données. Cependant du fait qu'un des objets actifs est manquant, la région est à présent dite "dégradée". Si une région se dégrade et qu'un objet de secours lui a été attribué , le pilote du noyau activera automatiquement cet objet de secours. Ceci signifie que l'objet de secours s'est transformé en objet actif. Cependant ce nouvel objet actif ne possède aucune donnée et aucune information sur la parité; c'est alors au pilote du noyau de synchroniser les données avec cet objet. Pour le RAID-1 cela signifie qu'il va copier toutes les données d'un des objets actifs courants vers ce nouvel objet actif. Pour le RAID-4/5, grâce aux données et aux informations concernant la parité de l'objet courant, il suffit de remplir les données et la parité du nouvel objet actif. Tant que le processus de synchronisation a lieu, la région reste à l'état dégradée. Elle ne retrouve son état normal qu'à la fin du processus de synchronisation. On peut suivre la progression du processus de synchronisation en examinant le fichier /proc/mdstat. En utilisant les fichiers /proc/sys/dev/raid/speed_limit_min et /proc/sys/dev/raid/speed_limit_max on peut aussi contrôler la vitesse de synchronisation. Pour accélérer le processus, tapez un nombre supérieur à celui présent dans le fichier speed_limit_min. 3.1. Ajouter des objets de secours Comme mentionné ci-dessus, un objet de secours peut être assigné aux régions de type RAID-1 ou RAID-4/5 au moment de leur création. En outre, on peut également ajouter un objet de secours à une région RAID déjà créée. L'effet de cet opération est le même que si l'objet avait été affecté au moment de la création de la région. Si la région RAID est propre et qu'elle fonctionne normalement, le pilote du noyau ajoutera ce nouvel objet comme objet de secours normal et il restera en réserve pour intervenir en cas de pannes futures. Si la région RAID est déjà dégradée, le pilote du noyau va immédiatement activer le nouvel objet de secours et débutera l'opération de synchronisation des donnés et des informations de parité. Pour les deux régions (RAID-0 et RAID-4/5), utilisez la fonction "addspare" du plug-in pour ajouter un objet de secours à la région. Le seul argument est le nom de l'objet voulu et on ne peut ajouter qu'un seul objet de secours à la fois. Pour les régions RAID-1 le nouvel objet de secours doit être au moins aussi grand que la région, et pour les régions RAID-4/5, le nouvel objet de secours doit être au moins aussi grand que le plus petit objet actif. On peut supprimer les objets de secours lorsque la région RAID est active et en cours d'utilisation. 3.2. Supprimer des objets de secours Si une région RAID-1 ou RAID-4/5 est propre et fonctionne normalement, et que cette région possède un objet de secours, ce dernier peut être supprimé de cette région si vous avez besoin d'utiliser cet objet dans un autre but. Pour ces deux régions (RAID-1 et RAID-4/5), utilisez la fonction "remspare" du plug-in pour supprimer un objet de secours de la région. Le seul argument est le nom de l'objet désiré et on ne peut supprimer qu'un seul objet de secours à la fois. L'objet de secours supprimé sera visible dans la liste Objets Disponibles de l'interface utilisateur EVMS. On peut supprimer les objets de secours lorsque la région RAID est active et en cours d'utilisation. 3.3. Ajout d'objets actifs au niveau RAID-1 Dans une région RAID-1 chaque objet actif possède une copie complète des données de la région. Ceci signifie qu'il est facile d'ajouter simplement un nouvel objet actif, de synchroniser les données pour ce nouvel objet et ainsi d'augmenter la "largeur" du miroir. Par exemple si on utilise une région RAID-1, on peut ajouter un nouvel objet actif, qui amènera la redondance de cette région à 3 disques "miroirs", ce qui augmente la redondance de cette région. Le premier processus d'ajout d'un nouvel objet actif peut être fait de l'une des deux manières suivantes. Premièrement, la fonction "addactive" du plug-in ajoute n'importe quel objet disponible dans l'EVMS à la région comme nouvel objet actif. Le nouvel objet doit être au moins aussi grand que la taille de la région RAID-1. Deuxièmement, si la région RAID-1 a un objet de secours, cet objet peut être converti en objet actif de la région en utilisant la fonction "activatespare" du plug-in. 4. Objets défectueux Comme décrit dans la section précédente, si un des objets actifs de la région RAID-1 ou RAID-4/5 a un problème, cet objet sera expulsé et cette région deviendra dégradée. Un problème peut survenir avec les objets actifs de différentes manières. Par exemple un disque peut planter, un disque peut être retiré du système, un câble de lecteur de disque peut être enlevé ou bien une ou plusieurs E/S peuvent générer des erreurs. L'un ou l'autre de ces incidents aboutira à une expulsion de l'objet et la région RAID deviendra dégradée. Si un disque s'est complètement arrêté de fonctionner ou a été retiré de la machine, évidemment l'EVMS ne le reconnaîtra plus et il n'apparaîtra pas comme faisant parti de la région RAID quand l'interface EVMS sera utilisée. Cependant si le disque est toujours disponible dans la machine, l'EVMS sera vraisemblablement capable de reconnaître que le disque est affecté à la région RAID, mais qu'il a été retiré de tout service actif par le noyau. On parle alors, pour ce type de disque, d'objet défectueux. 4.1. Suppression des objets défectueux Les objets défectueux ne peuvent plus être utilisés par la région RAID, et doivent être supprimés. On peut supprimer ces objets défectueux grâce à la fonction "remfaulty" du plug-in pour les RAID-1 et RAID-4/5. Cette opération est très similaire à celle qui consiste à supprimer des objets de secours. Une fois l'objet supprimé, il apparaîtra dans la liste "Objets-Disponibles" ["Available-Objects"] dans l'interface utilisateur EVMS. Les objets défectueux peuvent êtres retirés lorsque la région RAID est active et en cours d'utilisation. 4.2. Réparation des objets temporairement défectueux Quelquefois un disque peut avoir un problème temporaire ; le disque sera alors marqué comme étant défectueux et la région RAID sera dégradée. Par exemple un câble se débranche, amenant ainsi le pilote du noyau à croire que le disque a disparu. Toutefois, si le câble est rebranché, le disque devrait être disponible pour une utilisation normale. Cependant, le pilote du noyau MD et le plug-in MD d'EVMS continueront d'indiquer que le disque est un objet défectueux car le disque a dû manquer quelques instructions d'écritures pour la région RAID et sera par conséquent non synchronisé avec le reste des disques de la région. Dans le but de remédier à cette situation, les objets défectueux doivent êtres supprimés de la région RAID (de la manière dont nous l'avons explicitée dans la section précédente). L'objet apparaîtra alors comme étant un Objet-Disponible. Ensuite, cet objet doit être replacé dans la région RAID en tant qu'objet de secours (comme nous l'avons décrit dans la section B.3.1). Lorsque les changements sont enregistrés, le pilote du noyau MD activera l'objet de secours et synchronisera les données et la parité. Lorsque la synchronisation est établie, la région RAID fonctionnera avec sa configuration normale d'origine. Cette procédure peut être effectuée lorsque la région RAID est active et en cours d'utilisation. 4.3. Marquage des objets défectueux L'EVMS offre la possibilité de marquer manuellement un objet fils des régions RAID-1 ou RAID-4/5 comme étant défectueux. Cela a le même effet que si l'objet avait un problème ou causait des erreurs d' E/S. L'objet ne sera donc plus considéré comme un objet actif de la région et apparaîtra comme objet défectueux dans l'EVMS. Alors il peut être retiré de la région comme nous l'avons expliqué dans les sections précédentes. On peut avoir besoin de marquer manuellement un objet comme étant défectueux pour différentes raisons. Par exemple, vous voulez tester les scénarios de défaillance pour apprendre comment Linux et EVMS traitent les défaillances liées à des problèmes de matériel. Ça pourrait être aussi pour remplacer un des objets actifs courant par un autre objet. Pour cela, vous ajouterez le nouvel objet en tant qu'objet de secours, puis vous marquerez l'objet actif courant comme étant défectueux (engendrant ainsi l'activation du nouvel objet et la resynchronisation des données), et enfin vous supprimerez l'objet défectueux. EVMS permet de marquer un objet comme étant défectueux dans une région RAID-1 s'il y a plus d'un objet actif dans cette région. Pour la région RAID-4/5, cette dernière doit avoir un objet de secours pour marquer un objet comme étant défectueux. Que vous soyez en RAID-1 ou en RAID-4/5 utilisez la fonction markfaulty du plug-in. Cette commande peut être utilisée lorsque la région RAID est active et en cours d'utilisation. 5. Redimensionnement des régions MD Les régions RAID peuvent être redimensionnées dans le but d'étendre ou de réduire l'espace de données disponible dans la région. Chaque niveau RAID a des caractéristiques différentes et le moment où on peut les étendre ou les réduire, ainsi que la méthode, dépendent donc de conditions et exigences différentes. Voir le chapitre 16 pour des informations plus générales concernant le redimensionnement des volumes et objets EVMS. 5.1. Linéaire Une région RAID linéaire [Linear-RAID] peut être étendue de deux façons. Premièrement, si le dernier objet fils dans la région Linear-RAID est extensible, cet objet peut être étendu, et la région RAID peut s'étendre dans ce nouvel espace. Deuxièmement, un ou plusieurs nouveaux objets peuvent êtres ajoutés à la fin de la région. De même, on peut réduire une région Linear-RAID de deux façons. Si, à condition qu'il soit possible de le faire, on réduit le dernier objet fils de la région, la région RAID sera réduite dans la même proportion. En outre, un ou plusieurs objets peuvent être retirés de la fin de la région RAID (mais le premier objet de la région ne peut pas être retiré). Les régions Linear-RAID peuvent être redimensionnées lorsqu'elles sont actives et en cours d'utilisation. 5.2. RAID-0 Vous pouvez étendre une région RAID-0 en ajoutant un nouvel objet à cette région. Vous pouvez également réduire une région RAID-0 en supprimant jusqu'à N-1 objets fils d'une région qui contient N objets . Du fait que pour les régions RAID-0, la segmentation par entrelacement se fait sur l'ensemble des objets fils, lorsqu'une région RAID-0 est redimensionnée, cette segmentation des données doit obligatoirement être refaite pour prendre en compte le changement du nombre d'objets. Cela signifie que le plug-in du MD enlèvera chaque bloc de données de son emplacement dans la région actuelle pour le placer au bon endroit dans la région étendue. On vous prévient : ce processus peut prendre un certain temps. Pour l'instant, il n'existe pas de mécanisme permettant de l'accélérer ou de le ralentir. L'interface utilisateur de EVMS et le mode texte en indiqueront la progression. Ne tentez pas d'interrompre ce processus avant qu'il ne soit terminé car cela risque d'entraîner la corruption des données dans la région RAID-0. Les régions RAID-0 doivent absolument être désactivées avant qu'elles ne soient redimensionnées afin d'éviter la corruption des données pendant leur re-segmentation. IMPORTANT: Il vous faudra préparer une sauvegarde avant d'essayer de redimensionner un RAID-0. Si le processus de re-segmentation est interrompu avant d'arriver à son terme (par exemple le processus EVMS meurt, la machine plante, ou bien un objet fils de la région RAID commence à renvoyer des erreurs d'E/S), l'état de cette région ne peut pas être garanti en toutes circonstances. EVMS essayera de faire une restauration suite à un problème durant un redimensionnement RAID-0. Le plug-in MD gardera la trace de l'avancement du redimensionnement dans les metadonnées du MD. A chaque fois qu'un bloc de données est déplacé, les métadonnées du MD sont réactualisées afin de montrer quelles sont les données qui sont en train d'être traitées. Si EVMS ou la machine plante durant le redimensionnement, la prochaine fois que vous démarrerez EVMS le plug-in du MD essayera de restaurer l'état de cette région en se basant sur les dernières informations des métadonnées. Si une extension est en cours, la région sera ramenée à son état d'avant le redimensionnement. Si une réduction est en cours, celle-ci continuera à partir du point où elle s'est arrêtée. Toutefois cette récupération n'est pas toujours suffisante pour garantir que la pile entière du volume est dans un état correct. Si la région RAID-0 est transformée directement en un volume, elle retrouvera probablement son état correct. D'un autre côté, si la région RAID est un objet consommé dans un un conteneur LVM, ou un objet fils d'une autre région RAID, alors les méta-données pour ces plug-ins ne seront peut-être pas toujours dans un état correct et seront peut-être au mauvais endroit dans la région RAID. Ainsi, les conteneurs, objets et volumes construits par-dessus la région RAID-0 ne refléteront peut-être pas la bonne taille, il se peut même qu'ils ne soient pas retrouvés. 5.3. RAID-1 Une région RAID-1 peut être redimensionnée si tous les objets fils peuvent être simultanément redimensionnés dans les mêmes proportions. Les régions RAID-1 ne peuvent pas être redimensionnées en ajoutant des objets. Il s'agit, pour ce genre d'opération, de ce qu'on appelle «l'ajout d'objets actifs» et nous en avons déjà parlé dans la section B.3.3. Avant d'être redimensionnées, les régions RAID-1 doivent être désactivées. 5.4. RAID-4/5 Le redimensionnement d'une région RAID-4/5 suit les mêmes règles et restrictions que pour le redimensionnement d'une région RAID-0. Étendre une région RAID-4/5 en ajoutant un nouvel objet à la région. Réduire une région RAID-4/5 en supprimant jusqu'à N-1 objets fils d'une région qui contient N objets . On trouvera des informations sur l'exécution de cette fonction dans la Section B.5.2. Comme RAID-0, les régions RAID-4/5 doivent êtres désactivées avant d'être redimensionnées 6. Remplacement des Objets Le plug-in du MD permet de remplacer les objets fils d'une région RAID-0 par d'autres objets disponibles. Pour cela on utilise la fonction générale de remplacement de l'EVMS. Veuillez vous référer au Chapitre 22 pour des informations plus précises concernant l'exécution de cette fonction. Pour tous les niveaux RAID, l'objet de remplacement doit être au moins aussi grand que l'objet remplacé. Si l'objet de remplacement est plus grand que l'objet fils remplacé, l'espace en trop dans l'objet de remplacement sera inutilisé. Afin d'exécuter une opération de remplacement, tout volume comportant la région RAID doit être démonté. Cette possibilité est extrêmement utile pour les régions Linear-RAID et RAID-0. Cela est également possible pour les régions RAID-0 et RAID-4/5, mais ces deux niveaux RAID offrent la possibilité de marquer des objets comme étant défectueux, ce qui conduit finalement au même résultat. Du fait que ce processus peut être accompli lorsque la région est en cours d'utilisation, il est généralement préférable de remplacer les objets, opération qui ne peut être réalisée que lorsque la région est désactivée. Appendix C. Le plug-in LVM Table of Contents 1. Comment est implémenté le LVM 2. Les opérations sur les conteneurs 2.1. Création de conteneurs LVM 2.2. Ajouter des objets aux conteneurs LVM 2.3. Supression des objets d'un conteneur LVM 2.4. L'extension des objets consommés dans les conteneurs LVM 2.5. Réduction des objets consommés d'un conteneur LVM 2.6. Suppression des conteneurs LVM 2.7. Changement du nom d'un conteneur LVM 3. Les actions sur les régions 3.1. Création de régions LVM 3.2. Agrandissement des régions LVM 3.3. Réduction de régions LVM 3.4. Suppression de régions LVM 3.5. Déplacement des régions LVM 3.6. Modification des noms des régions LVM Le plug-in LVM regroupe les objets de stockage dans ce qui s'appelle des conteneurs. A partir de ces conteneurs, de nouveaux objets de stockage peuvent être créés, avec différents rattachements [mapping] aux objets consommés. Les conteneurs ont la capacité de stockage pour le regroupement de plusieurs objets, permettent le stockage futur d'objets supplémentaires, et permettent un redimensionnement facile des objets produits. 1. Comment est implémenté le LVM Le plug-in LVM de Linux est compatible avec les volumes et les groupes de volumes des outils originaux du LVM de Linux de Sistina Software. Le LVM d'origine est basé sur le concept des groupes de volumes. Un groupe de volume (VG [Volume Group]) est un groupement de volumes physiques (PV [Physical Volumes]), qui sont généralement des disques ou des partitions de disques. Le groupe de volume n'est pas utilisable directement en tant qu'espace de stockage, par contre, il constitue une réserve d'espace de stockage disponible. On crée des volumes logiques (LV [Logical Volumes]) pour utiliser ces espaces de stockage. L'espace de stockage du LV peut être rattaché à un ou plusieurs des PV du groupe. Les concepts du LVM de Linux sont représentés par les mêmes concepts que ceux du plug-in LVM de l'EVMS. Un groupe de volume s'appelle conteneur et les volumes logiques produits s'appellent des régions. Les volumes physiques peuvent être des disques, des segments, ou d'autres régions. Tout comme dans le LVM original, les régions peuvent être rattachées aux objets consommés de différentes façons. 2. Les opérations sur les conteneurs 2.1. Création de conteneurs LVM Les conteneurs se créent avec un premier ensemble d'objets. Dans le plug-in LVM, les objets peuvent être des disques, des segments, ou des régions. LVM a deux options pour la création de conteneur. On ne peut pas changer la valeur de ces options une fois le conteneur créé. Les options sont: name Le nom du nouveau conteneur. pe_size La taille du domaine physique (PE [Physical Extent]), qui représente le niveau de granularité pour la création des régions. Par défaut c'est 16 Mo. Chaque région doit avoir un grand nombre de domaines. En outre, chaque région peut avoir au maximum seulement 65534 domaines. Ainsi, la taille du PE pour le conteneur limite la taille maximum d'une région dans ce conteneur. Avec la taille par défaut du PE, une région LVM peut être au maximum de 1To. En plus chaque objet consommé par le conteneur doit être assez grand pour prendre au moins cinq domaines. On ne peut donc pas donner arbitrairement une taille importante au PE. Faites les bons choix. 2.2. Ajouter des objets aux conteneurs LVM On peut ajouter des objets aux conteneurs LVM existants dans le but d'augmenter la réserve de stockage disponible pour la création de régions. Un simple conteneur peut consommer jusqu'à 256 objets. Du fait que le nom et la taille du PE sont fixés à la création du conteneur, il n'y a pas d'options disponibles lorsqu'on ajoute de nouveaux objets à un conteneur. Chaque objet doit être assez grand pour contenir cinq domaines physiques. Si un objet n'est pas assez grand pour satisfaire à cette exigence, le plug-in LVM ne permettra pas à l'objet de s'ajouter au récipient. 2.3. Supression des objets d'un conteneur LVM On peut supprimer un objet consommé de son conteneur du moment qu'aucune région n'est affectée à cet objet. Le plug-in LVM ne permet pas de supprimer de leur récipient les objets en cours d'utilisation. Si un objet doit obligatoirement être retiré, on peut supprimer ou rétrécir les régions, ou déplacer les domaines dans le but de libérer l'objet de toute utilisation. Il n'y a pas d'options disponibles pour la suppression d'objets du récipient LVM. 2.4. L'extension des objets consommés dans les conteneurs LVM En plus de pouvoir ajouter de nouveaux objets dans un conteneur LVM, on peut également étendre l'espace dans un conteneur par l'extension d'un des objets consommés déjà existants (les volumes physiques [PV]). Par exemple si on a, comme volume physique, un segment de disque avec de l'espace disponible juste après sur le disque, on peut étendre ce segment, ce qui augmentera la quantité d'espace disponible dans ce conteneur. De la même façon, si le PV est une région RAID-0 ou RAID-5, on peut étendre cette région en ajoutant des objets supplémentaires, ce qui en contrepartie augmente l'espace disponible dans le conteneur. Lorsque l'on utilise l'interface graphique utilisateur ou les interfaces en mode texte, l'extension d'un PV se fait par l'extension du conteneur. S'il y a des PV extensibles, ils apparaîtront dans la liste "expand-points". Choisissez le volume physique à étendre puis les options d'extension de cet objet. Après l'extension du PV, l'espace disponible en plus sur ce PV correspondra à l'espace disponible du conteneur. Lorsque l'on utilise l'interpréteur de lignes de commande [CLI], l'extension d'un PV se fait directement par l'extension de l'objet correspondant. Le CLI et l'EVMS achemineront les commandes nécessaires de façon à ce que l'extension du conteneur se fasse en même temps. Les options pour l'extension d'un volume physique dépendent du plug-in auquel cet objet PV appartient. Veuillez vous référer à l'annexe du plug-in correspondant si vous voulez plus d'information sur les options de cet objet. 2.5. Réduction des objets consommés d'un conteneur LVM En plus de la suppression des objets existants d'un conteneur LVM, on peut également diminuer la taille d'un conteneur en réduisant un des objets consommés existants (les PV). Cela est permis seulement si l'objet consommé a des extensions physiques (PE) en fin d'objet qui ne sont pas allouées à d'autres régions LVM. Dans ce cas, LVM2 permettra une réduction de l'objet équivalente au nombre d'extensions physiques inutilisées à la fin de l'objet. Par exemple, si un PV est un segment de disque, on peut réduire ce segment, ce qui diminuera la quantité d'espace libre dans le conteneur. De même, si un PV est une région RAID-0 ou RAID-5, on peut réduire cette région en enlevant un des objets, ce qui diminue à son tour l'espace libre dans le conteneur. En utilisant l'interface graphique ou l'interface texte, la réduction des PV se fait en réduisant le conteneur. Les éventuels PV existants qu'il est possible de réduire apparaîtront dans la liste des points de réduction. Choisissez le PV à réduire et ensuite les options pour réduire cet objet. Après que le PV ait été réduit, l'espace libre du conteneur correspondra à la quantité d'espace disponible sur ce PV après diminution. En utilisant le CLI, la réduction d'objet se fait en rétrécissant directement l'objet approprié. Le CLI et le moteur EVMS achemineront les commandes nécessaires pour que le conteneur soit réduit en même temps. Les options pour réduire un PV dépendent du module d'extension auquel le PV appartient. Veuillez vous référer à l'annexe du module d'extension appropriée pour plus d'informations sur les options pour cet objet. 2.6. Suppression des conteneurs LVM On peut supprimer un conteneur tant que celui-ci n'a pas de régions produites. Le plug-in LVM ne permet pas de supprimer des conteneurs si ils possèdent une quelconque région. Aucune option n'est disponible pour supprimer des conteneurs LVM. 2.7. Changement du nom d'un conteneur LVM On peut renommer un conteneur LVM existant. En renommant un conteneur LVM, toutes les régions produites à partir du conteneur changeront automatiquement de nom également, car les noms de régions incluent le nom du conteneur. Dans l'interface graphique d'EVMS et l'interface texte, on utilise pour cela la commande modify properties, qui est disponible dans le menu "Actions" ou dans les menus contextuels. Avec le CLI, on utilisera la commande set. Voir la Section 3.6, "Modification des noms des régions LVM" pour plus d'informations sur ce qui se passe quand on renomme les régions. 3. Les actions sur les régions 3.1. Création de régions LVM On créé des régions LVM à partir de l'espace libre dans un conteneur LVM. Si il y a au moins une zone d'espace libre dans le conteneur, on peut créer une nouvelle région. On dispose des options suivantes pour créer des régions LVM : name Le nom de la nouvelle région extents Le nombre de zones à allouer à la nouvelle région. Une nouvelle région doit avoir au moins une zone et pas plus que le nombre total de zones libres disponibles dans le conteneur, dans la limite maximum de 65534. Avec l'option extents, la valeur appropriée pour l'option size est automatiquement calculée. Par défaut, une nouvelle région utilise toutes les zones disponibles dans le conteneur. size La taille de la nouvelle région. Cette taille doit être un multiple de la taille de l'extension physique du conteneur. Avec l'option size, la valeur appropriée pour l'option extents est automatiquement calculée. Par défaut, une nouvelle région utilise tout l'espace libre disponible dans le conteneur. stripes Si le conteneur utilise deux objets ou plus, et que chaque objet a une zone non allouée, la nouvelle région peut être répartie sur plusieurs objets. C'est comme pour la répartition RAID-0 et cela permet une augmentation du débit E/S sur un ensemble d'objets. Cette option spécifie sur combien d'objets la nouvelle région peut être répartie. Par défaut, les nouvelles régions ne sont pas réparties sur plusieurs objets, et cette valeur est fixée à 1. stripe_size La granularité de la répartition. La valeur par défaut est 16Ko, Utilisez cette option seulement si l'option stripes est plus grande que 1. contiguous Cette option spécifie que la nouvelle région doit être allouée à un seul, et que les zones de cette région doivent être physiquement contigues. La valeur par défaut est "faux" [false], ce qui permet aux régions de s'étendre sur plusieurs objets. Cette option ne peut être utilisée si l'option stripes est plus grande que 1. pv_names Une liste des noms des objets sur lesquels la nouvelle région doit se placer. Par défaut, cette liste est vide, ce qui signifie que tous les objets disponibles seront utilisés pour allouer de l'espace à la nouvelle région. 3.2. Agrandissement des régions LVM On peut agrandir des régions LVM existantes si il y a des zones inutilisées dans le conteneur. Si la région est répartie, on peut l'agrandir seulement en utilisant l'espace libre dans les objets sur lesquels elle est répartie. Si la région a été créée avec l'option contiguous, on peut l'agrandir seulement s'il y a de l'espace physiquement contigu après l'espace déjà alloué. On dispose des options suivantes pour l'agrandissement des régions LVM : add_extents Le nombre de zone à ajouter à la région. Si on utilise cette option, la valeur appropriée pour l'option add_size est automatiquement calculée. Par défaut, la région s'agrandira en utilisant toutes les zones libres dans le conteneur. add_size La quantité d'espace à ajouter à la région. Si on utilise cette option, la valeur appropriée pour l'option add_extents est automatiquement calculée. Par défaut la région s'agrandira en utilisant tout l'espace libre dans le conteneur. pv_names Liste des noms des objets à partir desquels allouer l'espace supplémentaire. Par défaut, cette liste est vide, ce qui signifie que tous les objets disponibles seront utilisés pour allouer de l'espace supplémentaire à la région. 3.3. Réduction de régions LVM On peut réduire une région LVM existante en supprimant deszones se trouvant à la fin de cette région. Les régions doivent avoir au minimum une zone, une région ne peut donc pas être réduite à zéro. Les options suivantes sont disponibles pour réduire une région LVM. Etant donné qu'on réduit toujours une région en enlevant de l'espace se trouvant en fin de la région, une liste d'objets ne peut être spécifiée dans cette commande. remove_extents Nombre de zones à supprimer de la région. Si vous spécifiez cette option, la valeur correspondante pour remove_size est automatiquement calculée. Par défaut, une seule zone sera supprimée de la région. remove_size Quantité d'espace à enlever de la région. Si vous spécifiez cette option, la valeur correspondante pour remove_extents est automatiquement calculée. 3.4. Suppression de régions LVM On peut supprimer une région LVM existante tant qu'elle ne se trouve pas être un volume de compatibilité, un volume EVMS, ou qu'elle n'est pas utilisée par un autre plug-in EVMS. Aucune option n'est disponible pour supprimer les régions LVM. 3.5. Déplacement des régions LVM Le plug-in LVM permet de modifier la liaison logique-physique d'une région LVM et de déplacer, du même coup, les données nécessaires. Cette possibilité est extrêmement utile s'il est nécessaire de retirer un volume physique (PV) d'un conteneur. On trouve actuellement deux fonctions du plug-in LVM pour le déplacement des régions: move_pv et move_extent. 3.5.1. move_pv Lorsqu'il est nécessaire d'enlever un volume physique d'un conteneur, toutes les zones physiques de ce volume allouées à des régions doivent être amenées sur d'autres PV. La commande move_pv permet de déplacer des zones physiques sur d'autres PV. move_pv cible le conteneur LVM et le PV qui nous intéresse est utilisé comme objet sélectionné. Les options suivantes sont disponibles : target_pvs Par défaut, toutes les zones disponibles des volumes physiques qui sont restés dans le conteneur sont utilisées pour déplacer les PV. On peut spécifier un sous-ensemble de ces PV avec cette option. maintain_stripes Quand le PV cible contient des régions réparties, on a le choix entre trois possibilités pour manipuler le déplacement des zones qui appartiennent à ces régions: no Ce n'est pas la peine de maintenir une vraie répartition. Avec cette option, les zones seront déplacées sur des PV que la région utilise déjà pour d'autres données segmentées. Cela signifie que la performance ne sera pas aussi optimale qu'avec une vraie répartition, mais cela donne une souplesse maximale dans la réalisation des opérations de déplacement. C'est l'option par défaut pour maintain_stripes. loose Permet d'éviter que les zones déplacées ne se retrouvent pas sur un PV que la région répartie utilise déjà. Cependant, cela ne garantit pas que toutes les zones déplacées se retrouveront sur le même PV. Par exemple, une région avec trois répartitions peut finir par être rattachée à quatre PV ou plus. strict Permet de diriger toutes les zones déplacées sur le même PV, ce qui aboutira à une vraie répartition avec le même nombre de PV utilisés à l'origine par la région répartie. Il s'agit du choix le plus restrictif, et peut empêcher l'opération move_pv de se faire (cela dépend de la configuration particulière du conteneur). Si le PV ciblé ne possède pas de régions réparties, l'option maintain_stripes est ignorée. 3.5.2. move_extent Le plug-in LVM offre la possibilité de déplacer non seulement l'ensemble des zones d'un volume physique, mais aussi de les déplacer isolément. Cela permet un réglage très fin de l'allocation des zones. Cette commande cible la région possèdant la zone à déplacer. Il y a trois options à renseigner pour la commande move_extent : le Numéro de la zone logique à déplacer. Pour LE, les numéros commencent à 0. pv Objet cible vers lequel sera déplacée la zone. pe Zone physique cible sur l'objet cible. Pour PE, les numéros commencent également à 0. Pour déterminer le LE source et le PE cible, il est souvent utile de consulter le détail des informations sur la région et le conteneur en question. Ce qui suit correspond aux lignes de commande qui peuvent être utilisées pour réunir ces informations: Pour visualiser la carte des LE dans la région, entrez cette commande : query:ei,,Extents Pour visualiser la liste des PV du conteneur, entrez cette commande : query:ei,,Current_PVs Pour visualiser la carte actuelle des PE pour le PV cible qui vous intéresse, entrez cette commande : query:ei,,PEMapPV# # représente le numéro du PV cible dans le conteneur. Ces informations sont également faciles à trouver dans l'interface graphique ou l'interface texte en utilisant la rubrique "Display Details" dans les menus contextuels de la région ou du conteneur. 3.6. Modification des noms des régions LVM On peut renommer une région LVM existante. Dans l'interface graphique d'EVMS et l'interface texte, cela se fait en utilisant la commande modify properties, qui est disponible dans le menu "Actions" ou dans les menus contextuels. Dans le CLI d'EVMS, cela se fait en utilisant la commande set. Si on modifie le nom d'une région LVM qui possède un volume de compatibilité, le nom de ce volume de compatibilité changera également. Afin que cela fonctionne correctement, ce volume doit être démonté pour que son nom soit modifié. De plus, n'oubliez pas de mettre à jour votre fichier /etc/fstab si le volume y est inscrit, sinon le volume ne sera pas monté correctement au prochain démarrage du système. Si on modifie le nom d'une région LVM qui possède un volume EVMS ou un autre objet de stockage, le changement de nom de la région sera visible pour les couches supérieures. Dans ce cas, le changement de nom peut se faire même si le volume est monté. Appendix D. Le plug-in LVM2 Table of Contents 1. Les actions sur les conteneurs 1.1. Création de conteneurs LVM2 1.2. Ajout d'objets à des conteneurs LVM2 1.3. Suppression des objets dans les conteneurs LVM2 1.4. Agrandissement d'objets utilisés dans les conteneurs LVM2 1.5. Réduction d'objets utilisés dans les conteneurs LVM2 1.6. Suppression des conteneurs LVM2 1.7. Modification du nom des conteneurs LVM2 2. Les actions sur les régions 2.1. Créer des régions LVM2 2.2. Agrandissement des régions LVM2 2.3. Réduction des régions LVM2 2.4. Suppression des régions LVM2 2.5. Modification du nom des régions LVM2 Le plug-in LVM2 est compatible avec le nouveau format de volume amené par les outils de LVM2 avec Red Hat (anciennement Sistina). Ce plug-in est pratiquement identique au plug-in LVM en terme de fonctionnalité. La principale différence est le format de metadonnées amélioré. LVM2 est toujours basé sur le concept de groupe de volumes (VG), lesquels sont construits à partir de volumes physiques (PV) et produisent des volumes logiques (LV). Tout comme le plug-in LVM, le plug-in LVM2 représente les groupes de volumes comme des conteneurs EVMS et les volumes logiques comme des régions EVMS. Les conteneurs LVM2 combinent des objets de stockage (disques, segments, ou d'autres régions) pour créer une zone d'espace libre. Les régions sont ensuite créées à partir de cet espace libre, avec toutes sortes de rattachement vers les objets consommés. 1. Les actions sur les conteneurs 1.1. Création de conteneurs LVM2 Dès leur création, les conteneurs auront un premier ensemble d'objets. Ces objets peuvent être des disques, des segments, ou des régions. Il y a deux options disponibles lors de la création de conteneurs LVM2: name Nom du nouveau conteneur. extent_size Taille de la zone physique (PE), c'est-à-dire le niveau de granularité pour la création des régions. La taille par défaut est 32Mo. A l'inverse du plug-in LVM1, il n'y a pas de limitation pour le nombre de zones qui peuvent être allouées à une région LVM2. 1.2. Ajout d'objets à des conteneurs LVM2 On peut ajouter des objets à un conteneur LVM existant afin d'accroître la zone de stockage disponible pour créer des régions. Etant donné que les options name et extent-size sont définies lors de la création du conteneur, aucune option n'est disponible lorsqu'on ajoute de nouveaux objets à un conteneur. Chaque objet doit être assez grand pour contenir au moins une zone physique. Si un objet n'est pas assez grand, le plug-in LVM2 ne permettra pas l'ajout de l'objet dans le conteneur. 1.3. Suppression des objets dans les conteneurs LVM2 On peut supprimer des objets dans les conteneurs tant qu'aucune région n'est rattachée à cet objet. Le plug-in LVM2 ne permet pas de supprimer d'un conteneur les objets en cours d'utilisation. Si un objet doit être éliminé, on peut supprimer ou réduire la région, ou déplacer des zones, pour que l'objet cesse d'être utilisé. Aucune option n'est disponible pour retirer des objets dans les conteneurs LVM. 1.4. Agrandissement d'objets utilisés dans les conteneurs LVM2 On peut non seulement ajouter de nouveaux objets à un conteneur LVM2, mais aussi augmenter l'espace dans le conteneur en agrandissant les objets utilisés (PV) existants. Par exemple, si un PV est un segment de disque avec de l'espace libre juste après sur le disque, on peut agrandir ce segment, ce qui augmentera la quantité d'espace libre dans le conteneur. De la même façon, si un PV est une région RAID-0 ou RAID-5, on peut agrandir cette région en ajoutant des objets supplémentaires, ce qui se traduit par une augmentation de l'espace libre dans le conteneur. Quand on se sert de l'interface graphique ou de l'interface texte, l'agrandissement du PV s'effectue par l'agrandissement du conteneur. Si des PV existants sont extensibles, ils apparaîtront dans la liste des points d'expansion. Sélectionnez le PV à agrandir, puis les options pour agrandir cet objet. Après agrandissement du PV, l'espace libre du conteneur correspondra à l'espace supplémentaire disponible sur ce PV. Quand on se sert du CLI, l'agrandissement du PV s'effectue en agrandissant directement l'objet correspondant. Le CLI et le moteur EVMS transmettront les commandes nécessaires et le conteneur s'agrandira en même temps. Les options d'agrandissement d'un PV dépendent du plug-in auquel cet objet appartient. Voir l'annexe du plug-in correspondante pour plus d'information sur les options pour cet objet. 1.5. Réduction d'objets utilisés dans les conteneurs LVM2 On peut non seulement retirer des objets existants d'un conteneur LVM2, mais aussi réduire la taille d'un conteneur en réduisant l'un des objets utilisés (PV) existants. Cela n'est permis que si, en fin d'objet, il y a des zones physiques qui ne sont pas allouées à des régions LVM2. Dans ce cas, LVM2 acceptera une réduction de l'objet équivalente au nombre de zones physiques inutilisées à la fin de cet objet. Par exemple, si un PV est un segment de disque, on peut réduire ce segment, ce qui réduira la quantité d'espace libre dans le conteneur. De plus, si un PV est une région RAID-0 ou RAID-5, on peut réduire cette région en retirant un des objets, ce qui se traduira par une réduction de l'espace libre dans le conteneur. Quand on se sert de l'interface graphique ou de l'interface texte, la réduction de PV s'effectue en réduisant le conteneur. Les PV existants qui peuvent être réduits apparaîtront dans la liste des points de réduction. Sélectionnez le PV à réduire, puis les options pour réduire l'objet. Après réduction du PV, l'espace libre du conteneur correspondra à l'espace réduit disponible sur ce PV. Quand on se sert du CLI, la réduction de PV s'effectue en réduisant directement l'objet correspondant. Le CLI et le moteur EVMS achemineront les commandes nécessaires et le conteneur sera réduit en même temps. Les options pour réduire un PV dépendent du plug-in auquel il appartient. Voir l'annexe des plug-in pour plus d'information sur les options pour cet objet. 1.6. Suppression des conteneurs LVM2 On peut supprimer un conteneur tant que celui-ci ne possède pas de régions. Le plug-in LVM2 ne permet pas de supprimer des conteneurs s'ils ont des régions. Aucune option n'est disponible pour supprimer les conteneurs LVM2. 1.7. Modification du nom des conteneurs LVM2 On peut renommer un conteneur LVM2 existant. Lorsque le nom d'un conteneur LVM2 est modifié, les noms de toutes les régions produites à partir de ce conteneur seront automatiquement modifiées également, car le nom du conteneur est inclus dans les noms des régions. Dans l'interface graphique d'EVMS et l'interface texte, cela se fait en utilisant la commande modify properties qui est disponible dans le menu "Actions" ou dans les menus contextuels. Dans le CLI d'EVMS, cela se fait en utilisant la commande set. Voir Section 2.5, "Modification du nom des régions LVM2" pour plus d'informations sur ce qui se passe lorsque l'on modifie les noms de régions. 2. Les actions sur les régions 2.1. Créer des régions LVM2 On peut créer des régions LVM2 à partir de l'espace libre des conteneurs LVM2. S'il y a au moins une zone d'espace libre dans le conteneur, on peut créer une nouvelle région. Voici les options disponibles pour créer des régions LVM2 : name Nom de la nouvelle région. size Taille de la nouvelle région. Cette taille doit être un multiple de la taille de zone du conteneur. Si ce n'est pas le cas, la taille sera arrondie au nombre inférieur de telle sorte que ce soit le cas. Par défaut, tout l'espace libre disponible dans le conteneur sera utilisé pour la nouvelle région. stripes Si le conteneur utilise deux d'objets ou plus, et que chaque objet a des zones non-allouées, la nouvelle région peut être répartie sur plusieurs objets. C'est le même type de répartition que pour RAID-0 et cela permet une augmentation du débit E/S. Cette option spécifie sur combien d'objets la nouvelle région peut être répartie. Par défaut, les nouvelles régions ne sont pas réparties, et cette valeur est fixée à 1. stripe_size Granularité de la répartition. La valeur par défaut est 64 Ko. Utilisez cette option seulement si l'option stripes est plus grande que 1. pvs Liste des noms des objets auxquels la nouvelle région doit être rattachée. Par défaut, cette liste est vide, ce qui signifie que tous les objets disponibles seront utilisés pour allouer de l'espace à la nouvelle région. 2.2. Agrandissement des régions LVM2 Vous pouvez agrandir une région LVM existante s'il y a des zones inutilisées dans le conteneur. Voici les options disponibles pour agrandir les régions LVM : size Quantité d'espace à ajouter à la région. Il s'agit d'une taille delta, pas de la nouvelle taille absolue de la région. Tout comme la création de nouvelles régions, cette taille doit être un multiple de la taille de zone du conteneur, et sera arrondie au nombre inférieur si nécessaire. stripes Nombre d'objets sur lesquels doit être répartie cette nouvelle portion de la région. Cette valeur peut être différente du nombre de segments de données dans la région existante. Par exemple, si la région a été créée à l'origine avec trois segments, mais que maintenant deux objets sont disponibles, alors la nouvelle portion de la région pourrait être répartie juste sur ces deux objets. Le nombre de de bandes de données pour le dernier mappage dans la région servira de valeur par défaut. stripe_size Granularité de la répartition. Tout comme le nombre de de bandes, cette valeur peut être différente de celle de la région existante. Par défaut, c'est la taille de la bande de données du dernier mappage dans la région qui est utilisée. pvs Liste des objets sur lesquels la région devrait être étendue. Par défaut, la liste est vide, ce qui signifie que tous les objets seront utilisés pour allouer de l'espace supplémentaire à la région. 2.3. Réduction des régions LVM2 Vous pouvez réduire des régions LVM existantes en enlevant des zones se trouvant à la fin de la région. Les régions doivent avoir au moins une zone; une région ne peut donc être réduite à zéro. Les options suivantes sont disponibles pour la réduction d'une région LVM. Etant donné que l'on réduit toujours les régions en enlevant de l'espace à la fin de la région, une liste d'objets ne peut être spécifiée dans cette commande. size Quantité d'espace à enlever de la région. Il s'agit d'une taille delta, pas de la nouvelle taille absolue de la région. Tout comme la création et l'agrandissement de régions, cette taille doit être un multiple de la taille de zone du conteneur, et sera arrondie au nombre inférieur si nécessaire. 2.4. Suppression des régions LVM2 On peut effacer une région LVM existante tant qu'elle n'est pas à ce moment là un volume de compatibilité, un volume EVMS, ou un volume consommé par un autre plug-in EVMS. Aucune option n'est disponible pour effacer des régions LVM. 2.5. Modification du nom des régions LVM2 On peut renommer une région LVM2 existante. Dans l'interface graphique d'EVMS et l'interface texte, cela se fait en utilisant la commande modify properties, qui est disponible dans le menu "Actions" ou dans les menus contextuels. Dans le CLI d'EVMS, cela se fait avec la commande set. Si une région LVM2 avec un nouveau nom possède un volume de compatibilité, le nom de ce volume de compatibilité sera également changé. Pour que cela marche correctement, ce volume doit être démonté avant que le nom soit changé. En outre, veillez à bien mettre à jour votre fichier /etc/fstab si le volume apparaît dans la liste, sinon le volume de sera pas monté proprement au prochain redémarrage du système. Si la région LVM2 avec un nouveau nom possède un volume EVMS ou un autre objet de stockage, le changement de nom de la région sera visible par les couches supérieures. Dans ce cas, on peut faire le changement de nom pendant que le volume est monté. Appendix E. Le plug-in CSM Table of Contents 1. Affectation du plug-in CSM 2. Annulation de l'affectation du plug-in CSM 3. Suppression d'un conteneur CSM Le Cluster Segment Manager (CSM) est le plug-in EVMS qui identifie et gère le stockage des segments contigus [clusters]. Le CSM protège les objets stockés en écrivant des métadonnées au début et à la fin du disque, ce qui empêche d'autres plug-ins d'essayer d'utiliser le disque. Les autres plug-ins peuvent visionner le disque, mais ils ne voient pas leurs propres signatures de métadonnées et ne peuvent pas consommer le disque. La protection que CSM fournit permet au CSM de découvrir le stockage de clusters et de le présenter d'une manière appropriée pour le système. Tous les objets de disques de stockage de clusters doivent être placés dans des conteneurs qui ont les attributs suivants : * cluster ID qui identifie le logiciel de gestion de clusters * node ID qui identifie le propriétaire des objets disque. * storage type: private, shared, ou deported Le plug-in CSM lit les métadonnées et construit des conteneurs qui consomme l'objet disque. Chaque disque fournit une zone utilisable, mappée comme segment de données EVMS, mais seulement si le disque est accessible par le noeud voyant le stockage. Voici les opérations que le plug-in CSM effectue: * examine les objets disque * créé des conteneurs * utilise les conteneurs pour consommer des objets disque * produit des objets de segment de données si le disque est accessible par le noeud 1. Affectation du plug-in CSM On effectue l'affectation d'un gestionnaire de segments à un disque quand on veut que le plug-in gère les partitions sur le disque. Pour cela, le plug-in doit créer et maintenir les métadonnées appropriées. Le CSM crée les trois segments suivants sur le disque : * segment primaire de métadonnées * segment de données de zone utilisable * segment secondaire de métadonnées Le CSM collecte les informations dont il a besoin pour réaliser l'opération d'affectation avec les options suivantes : NodeId Ne choisir que dans une liste des identifiants de noeuds configurés qui ont été fournis au CSM par le logiciel de groupage [clustering]. La sélection par défaut est le noeud à partir duquel on est en train de faire fonctionner l'interface utilisateur d'EVMS. Container Name Nom du conteneur. Ce nom ne doit être réutilisé nulle part dans le cluster pour éviter les erreurs de conflits de noms en cas de basculement du conteneur sur un autre noeud ayant un conteneur du même nom. Storage Type Peut être soit : share, private, ou deported. Notez que, normalement, on affecte le CSM à un disque quand on veut ajouter un disque à un conteneur CSM existant. Si on créé un nouveau conteneur, on a le choix entre: Actions -> Create -> Container et Actions -> Add -> Segment Manager. Si le conteneur n'existe pas, il sera créé pour le disque. Si le conteneur existe déjà, le disque sera ajouté à celui-ci. 2. Annulation de l'affectation du plug-in CSM En annulant l'affectation d'un plug-in CSM on supprime ses métadonnées de l'objet de stockage de disques spécifié. Le résultat est que le disque n'a plus de segments mappés et apparaît comme un objet disque brut. Le disque est supprimé du conteneur qui l'a consommé et le segment de données est également supprimé. 3. Suppression d'un conteneur CSM Un conteneur CSM existant ne peut être supprimé s'il produit des segments de données, car d'autres plug-ins EVMS peuvent être en train de construire des objets de haut niveau sur les objets CSM. Pour supprimer un conteneur CSM, supprimez d'abord les objets disque du conteneur. Quand le dernier disque est supprimé, le conteneur est également supprimé. Appendix F. Module d'interface de système de fichiers JFS Table of Contents 1. Création de systèmes de fichiers JFS 2. Vérification des systèmes de fichiers JFS 3. Suppresion des systèmes de fichier JFS 4. Agrandissement des systèmes de fichiers JFS 5. Réduction des systèmes de fichiers JFS Le module d'interface de système de fichiers JFS (JFS FSIM) permet aux utilisateurs EVMS de créer et gérer les systèmes de fichiers JFS à partir des interfaces EVMS. Afin d'utiliser le JFS FSIM, la version 1.0.9 ou plus récente des utilitaires JFS doit être installée sur votre système. On trouvera la dernière version de JFS sur http://oss.software.ibm.com/jfs/ [http://oss.software.ibm.com/jfs/]. 1. Création de systèmes de fichiers JFS On peut créer les systèmes de fichiers JFS avec mkfs sur n'importe quel volume EVMS ou de compatibilité (de taille supérieure ou égale à 16Mo) qui ne possède pas déjà de système de fichiers. Voici les options disponibles pour créer des systèmes de fichiers JFS: badblocks Effectue une recherche en lecture seule des blocs défectueux sur le volume avant de créer le système de fichiers. La valeur par défaut est false. caseinsensitive Marque le système de fichier comme insensible à la casse (pour la compatibilité OS/2). La valeur par défaut est false. vollabel Spécifie une étiquette (d'en-tête) de volume pour le système de fichiers. La valeur par défaut est none. journalvol Spécifie que le volume sera utilisé pour un journal externe. Cette option est seulement disponible avec la version 1.0.20 ou plus récente des utilitaires JFS. La valeur par défaut est none. logsize Spécifie la taille du fichier log (en Mo). Cette option est seulement disponible si aucune valeur n'a été indiquée pour l'option journalvol. La valeur par défaut est 0,4% de la taille du volume, jusqu'à 32 Mo. 2. Vérification des systèmes de fichiers JFS Voici les options disponibles pour vérifier les systèmes de fichiers JFS avec fsck: force Force la vérification complète du système de fichiers, même si le système de fichiers est déjà marqué comme étant bon. La valeur par défaut est false. readonly Vérifie si le système de fichiers est en lecture seule. Signale mais ne corrige pas les erreurs. Si le système de fichiers est monté, cette option est automatiquement sélectionnée. La valeur par défaut est false. omitlog Avec cette option, le journal de transactions ne sera pas affiché. Elle ne doit être spécifiée que si le fichier log est corrompu. La valeur par défaut est false. verbose Affiche les détails et les informations de débogage pendant la vérification. La valeur par défaut est false. version Affiche la version de fsck.jfs et quitte sans avoir vérifié le système de fichiers. La valeur par défaut est false. 3. Suppresion des systèmes de fichier JFS On peut supprimer un système de fichiers JFS dans un volume si le système de fichiers est démonté. Cette opération implique la suppression du superbloc de ce volume de sorte que le système de fichiers ne pourra être reconnu après. Aucune option n'est disponible pour la suppression des systèmes de fichiers. 4. Agrandissement des systèmes de fichiers JFS Un système de fichiers JFS s'agrandit automatiquement quand on agrandit son volume. Cependant, JFS n'autorise l'agrandissement du volume que si il est monté, car JFS exécute tous ses agrandissements en ligne. De plus, JFS ne permet les expansions que si la version 1.0.21 ou plus des utilitaires JFS est installée 5. Réduction des systèmes de fichiers JFS A ce jour, JFS ne supporte pas la réduction de ses systèmes de fichiers. Par conséquent, les volumes avec des systèmes de fichiers JFS ne peuvent être réduits. Appendix G. Module d'interface du système de fichiers XFS Table of Contents 1. Création des systèmes de fichiers XFS 2. Vérification des systèmes de fichiers XFS 3. Suppression des systèmes de fichiers XFS 4. Agrandissement des systèmes de fichiers XFS 5. Réduction des systèmes de fichiers XFS Le MISF de XFS permet à l'utilisateur d'EVMS de créer et administrer les systèmes de fichiers XFS depuis les interfaces EVMS. Afin d'utiliser le MISF de XFS, la version 2.0.0 ou plus des utilitaires XFS doit être installée sur votre système. On peut trouver la dernière version de XFS sur http://oss.software.jbm.com/xfs/ [http://oss.software.jbm.com/xfs/]. 1. Création des systèmes de fichiers XFS On peut créer les systèmes de fichiers XFS à l'aide de mkfs sur n'importe quel EVMS ou volume de compatibilité qui n'a pas encore de système de fichiers. Les options suivantes sont disponible pour créer des systèmes de fichiers XFS : vollabel Spécifie un label de volume pour le système de fichier. La valeur par défaut est none. journalvol Spécifie le volume à utiliser pour le journal externe. La valeur par défaut est none. logsize Spécifie la taille du fichier log incorporé (en Mo). Cette option est seulement disponible seulement si l'option journalvol est désactivée. La taille par défaut est de 4 Mo; la taille permise va de 2 à 256 Mo. 2. Vérification des systèmes de fichiers XFS Voici les options disponibles pour la vérifications des systèmes de fichiers XFS avec fsck: readonly Vérifie le système de fichiers est en lecture seule. Signale les les erreurs mais ne les corrige pas. La valeur par défaut est false. verbose Affiche les détails est les informations de débogage durant la vérification. la valeur par défaut est false. 3. Suppression des systèmes de fichiers XFS Un système de fichiers XFS peut être supprimé de son volume si le système de fichiers est démonté. Cette opération implique la suppression du superbloc du volume afin que le système de fichiers ne soit pas reconnu par la suite. Il n'y a aucune option de disponible pour supprimer les systèmes de fichiers. 4. Agrandissement des systèmes de fichiers XFS Un système de fichiers XFS s'agrandit automatiquement quand on agrandit son volume. Cependant, XFS ne permet d'agrandir le volume que si il est monté, car XFS exécute tous ses agrandissements en ligne. 5. Réduction des systèmes de fichiers XFS A ce jour, XFS ne supporte pas la réduction de ses systèmes de fichiers. Par conséquent, les volumes avec des systèmes de fichier XFS ne peuvent être réduits. Appendix H. Module d'interface du système de fichiers ReiserFS Table of Contents 1. Création des systèmes de fichiers ReiserFS 2. Vérification des systèmes de fichiers ReiserFS 3. Suppression des systèmes de fichiers ReiserFS 4. Agrandissement des systèmes de fichiers ReiserFS 5. Réduction des systèmes de fichiers ReiserFS Le MISF de ReiserFS permet à l'utilisateur d'EVMS créer et administrer les systèmes de fichier ReiserFS depuis les interfaces EVMS. Afin d'utiliser le MISF de ReiserFS, la version 3.x.0 ou plus des utilitaires ReiserFS doit être installée sur votre système. On peut trouver la dernière version de ReiserFS sur http://www.namesys.com [http://www.namesys.com] 1. Création des systèmes de fichiers ReiserFS On peut créer les systèmes de fichiers ReiserFS à l'aide de mkfs sur tout EVMS ou volume de compatibilité qui n'a pas encore de système de fichier. Voici les options disponibles pour créer des systèmes de fichiers ReiserFS : vollabel Spécifie un label de volume pour le système de fichier. La valeur par défaut est false. 2. Vérification des systèmes de fichiers ReiserFS L'option disponible pour la vérification des systèmes de fichiers ReiserFS avec fsck: mode Il y a trois modes possibles pour vérifier un système de fichiers ReiserFS : Check Read-Only, Fix, et Rebuild Tree." 3. Suppression des systèmes de fichiers ReiserFS Un système de fichiers ReiserFS peut être supprimé de son volume si le système de fichier est démonté. Cette opération implique la suppression du superbloc du volume afin que le système de fichiers ne soit pas reconnu par la suite. Il n'y a aucune option de disponible pour supprimer les systèmes de fichiers. 4. Agrandissement des systèmes de fichiers ReiserFS Un système de fichier ReiserFS s'agrandit automatiquement quand on agrandit le volume. On peut agrandir les systèmes de fichier ReiserFS si le volume est monté ou démonté. 5. Réduction des systèmes de fichiers ReiserFS Un système de fichier ReiserFS se réduit automatiquement si on réduit le volume. Les systèmes de fichiers ReiserFS ne peuvent se réduire que si le volume est démonté. Appendix I. Module d'interface du système de fichiers Ext-2/3 Table of Contents 1. Création des systèmes de fichiers Ext-2/3 2. Vérification des systèmes de fichiers Ext-2/3 3. Suppression des systèmes de fichiers Ext-2/3 4. Agrandissement et réduction des systèmes de fichiers Ext-2/3 Le MISF de Ext-2/3 permet à l'utilisateur d'EVMS de créer et administrer les systèmes de fichiers Ext2 et Ext3 depuis les interfaces EVMS. Afin d'utiliser le MISF de Ext-2/3, le paquet e2fsprogs doit être installé sur votre système. On peut trouver e2fsprogs sur http://e2fsprogs.sourceforge.net/ [http://e2fsprogs.sourceforge.net/]. 1. Création des systèmes de fichiers Ext-2/3 Les systèmes de fichiers Ext-2/3 peuvent être créer à l'aide de mkfs sur tout EVMS ou volume de compatibilité qui n'a pas encore de système de fichier. Voici les options disponibles pour créer des systèmes de fichiers Ext-2/3 : badblocks Effectue une recherche en lecture seule des mauvais blocs dans le volume avant de créer le système de fichiers. La valeur par défaut est false. badblocks_rw Effectue une recherche en lecture/écriture des mauvais blocs dans le volume avant de créer le système de fichiers. La valeur par défaut est false. vollabel Spécifie un label de volume pour le système de fichiers. La valeur par défaut est none. journal Crée un journal à utiliser avec le système de fichiers Ext2. La valeur par défaut est true. 2. Vérification des systèmes de fichiers Ext-2/3 Voici les options disponibles pour la vérification des systèmes de fichiers Ext-2/3 avec fsck: force Impose un contrôle complet du système de fichiers, même si le système de fichiers est déjà marqué comme étant propre. La valeur par défaut est false. readonly Vérifie que le système de fichiers est en lecture seule. Signale les erreurs mais ne les corrige pas. Si le système de fichier est monté, cette option est automatiquement selectionnée. La valeur par défaut est false. badblocks Effectue une recherche des mauvais blocs dans le volume et les marque comme occupés. La valeur par défaut est false. badblocks_rw Effectue une recherche en lecture-écriture des mauvais blocs dans le volume et les marque comme occupés. La valeur par défaut est false. 3. Suppression des systèmes de fichiers Ext-2/3 On peut suprimer un système de fichiers Ext-2/3 peut être supprimé de son volume si le système de fichiers est démonté. Cette opération implique la suppression du superbloc du volume afin que le système de fichiers ne soit pas reconnu par la suite. Il n'y a aucune option de disponible pour supprimer les systèmes de fichiers. 4. Agrandissement et réduction des systèmes de fichiers Ext-2/3 Un système de fichiers Ext-2/3 s'agrandit ou se réduit automatiquement quand on agrandit ou quand on réduit son volume. Cependant, Ext-2/3 n'autorise ces opérations que si le volume est démonté, car l'agrandissement et la réduction en ligne ne sont pas encore supportées. Appendix J. Module d'interface du système de fichiers OpenGFS Table of Contents 1. Création des systèmes de fichiers OpenGFS 2. Vérification des systèmes de fichiers OpenGFS 3. Suppression des systèmes de fichiers OpenGFS 4. Agrandissement et réduction des systèmes de fichiers OpenGFS Le MISF de OpenGFS permet à l'utilisateur d'EVMS de créer et administrer les systèmes de fichiers OpenGFS depuis les interfaces EVMS. Afin d'utiliser le MISF de OpenGFS, les utilitaires OpenGFS doivent être installés sur votre système. Allez voir le projet OpenGFS sur http://sourceforge.net/projects/opengfs [http://sourceforge.net/projects/opengfs] pour obtenir le projet OpenGFS. 1. Création des systèmes de fichiers OpenGFS On peut créer les systèmes de fichiers OpenGFS à l'aide de mkfs sur tout EVMS ou volume de compatibilité qui n'a pas encore de système de fichiers et qui est produit à partir d'un conteneur de cluster partagé. Voici les options disponibles pour créer les systèmes de fichiers OpenGFS : blocksize Défini la taille de bloc du système de fichier. La taille de bloc est en octets. La taille de bloc doit être une puissance de 2 entre 512 et 65536 inclus. La taille de bloc par défaut est de 4096 octets. journals Noms des volumes journal, un pour chaque noeud. protocol Spécifie le nom du protocole de vérouillage à utiliser. On a le choix entre "memexp" et "opendlm." lockdev Spécifie le volume partagé à utiliser pour contenir les métadonnées de vérouillage. Le MSIF OpenGFS s'occupe seuelement des opérations du système de fichier. Il ne s'occupe pas de la configuration du cluster OpenGFS et du noeud. Avant de pouvoir monter les volumes, il faut configurer le cluster et le noeud séparémment après avoir fabriqué le système de fichiers et enregistré les modifications. 2. Vérification des systèmes de fichiers OpenGFS L'utilitaire d'OpenGFS pour la vérification du système de fichiers n'a pas d'options supplémentaires. 3. Suppression des systèmes de fichiers OpenGFS on peut supprimer un système de fichiers OpenGFS de son volume si le système de fichiers est démonté. Cette opération implique la suppression du superbloc du volume, la suppression des en-têtes de logs pour les volumes de journaux, et la suppression du bloc de vérification sur le volume de configuration du cluster associé au volume du système de fichiers afin que le système de fichiers ne soit pas reconnu par la suite. Il n'y a aucune option de disponible pour supprimer les systèmes de fichiers. 4. Agrandissement et réduction des systèmes de fichiers OpenGFS OpenGFS permet uniquement l'agrandissement des volumes. OpenGFS ne permet l'agrandissement d'un volume que si celui ci est monté. Un système de fichiers OpenGFS s'agrandit automatiquement quand on agrandit volume. Appendix K. Module d'interface du système de fichiers NTFS Table of Contents 1. Création des systèmes de fichiers NTFS 2. Réparation des systèmes de fichiers NTFS 3. Clonage des systèmes de fichiers NTFS 4. Suppression des systèmes de fichiers NTFS 5. Agrandissement et réduction des systèmes de fichiers NTFS Le MISF de NTFS permet aux utilisateurs d'EVMS de créer et administrer les systèmes de fichiers Windows NT depuis les interfaces EVMS. 1. Création des systèmes de fichiers NTFS On peut créer les systèmes de fichier NTFS à l'aide de mkfs sur tout EVMS ou volume de compatibilité d'au moins 1 Mo qui n'a pas encore de système de fichiers. Voici les options disponibles pour créer des systèmes de fichiers NTFS : label Specifie un label de volume pour le système de fichiers. La valeur par défaut est none. cluster-size Spécifie la taille des clusters en octets. Les tailles de cluster valides sont des puissances de deux, d'au moins 256 octets par cluster et d'au plus 65536 octets par cluster. Si elle n'est pas précisée, la taille de cluster mkntfs est déterminée par la taille de volume. Cette valeur est déterminée comme suit : Taille par défaut du volume de cluster 0-512 Mo 512 octets 512 Mo-1 Go 1024 octets 1 Go-2 Go 2048 octets 2 Go+ 4096 octets mft-zone-mult Fixe le multiplicateur de zone TFM, qui détermine la taille de la zone MFT à utiliser sur le volume. La zone TFM est une zone au début du volume réservée à la table du fichier maître (TFM), qui stocke les inodes qui se trouvent sur le disque (enregistrement TFM). Notez que ces petits fichiers sont stockés entièrement dans le noeud. Ainsi, si vous vous attendez à utiliser le volume pour stocker un grand nombre de fichiers de taille très faible, il est utile de fixer le multiplicateur de zone à une valeur plus grande. Notez que la zone TFM est redimensionnée à la volée comme requis durant l'opération du driver NTFS, mais choisir une bonne valeur va réduire la fragmentation. Les valeurs valides sont 12.5 (la valeur par défaut), 25, 37.5, et 50. compress Permet la compression sur le volume. quick Exécute un formatage rapide. Il saute la réduction à zéro sur le volume ainsi que la vérification des mauvais secteurs. 2. Réparation des systèmes de fichiers NTFS Le MISF de NTFS peut lancer l'utilitaire ntfsfix sur un sytème de fichiers NTFS. ntfsfix répare les partitions NTFS altérées de n'importe quelle manière avec le driver Linux NTFS. ntfsfix n'est pas une version Linux de chkdsk. ntfsfix essaye seulement de laisser la partition NTFS dans un état pas trop incompatible après que le driver NTFS aie écrit dessus. Lancer ntfsfix après avoir monté un volume NTFS en lecture/écriture est recommandé afin de réduire les chances de pertes de données sévères quand Windows NT ou Windows 2000 essaye de remonter le volume affecté. Afin d'utiliser ntfsfix, le volume NTFS doit être démonté. Après avoir lancé ntfsfix, on peut redémarrer Windows NT ou Windows 2000 en toute sécurité. ntfsfix n'est pas un outil semblable à fsck. ntfsfix n'est pas assuré de réparer toutes les altérations provoquées par le driver NTFS. Voici les options disponibles pour lancer ntfsfix sur un système de fichiers NTFS : force Impose ntfsfix à enregistrer les modifications même s'l détecte que le système de fichiers est sale. La valeur par défaut est false. 3. Clonage des systèmes de fichiers NTFS Le MISF de NTFS peut lancer l'utilitaire ntfsclone pour copier un système de fichiers NTFS d'un volume à un autre. ntfsclone est plus rapide que dd car il ne copie que les fichiers et le système de fichiers au lieu du contenu entier du volume. Voici les options disponibles pour lancer ntfsclone sur un système de fichiers NTFS : target Le volume sur lequel le système de fichiers devrait être cloné. force Impose ntfsclone à copier le système de fichiers même s'iil détecte que le volume est sale. La valeur par défaut est false. 4. Suppression des systèmes de fichiers NTFS On peut supprimer un système de fichiers NTFS de son volume si le système de fichiers est démonté. Cette opération implique la suppression du superbloc du volume, afin que le système de fichier ne soit pas reconnu par la suite. Il n'y a aucune option de disponible pour la supprimer les systèmes de fichiers. 5. Agrandissement et réduction des systèmes de fichiers NTFS Un système de fichiers NTFS s'agrandit ou se réduit automatiquement quand on agrandit ou quand on réduit son volume. Cependant, NTFS n'autorise ces opérations que si le volume est démonté.