Administration du gestionnaire de volumes logiques
Guide de l'administrateur LVM
Édition 1
Résumé
Introduction
1. À propos de ce guide
2. Public visé
3. Versions du logiciel
Logiciel | Description |
---|---|
RHEL 6
|
Se réfère à RHEL 6 et les versions plus récentes
|
GFS2
|
Se réfère à GFS2 pour RHEL 6 et les versions plus récentes
|
4. Documentation annexe
- Guide d'installation — Fournit des informations à propos de l'installation de Red Hat Enterprise Linux 6.
- Guide déploiement — Fournit des informations à propos du déploiement, de la configuration et de l'administration de Red Hat Enterprise Linux 6.
- Guide de l'administration du stockage — Fournit des informations sur comment gérer de manière efficace les périphériques de stockage et les systèmes de fichiers sur Red Hat Enterprise Linux 6.
- Aperçu du composant additionnel Haute Disponibilité — Fournit un aperçu de haut niveau du composant additionnel Haute Disponibilité.
- Administration de Clusters — Fournit des informations sur l'installation, la configuration et la gestion du composant additionnel Haute Disponibilité de Red Hat.
- Système de fichiers GFS2 : configuration et administration — Fournit des informations à propos de l'installation, la configuration et la maintenance de Red Hat GFS2 (Red Hat Global File System 2), qui est inclut dans le composant additionnel Stockage résilient.
- DM Multipath — Fournit des informations à propos de l'utilisation de la fonctionnalité « Device-Mapper Multipath » de Red Hat Enterprise Linux 6.
- Administration de l'Équilibreur de charges — Fournit des informations sur la configuration de systèmes et services de haute performance avec le composant additionnel Équilibreur de charges, un ensemble de composants logiciels fournissant des serveurs virtuels Linux (LVS, de l'anglais Linux Virtual Server) avec un équilibreur de charges IP sur un ensemble de serveurs réels.
- Notes de mise à jour — Fournit des informations sur la version actuelle des produits Red Hat.
5. Vos commentaires sont bienvenus !
Logical_Volume_Manager_Administration(EN)-6 (2011-05-19-15:20)
.
Chapitre 1. Le gestionnaire de volumes logiques LVM
1.1. Nouvelles fonctionnalités et fonctionnalités modifiées
1.1.1. Nouvelles fonctionnalités et fonctionnalités modifiées de Red Hat Enterprise Linux 6.0
- Vous pouvez maintenant définir de quelle manière un volume logique miroir se comporte au cas où il se produirait une panne de périphérique avec les paramètres
mirror_image_fault_policy
etmirror_log_fault_policy
dans la sectionactivation
du fichierlvm.conf
. Lorsque ce paramètre est réglé surremove
, le système tente de supprimer le périphérique défectueux et de s'exécuter sans lui. Lorsque ce paramètre est réglé surallocate
, le système tente de supprimer le périphérique défectueux et essaied'allouer de l'espace sur un nouveau périphérique afin de remplacer celui qui est défectueux ; cette politique agit de la même manière que la politiqueremove
s'il n'y a pas de périphérique et d'espace approprié qui puisse être alloué en remplacement. Pour obtenir plus d'informations sur les politiques en cas d'échec de miroirs LVM, voir la Section 4.4.3.1, « Politique en cas d'échec des volumes logiques en miroir ». - Dans Red Hat Enterprise Linux 6, la pile d'E/S Linux a été améliorée afin de traiter les informations sur les limites d'E/S offertes par les fournisseurs. Ceci permet d'utiliser des outils de gestion du stockage, y compris LVM, afin d'optimiser le placement et l'accès aux données. Même s'il n'est pas recommandé de le faire, cette prise en charge peut être désactivée en modifiant les valeurs par défaut de
data_alignment_detection
et dedata_alignment_offset_detection
dans le fichierlvm.conf
.Pour obtenir des informations sur l'alignement des données dans LVM et sur la modification des valeurs par défaut dedata_alignment_detection
etdata_alignment_offset_detection
, voir la documentation en ligne sur le fichier/etc/lvm/lvm.conf
, qui se trouve dans l'Annexe B, Les fichiers de configuration LVM. Pour des informations générales sur la pile d'E/S et sur les limites des E/S dans Red Hat Enterprise Linux 6, voir le Guide d'administration du stockage. - Dans Red Hat Enterprise Linux 6, le mappeur de périphériques (de l'anglais, « Device Mapper » fournit un support direct pour l'intégration
udev
. Ceci synchronise le mappeur de périphériques avec tous les processusudev
liés aux périphériques du mappeur de périphériques. - Dans Red Hat Enterprise Linux, vous pouvez utiliser la commande
lvconvert --repair
pour réparer un miroir après un échec du disque. Ceci permet de ramener le miroir dans un état consistant. Pour obtenir des informations sur la commandelvconvert --repair
, voir la Section 4.4.3.3, « Réparer un périphérique logique en miroir ». - À partir de Red Hat Enterprise Linux 6, vous pouvez utiliser l'option
--merge
de la commandelvconvert
pour fusionner un instantané dans son volume d'origine. Pour obtenir plus d'informations sur la fusion d'instantanés, voir la Section 4.4.5, « Fusion d'instantanés de volumes ». - À partir de Red Hat Enterprise Linux 6, vous pouvez utiliser l'argument
--splitmirrors
de la commandelvconvert
pour séparer une image redondante d'un volume logique miroir afin de former un nouveau volume logique. Pour obtenir plus d'informations sur l'utilisation de cette option, voir la Section 4.4.3.2, « Diviser une image redondante d'un volume logique en miroir ». - Vous pouvez maintenant créer un journal miroir pour un périphérique logique miroir qui est lui-même mis en miroir en utilisant l'argument
--mirrorlog mirrored
de la commandelvcreate
lors de la création d'un périphérique logique miroir. Pour obtenir plus d'informations sur l'utilisation de cette option, voir la Section 4.4.3, « Création de volumes en miroir ».
1.1.2. Nouvelles fonctionnalités et fonctionnalités modifiées de Red Hat Enterprise Linux 6.1
- La version 6.1 de Red Hat Enterprise Linux prend en charge la création d'instantanés de volumes logiques de volumes logiques miroirs, Vous pouvez créer l'instantané d'un volume miroir aussi simplement que vour pourriez créer l'instantané d'un volume logique linéaire ou en mode stripe. Pour obtenir plus d'informations sur la création d'instantanés de volumes, voir Section 4.4.4, « Création d'instantanés de volumes ».
- Lors de l'extension d'un volume LVM, vous pouvez maintenant utiliser l'option
--alloc cling
de la commandelvextend
pour spécifier la politique d'allocationcling
. Cette politique choisira l'espace sur les mêmes volumes physiques que le dernier segment du volume logique existant. S'il n'y a pas suffisament d'espace sur les volumes physiques et qu'une liste des balises est définie dans le fichierlvm.conf
, LVM vérifiera si des balises sont attachées aux volumes physiques et cherchera à faire correspondre ces balises de volumes physiques avec les extensions existantes et les nouvelles extensions.Pour obtenir des informations sur l'extension de volumes miroirs LVM avec l'option--alloc cling
de la commandelvextend
, voir Section 4.4.12.2, « Étendre un volume logique avec la politique d'allocationcling
». - Vous pouvez maintenant spécifier de multiples arguments
--addtag
et--deltag
avec une commandepvchange
,vgchange
, oulvchange
unique. Pour obtenir des informations sur l'ajout et la suppression de balises d'objets, voir Section C.1, « Ajout et suppression des balises d'objets ». - La liste de caractères autorisés dans les balises d'objets LVM a été étendue, et les balises peuvent contenir les caractères "/", "=", "!", ":", "#", et "&". Pour obtenir plus d'informations sur les balises d'objets LVM, voir Annexe C, Les balises des objets LVM.
- Vous pouvez maintenant combiner RAID0 (striping) et RAID1 (mirroring) dans un volume logique unique. La création d'un volume logique tout en spécifiant le nombre de miroirs (
--mirrors X
) et le nombre de stripes (--stripes Y
) résulte en un périphérique miroir dont les périphériques constituants sont en mode stripe. Pour obtenir des informations sur la création de volumes logiques miroirs, voir Section 4.4.3, « Création de volumes en miroir ». - À partir de la version 6.1 de Red Hat Enterprise Linux, si vous devez créer une copie de sauvegarde des données consistante sur un volume logique clusterisé, vous pouvez activer le volume de manière exclusive puis créer l'instantané. Pour obtenir des informations sur l'activation de volumes logiques sur un seul noeud, voir Section 4.7, « Activation des volumes logiques sur les noeuds individuels d'un cluster ».
1.2. Volumes logiques
- Capacité flexibleLors de l'utilisation de volumes logiques, les systèmes de fichiers peuvent être étendus à travers plusieurs disques, étant donné que vous pouvez regrouper les disques et partitions dans un seul volume logique.
- Pools de stockage redimensionnablesVous pouvez augmenter ou réduire la taille des volumes logiques avec de simples commandes logicielles, sans reformater et repartitionner les périphériques disques sous-jacents.
- Déplacement des données en lignePour déployer de nouveaux sous-systèmes de stockage résistants et rapides, vous pouvez déplacer les données là où votre système est actif. Les données peuvent être réarrangées sur les disques pendant qu'ils sont utilisés. Vous pouvez par exemple vider un disque « hot-swappable » avant de le supprimer.
- Nommage des périphériques pratiqueLes volumes de stockage logiques peuvent être gérés dans des groupes définis par les utilisateurs que vous pouvez nommer à votre convenance.
- Disques en mode stripeVous pouvez créer un volume logique qui sépare les données à travers deux ou plusieurs disques en suivant un modèle round-robin. Cela peut augmenter le débit de manière significative.
- Volumes miroirsLes volumes logiques offrent un moyen pratique afin de configurer un miroir pour vos données.
- Instantanés de volumesEn utilisant les volumes logiques, vous pouvez prendre des instantanés de périphériques pour des sauvegardes efficaces ou pour tester des modifications sans affecter les autres données.
1.3. Aperçu de l'architecture LVM
- Capacité flexible
- Stockage des métadonnées plus efficace
- Format de récupération amélioré
- Nouveau format de métadonnées ASCII
- Changements atomiques des métadonnées
- Copies redondantes des métadonnées
vgconvert
. Pour obtenir des informations à propos de la conversion du format des métadonnées LVM, reportez-vous à la page de manuel vgconvert
(8).

Figure 1.1. Composants d'un volume logique LVM
1.4. Le gestionnaire de volumes logiques LVM en cluster (CLVM)
- Si un seul noeud de votre système requiert accès au stockage que vous êtes en train de configurer en tant que volumes logiques, vous pouvez alors utiliser LVM sans les extensions CLVM et les volumes logiques créés avec ce noeud sont tous locaux à celui-ci.
- Si vous utilisez un système en cluster pour basculements alors qu'un seul noeud accédant au stockage est actif à tout moment, vous devriez utiliser les agents de gestion de volume logique de haute disponibilité de l'anglais, « High Availability Logical Volume Management », ou HA-LVM). Pour plus d'informations sur HA-LVM, voir Configurer et gérer un cluster Red Hat.
- Si plus d'un noeud de votre cluster requiert accès à votre stockage, qui sera ensuite partagé à travers les différents noeuds actifs, alors vous devrez utiliser CLVM. CLVM permet à un utilisateur de configurer des volumes logiques sur un stockage partagé en verrouillant l'accès au stockage physique pendant qu'un volume est en cours de configuration. CLVM utilise les services de verrouillage clusterisés pour gérer le stockage partagé.
clvmd
, doivent tous être en cours d'exécution. Le démon clmvd
est l'extension de mise en cluster clé pour LVM. Le démon clmvd
est démarré sur chaque ordinateur du cluster et distribue les mises à jour de métadonnées au sein du cluster, en présentant à chaque ordinateur du cluster la même vue des volumes logiques. Pour plus d'informations sur l'installation et l'administration du logiciel additionnel Haute disponiblité, voir Configurer et gérer un cluster Red Hat.
clvmd
est lancé au démarrage, vous pouvez exécuter une commande chkconfig ... on
sur le service clvmd
comme suit :
# chkconfig clvmd on
clvmd
n'a pas été démarrém vous pouvez exécuter une commande service ... start
sur le service clvmd
comme suit :
# service clvmd start
Avertissement

Figure 1.2. Aperçu de CLVM
Note
lvm.conf
pour un verrouillage au niveau du cluster. Des informations sur la configuration du fichier lvm.conf
pour qu'il prenne en charge le verrouillage clusterisé sont disponibles dans le fichier lvm.conf
lui-même. Pour davantage d'informations à propos de la configuration du fichier lvm.conf
, reportez-vous à l'Annexe B, Les fichiers de configuration LVM.
1.5. Aperçu du document
- Chapitre 2, Composants LVM décrit les composants permettant de personnaliser un volume logique LVM.
- Chapitre 3, Aperçu de l'administration LVM fournit un aperçu des étapes de base permettant de configurer les volumes logiques LVM, que ce soit en utilisant les commandes CLI (de l'anglais, « Command Line Interface ») LVM ou avec l'interface utilisateur graphique LVM (GUI).
- Chapitre 4, Administration LVM avec les commandes CLI résume les tâches d'administration individuelles que vous pouvez effectuer avec les commandes CLI LVM afin de créer et maintenir les volumes logiques.
- Chapitre 5, Exemples de configuration LVM fournit plusieurs exemples de configuration LVM.
- Chapitre 6, Résolution de problèmes LVM fournit des instructions afin de résoudre différents problèmes LVM.
- Chapitre 7, Administration LVM avec l'interface utilisateur graphique LVM résume les opérations de l'interface utilisateur graphique LVM.
- Annexe A, Le mappeur de périphériquesur de périphériques décrit le mappeur de périphériques utilisé par LVM pour mettre en correspondance les volumes logiques et physiques.
- Annexe B, Les fichiers de configuration LVM décrit les fichiers de configuration LVM.
- Annexe C, Les balises des objets LVM décrit les balises d'objets LVM et les balises hôtes.
- Annexe D, Métadonnées des groupes de volumes LVM décrit les métadonnées des groupes de volumes LVM et inclut la copie d'un échantillon de métadonnées d'un groupe de volumes LVM.
Chapitre 2. Composants LVM
2.1. Les volumes physiques
2.1.1. Structure d'un volume physique LVM
Note

Figure 2.1. Structure d'un volume physique
2.1.2. Plusieurs partitions sur un disque
- Facilité d'administrationIl est plus facile d'assurer le suivi du matériel au sein d'un système si chaque disque réel n'apparaît qu'une seule fois. Ceci est particulièrement vrai si un disque échoue. De plus, plusieurs volumes physiques sur un seul disque peuvent provoquer, au moment du démarrage, la génération d'un avertissement du noyau relatif à des types de partitions inconnus.
- Performances en mode stripeLVM ne peut pas savoir si deux volumes physiques sont sur le même disque physique. Si vous créez un volume logique en mode stripe lorsque deux volumes physiques sont sur le même disque, les stripes pourraient se trouver sur des partitions différentes. Cela causerait une diminution des performances plutôt qu'une augmentation.
2.2. Les groupes de volumes
2.3. Les volumes logiques LVM
2.3.1. Les volumes linéaires

Figure 2.2. Mappage des extensions
VG1
avec une taille d'extension physique de 4Mo. Ce groupe de volumes inclut 2 volumes physiques appelés PV1
et PV2
. Les volumes physiques sont divisés en unités de 4Mo, étant donné qu'il s'agit de la taille d'extension. Dans cet exemple, PV1
a une taille de 100 extensions (400Mo) et PV2
a une taille de 200 extensions (800Mo). Vous pouvez créer un volume linéaire avec une taille comprise entre 1 et 300 extensions (de 4Mo à 1200Mo). Dans cet exemple, le volume linéaire appelé LV1
a une taille de 300 extensions.

Figure 2.3. Volume linéaire avec des volumes physiques différents
LV1
, avec un taille de 250 extensions (1000Mo) et LV2
, avec une taille de 50 extensions (200Mo).

Figure 2.4. Plusieurs volumes logiques
2.3.2. Les volumes logiques en mode stripe
- le premier stripe de données est écrit sur PV1
- le second stripe de données est écrit sur PV2
- le troisième stripe de données est écrit sur PV3
- le quatrième stripe de données est écrit sur PV1

Figure 2.5. Striping des données à travers 3 PV
2.3.3. Les volumes logiques en miroir

Figure 2.6. Volume logique en miroir
2.3.4. Les volumes d'instantanés
Note
Note
Note
/usr
, nécessitera moins d'espace qu'un instantané à long terme d'un volume comportant un plus grand nombre d'écritures, comme /home
.
- Généralement, un instantané est pris afin d'effectuer une sauvegarde sur un volume logique sans arrêter le système en cours qui met à jour les données de façon continue.
- Vous pouvez exécuter la commande
fsck
sur l'instantané d'un système de fichiers pour vérifier l'intégrité du système de fichiers et déterminer si le système de fichiers d'origine doit être réparé. - Étant donné que l'instantané est en lecture-écriture, vous pouvez tester les applications avec des données de production en prenant un instantané et en exécutant des tests sur cet instantané, sans modifier les données réelles.
- Vous pouvez créer des volumes LVM pour une utilisation avec la virtualisation Red Hat. Les instantanés LVM peuvent être utilisés pour créer des instantanés d'images d'invités virtuels. Ces instantanés peuvent fournir une manière pratique de modifier des invités existants ou de créer de nouveaux invités avec un stockage supplémentaire minimal. Pour obtenir plus d'informations sur la création d'instantanés LVM d'invités virtualisés, voir le Guide de virtualisation Red Hat Enterprise Linux.
--merge
de la commande lvconvert
afin de fusionner un instantané dans son volume d'origine. L'une des raisons d'utilisation de cette fonctionnalité est le fait de pouvoir effectuer une restauration du système si vous perdez des données ou fichiers, ou si vous devez restaurer votre système sur un état ultérieur. Après avoir fusionné le volume instantané, le volume logique en résultant contiendra le nom, le numéro mineur, et l'UUID du volume d'origine, et l'instantané de la fusion est supprimé.
Chapitre 3. Aperçu de l'administration LVM
3.1. Création de volumes LVM dans un cluster
clvmd
, doivent être lancés au démarrage, comme décrit dans la Section 1.4, « Le gestionnaire de volumes logiques LVM en cluster (CLVM) ».
lvm.conf
pour un verrouillage au niveau du cluster. Des informations sur la configuration du fichier lvm.conf
pour qu'il prenne en charge le verrouillage clusterisé sont disponibles dans le fichier lvm.conf
lui-même. Pour davantage d'informations à propos de la configuration du fichier lvm.conf
, reportez-vous à l'Annexe B, Les fichiers de configuration LVM.
Avertissement
3.2. Aperçu de la création d'un volume logique
- Initialisez les partitions que vous utiliserez pour le volume LVM en tant que volumes physiques (cela permet de les étiqueter).
- Créez un groupe de volumes.
- Créez un volume logique.
Note
- Créez un système de fichiers GFS2 sur le volume logique avec la commande
mkfs.gfs2
. - Créez un nouveau point de montage avec la commande
mkdir
. Dans un système clusterisé, créez le point de montage sur tous les noeuds du cluster. - Montez le système de fichiers. Vous pouvez ajouter une ligne au fichier
fstab
pour chaque noeud du système.
3.3. Augmentation de la taille d'un système de fichiers sur un volume logique
- Créez un nouveau volume physique.
- Étendez le groupe de volumes contenant le volume logique avec le système de fichiers que vous voulez augmenter afin d'inclure le nouveau volume physique.
- Étendez le volume logique pour inclure le nouveau volume physique.
- Augmentez la taille du système de fichiers.
3.4. Sauvegarde d'un volume logique
lvm.conf
, les sauvegardes de métadonnées et d'archives sont automatiquement créées lorsque la configuration d'un groupe de volumes ou d'un volume logique change. Par défaut, les sauvegardes de métadonnées sont stockées dans le fichier /etc/lvm/backup
et les sauvegardes des archives de métadonnées sont stockées dans /etc/lvm/archive
. La durée pendant laquelle les archives de métadonnées sont stockées dans /etc/lvm/archive
ainsi que le nombre de fichiers archives stockés sont spécifiés à l'aide des paramètres définis dans le fichier lvm.conf
. Une sauvegarde système quotidienne devrait inclure le contenu du répertoire /etc/lvm
dans la sauvegarde.
/etc/lvm/backup
avec la commande vgcfgbackup
. Vous pouvez restaurer les métadonnées avec la commande vgcfgrestore
. Les commandes vgcfgbackup
et vgcfgrestore
sont décrites dans la Section 4.3.12, « Sauvegarde des métadonnées d'un groupe de volumes ».
3.5. Journalisation
- sortie/erreur standard
- syslog
- fichier journal
- fonction de journalisation externe
/etc/lvm/lvm.conf
, décrit dans l'Annexe B, Les fichiers de configuration LVM.
Chapitre 4. Administration LVM avec les commandes CLI
Note
clvmd
. Pour obtenir plus d'informations, voir Section 3.1, « Création de volumes LVM dans un cluster ».
4.1. Utilisation des commandes CLI
--units
dans une commande, les lettres minuscules représentent les unités en multiples de 1024 alors que les lettres majuscules représentent les unités en multiples de 1000.
lvol0
dans un groupe de volumes appelé vg0
peut être spécifié comme vg0/lvol0
. Si une liste de groupes de volumes est requise mais est laissée vide, une liste de tous les groupes de volumes sera substituée. Si, à la place d'une liste de volumes logiques requis, un groupe de volumes est spécifié, une liste de tous les volumes logique du groupe de volumes sera substituée. Par exemple, la commande lvdisplay vg0
affichera tous les volumes logiques du groupe de volumes vg0
.
-v
qui peut être saisi plusieurs fois afin d'améliorer la verbosité d'une sortie. Les exemples suivants illustrent la sortie par défaut de la commande lvcreate
.
# lvcreate -L 50MB new_vg
Rounding up size to full physical extent 52.00 MB
Logical volume "lvol0" created
lvcreate
avec l'argument -v
.
# lvcreate -v -L 50MB new_vg
Finding volume group "new_vg"
Rounding up size to full physical extent 52.00 MB
Archiving volume group "new_vg" metadata (seqno 4).
Creating logical volume lvol0
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Found volume group "new_vg"
Creating new_vg-lvol0
Loading new_vg-lvol0 table
Resuming new_vg-lvol0 (253:2)
Clearing start of logical volume "lvol0"
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Logical volume "lvol0" created
-vv
, -vvv
ou -vvvv
pour afficher davantage de détails à propos de l'exécution de cette commande. L'argument -vvvv
fournit actuellement la plus grande quantité d'informations. L'exemple suivant illustre uniquement les premières lignes de la sortie pour la commande lvcreate
avec l'argument -vvvv
spécifié.
# lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:913 Processing: lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:916 O_DIRECT will be used
#config/config.c:864 Setting global/locking_type to 1
#locking/locking.c:138 File-based locking selected.
#config/config.c:841 Setting global/locking_dir to /var/lock/lvm
#activate/activate.c:358 Getting target version for linear
#ioctl/libdm-iface.c:1569 dm version OF [16384]
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#activate/activate.c:358 Getting target version for striped
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#config/config.c:864 Setting activation/mirror_region_size to 512
...
--help
.
commandname --help
man
:
man commandname
man lvm
fournit des informations générales en ligne à propos de LVM.
/dev/sdf
d'un groupe de volumes qui, lorsque vous le remettez à nouveau, change de nom pour s'appeler /dev/sdk
. LVM trouvera encore le volume physique car il l'identifie par son UUID et non pas son nom de périphérique. Pour davantage d'informations à propos de la spécification de l'UUID d'un volume physique lors de sa création, reportez-vous à la Section 6.4, « Recupération des métadonnées du volume physique ».
4.2. Administration de volumes physiques
4.2.1. Création de volumes physiques
4.2.1.1. Paramétrage du type de partition
fdisk
ou cfdisk
ou un équivalent. Pour les périphériques disque entiers, seule la table de partition doit être supprimée, ce qui détruira efficacement toutes les données sur ce disque. Vous pouvez supprimer une table de partitions existante en remettant à zéro le premier secteur avec la commande suivante :
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
4.2.1.2. Initialisation des volumes physiques
pvcreate
pour initialiser un périphérique bloc à utiliser en tant que volume physique. L'initialisation est analogue au formatage d'un système de fichiers.
/dev/sdd1
, /dev/sde1
, et /dev/sdf1
pour l'utilisation en tant que volumes physiques LVM.
pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1
pvcreate
sur la partition. L'exemple suivant initialise /dev/hdb1
comme un volume physique LVM pour l'utiliser par la suite dans le cadre d'un volume logique LVM.
pvcreate /dev/hdb1
4.2.1.3. Recherche de périphériques blocs
lvmdiskscan
, comme illustré dans l'exemple suivant.
# lvmdiskscan
/dev/ram0 [ 16.00 MB]
/dev/sda [ 17.15 GB]
/dev/root [ 13.69 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 17.14 GB] LVM physical volume
/dev/VolGroup00/LogVol01 [ 512.00 MB]
/dev/ram2 [ 16.00 MB]
/dev/new_vg/lvol0 [ 52.00 MB]
/dev/ram3 [ 16.00 MB]
/dev/pkl_new_vg/sparkie_lv [ 7.14 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb [ 17.15 GB]
/dev/sdb1 [ 17.14 GB] LVM physical volume
/dev/sdc [ 17.15 GB]
/dev/sdc1 [ 17.14 GB] LVM physical volume
/dev/sdd [ 17.15 GB]
/dev/sdd1 [ 17.14 GB] LVM physical volume
7 disks
17 partitions
0 LVM physical volume whole disks
4 LVM physical volumes
4.2.2. Affichage des volumes physiques
pvs
, pvdisplay
et pvscan
.
pvs
fournit des informations sur les volumes physiques dans une fenêtre configurable, en affichant une ligne par volume physique. La commande pvs
fournit de nombreuses options de contrôle de format et elle est utile pour les scripts. Pour davantage d'informations à propos de l'utilisation de la commande pvs
afin de personnaliser votre sortie, reportez-vous à la Section 4.8, « Rapport personnalisé pour LVM ».
pvdisplay
fournit une sortie verbeuse sur plusieurs lignes pour chaque volume physique. Elle affiche des propriétés physiques (taille, extensions, groupe de volumes, etc.) dans un format fixe.
pvdisplay
pour un volume physique unique.
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name new_vg
PV Size 17.14 GB / not usable 3.40 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 4388
Free PE 4375
Allocated PE 13
PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
pvscan
recherche les volumes physiques à travers tous les périphériques blocs LVM supportés dans le système.
# pvscan
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]
PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]
PV /dev/sdc2 lvm2 [964.84 MB]
Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
lvm.conf
afin que cette commande évite l'analyse de certains volumes physiques. Pour davantage d'informations sur l'utilisation des filtres afin de contrôler les périphériques à analyser, reportez-vous à la Section 4.5, « Contrôler l'analyse des périphériques LVM avec les filtres ».
4.2.3. Empêcher l'allocation sur un volume physique
pvchange
. Cela peut être nécessaire s'il y a des erreurs de disque ou si vous prévoyez de supprimer le volume physique.
/dev/sdk1
.
pvchange -x n /dev/sdk1
-xy
de la commande pvchange
pour autoriser l'allocation là où elle a été précédemment interdite.
4.2.4. Redimensionnement de volumes physiques
pvresize
pour mettre à jour LVM avec la nouvelle taille. Vous pouvez exécuter la commande pendant que LVM utilise le volume physique.
4.2.5. Suppression de volumes physiques
pvremove
. L'exécution de la commande pvremove
remet à zéro les métadonnées LVM sur un volume physique vide.
vgreduce
, comme illustré dans la Section 4.3.6, « Suppression de volumes physiques à partir d'un groupe de volumes ».
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped
4.3. Administration d'un groupe de volumes
4.3.1. Création de groupes de volumes
vgcreate
. La commande vgcreate
permet de créer un nouveau groupe de volumes par nom et de lui ajouter au moins un volume physique.
vg1
qui contient les volumes physiques /dev/sdd1
et /dev/sde1
.
vgcreate vg1 /dev/sdd1 /dev/sde1
vgcreate
et l'option -s
. Vous pouvez spécifier des limites sur le nombre de volumes physiques ou logiques que le groupe de volumes peut avoir en utilisant les arguments -p
et -l
de la commande vgcreate
.
normale
. Vous pouvez utiliser l'argument --alloc
de la commande vgcreate
pour spécifier une politique d'allocation contiguous
, anywhere
, ou cling
.
contiguous
requiert que les nouvelles extensions soient adjacentes aux extensions existantes. S'il y a suffisamment d'extensions libres pour satisfaire une requête d'allocation mais qu'une politique d'allocation normal
ne les utilise pas , la politique d'allocation anywhere
les utilisera, même si le fait de placer deux stripes sur le même volume physique réduit les performances. La politique cling
place de nouvelles extensions sur le même volume physique que les extensions existantes dans le même stripe du volume logique. Ces politiques peuvent être changées en utilisant la commande vgchange
.
cling
en conjonction avec les balises LVM afin de spécifier quels volumes physiques supplémentaires utiliser lors de l'extension d'un volume LVM, voir Section 4.4.12.2, « Étendre un volume logique avec la politique d'allocation cling
».
normal
sont uniquement requises dans des situations spéciales où vous devez spécifier une allocation d'extension inhabituelle ou non standard.
/dev
avec la structure suivante :
/dev/vg/lv/
myvg1
et myvg2
, avec pour chacun d'entre eux trois volumes logiques appelés lvo1
, lvo2
et lvo3
, 6 fichiers spéciaux de périphériques seront créés :
/dev/myvg1/lv01 /dev/myvg1/lv02 /dev/myvg1/lv03 /dev/myvg2/lv01 /dev/myvg2/lv02 /dev/myvg2/lv03
4.3.2. Création de groupes de volumes dans un cluster
vgcreate
, tout comme lorsque vous les créez sur un noeud unique.
-c n
avec la commande vgcreate
.
vg1
qui contient les volumes physiques /dev/sdd1
et /dev/sde1
.
vgcreate -c n vg1 /dev/sdd1 /dev/sde1
-c
de la commande vgchange
,comme décrit dans la Section 4.3.7, « Changement des paramètres du groupe de volumes ».
vgs
, qui affiche l'attribut c
si le volume est mis en cluster. La commande suivante affiche les attributs des groupes de volumes VolGroup00
et testvg1
. Dans cet exemple, VolGroup00
n'est pas clusterisé, tandis que testvg1
l'est, comme indiqué par l'attribut c
sous le titre Attr
.
[root@doc-07]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 19.88G 0
testvg1 1 1 0 wz--nc 46.00G 8.00M
vgs
, reportez-vous à la Section 4.3.4, « Affichage des groupes de volumes » Section 4.8, « Rapport personnalisé pour LVM », et à la page man vgs
.
4.3.3. Ajout de volumes physiques à un groupe de volumes
vgextend
. La commande vgextend
augmente la capacité d'un groupe de volumes en ajoutant un ou plusieurs volumes physiques libres.
/dev/sdf1
au groupe de volumes vg1
.
vgextend vg1 /dev/sdf1
4.3.4. Affichage des groupes de volumes
vgs
et vgdisplay
.
vgscan
, qui scanne tous les disques pour trouver les groupes de volumes et reconstruit le fichier cache LVM, affiche aussi les groupes de volumes. Pour davantage d'informations à propos de la commande vgscan
, reportez-vous à la Section 4.3.5, « Analyse des disques pour les groupes de volumes afin de construire le fichier de cache ».
vgs
fournit des informations sur les groupes de volumes sous une forme configurable, en affichant une ligne par groupe de volumes. La commande vgs
fournit de nombreuses options de contrôle du format et est utile pour les scripts. Pour davantage d'informations sur l'utilisation de la commande vgs
afin de personnaliser votre sortie, reportez-vous à la Section 4.8, « Rapport personnalisé pour LVM ».
vgdisplay
affiche les propriétés des groupes de volumes (la taille, les extensions, le nombre de volumes physiques, etc.) dans un format fixe. L'exemple suivant illustre la sortie d'une commande vgdisplay
pour le groupe de volumes new_vg
. Si vous ne spécifiez pas un groupe de volumes, tous les groupes de volumes existants seront affichés.
# vgdisplay new_vg
--- Volume group ---
VG Name new_vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 51.42 GB
PE Size 4.00 MB
Total PE 13164
Alloc PE / Size 13 / 52.00 MB
Free PE / Size 13151 / 51.37 GB
VG UUID jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
4.3.5. Analyse des disques pour les groupes de volumes afin de construire le fichier de cache
vgscan
analyse tous les périphériques disques supportés dans le système afin de rechercher les volumes physiques LVM et les groupes de volumes. Cela permet de construire le fichier de cache LVM dans /etc/lvm/.cache
, qui maintient une liste des périphériques LVM en cours.
vgscan
automatiquement lors du démarrage du système ainsi qu'à d'autres moments lors des opérations LVM, par exemple lorsque vous exécutez une commande vgcreate
, ou lorsque LVM détecte une incohérence.
Note
vgscan
manuellement lorsque vous changez la configuration de votre matériel et lorsque vous ajoutez ou supprimez un périphérique d'un noeud, rendant ainsi visibles des périphériques qui n'étaient pas présents au démarrage du système. Cela peut être nécessaire, par exemple, lorsque vous rajoutez de nouveaux disques au système sur un SAN ou si vous branchez "à chaud" un nouveau disque qui a été étiqueté en tant que volume physique.
lvm.conf
afin de restreindre l'analyse à des périphériques particuliers. Pour obtenir des informations à propos de l'utilisation des filtres afin de contrôler les fichiers devant être analysés, reportez à la Section 4.5, « Contrôler l'analyse des périphériques LVM avec les filtres ».
vgscan
.
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "new_vg" using metadata type lvm2
Found volume group "officevg" using metadata type lvm2
4.3.6. Suppression de volumes physiques à partir d'un groupe de volumes
vgreduce
. La commande vgreduce
diminue la capacité d'un groupe de volumes en supprimant un ou plusieurs volumes physiques vides. Cela permet de libérer ces volumes physiques afin qu'ils soient utilisés dans d'autres groupes de volumes ou supprimés du système.
pvdisplay
afin de vous assurer que le volume physique ne soit pas utilisé par un volume logique.
# pvdisplay /dev/hda1
-- Physical volume ---
PV Name /dev/hda1
VG Name myvg
PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB]
PV# 1
PV Status available
Allocatable yes (but full)
Cur LV 1
PE Size (KByte) 4096
Total PE 499
Free PE 0
Allocated PE 499
PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7
pvmove
. Utilisez ensuite la commande vgreduce
pour supprimer le volume physique :
/dev/hda1
du groupe de volumes my_volume_group
.
# vgreduce my_volume_group /dev/hda1
4.3.7. Changement des paramètres du groupe de volumes
vgchange
est utilisée pour activer et désactiver les groupes de volumes, comme décrit dans Section 4.3.8, « Activation et désactivation des groupes de volumes ». Vous pouvez aussi utiliser cette commande pour changer certains paramètres de groupes de volumes pour un groupe de volumes existant.
vg00
à 128.
vgchange -l 128 /dev/vg00
vgchange
, reportez-vous à la page de manuel vgchange
(8).
4.3.8. Activation et désactivation des groupes de volumes
-a
(--available
) de la commande vgchange
.
my_volume_group
.
vgchange -a n my_volume_group
lvchange
, comme le décrit la Section 4.4.8, « Changement des paramètres d'un groupe de volumes logiques ». Pour obtenir des informations à propos de l'activation de volumes logiques sur des noeuds individuels au sein d'un cluster, reportez-vous à la Section 4.7, « Activation des volumes logiques sur les noeuds individuels d'un cluster ».
4.3.9. Suppression de groupes de volumes
vgremove
.
# vgremove officevg
Volume group "officevg" successfully removed
4.3.10. Partager un groupe de volumes
vgsplit
.
pvmove
pour forcer le fractionnement.
smallvg
du groupe de volumes d'origine bigvg
.
# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"
4.3.11. Combinaison de groupes de volumes
vgmerge
. Vous pouvez fusionner un volume "source" inactif avec un volume de "destination" actif ou inactif si les tailles des extensions physiques du volume sont les mêmes et si les résumés des volumes logiques et physiques des deux groupes de volumes tiennent dans les limites des groupes de volumes de destination.
my_vg
avec le groupe de volumes actif ou inactif databases
en rapportant des informations d'exécution verbeuses.
vgmerge -v databases my_vg
4.3.12. Sauvegarde des métadonnées d'un groupe de volumes
lvm.conf
. Par défaut, la sauvegarde de métadonnées est stockée dans /etc/lvm/backup
et les archives de métadonnées sont stockées dans /etc/lvm/archive
. Vous pouvez manuellement sauvegarder les métadonnées dans /etc/lvm/backup
avec la commande vgcfgbackup
.
vgcfrestore
restaure les métadonnées d'un groupe de volumes à partir de l'archive sur tous les volumes physiques du groupe de volumes.
vgcfgrestore
pour récupérer les métadonnées d'un volume physique, reportez-vous à la Section 6.4, « Recupération des métadonnées du volume physique ».
4.3.13. Renommer un groupe de volumes
vgrename
pour renommer un groupe de volumes existant.
vg02
à my_volume_group
vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
4.3.14. Déplacer un groupe de volumes sur un autre système
vgexport
et vgimport
.
vgexport
rend un groupe de volumes inactif inaccessible au système afin que vous puissiez détacher ses volumes physiques. La commande vgimport
rend un groupe de volumes accessible à une machine après que la commande vgexport
l'ait rendu inactif.
- Assurez-vous qu'aucun utilisateur ne soit en train d'accéder aux fichiers sur les volumes actifs du groupe de volumes, puis démontez les volumes logiques.
- Utilisez l'argument
-a n
de la commandevgchange
pour marquer le groupe de volumes comme étant inactif, afin d'empêcher toute activité sur le groupe de volumes. - Utilisez la commande
vgexport
afin d'exporter le groupe de volumes. Cela l'empêche d'être accédé par le système à partir duquel vous le supprimez.Après avoir exporté le groupe de volumes, le volume physique apparaîtra comme faisant partie d'un groupe de volumes exporté lorsque vous exécuterez la commandepvscan
, comme dans l'exemple suivant.[root@tng3-1]#
pvscan
PV /dev/sda1 is in exported VG myvg [17.15 GB / 7.15 GB free] PV /dev/sdc1 is in exported VG myvg [17.15 GB / 15.15 GB free] PV /dev/sdd1 is in exported VG myvg [17.15 GB / 15.15 GB free] ...Lorsque le système est éteint, vous pouvez débrancher les disques qui composent le groupe de volumes et les connecter au nouveau système. - Lorsque les disques sont connectés au nouveau système, utilisez la commande
vgimport
pour importer le groupe de volumes et le rendre ainsi accessible au nouveau système. - Activez le groupe de volumes avec l'argument
-a y
de la commandevgchange
. - Montez le système de fichiers afin qu'il puisse être utilisé.
4.3.15. Recréation du répertoire d'un groupe de volumes
vgmknodes
. Cette commande vérifie les fichiers spéciaux LVM2 du répertoire /dev
qui sont requis par les volumes logiques actifs. Elle crée tout fichier spécial manquant et supprime ceux qui ne sont plus utilisés.
vgmknodes
dans la commande vgscan
en spécifiant l'argument mknodes
à la commande vgscan
.
4.4. Administration de volumes logiques
4.4.1. Création de volumes logiques linéaires
lvcreate
. Si vous ne spécifiez pas de nom pour le volume logique, le nom par défaut lvol#
est utilisé lorsque # correspond au numéro interne du volume logique.
vg1
.
lvcreate -L 10G vg1
testlv
dans le groupe de volumes testvg
, créant ainsi le périphérique bloc /dev/testvg/testlv
.
lvcreate -L1500 -n testlv testvg
gfslv
à partir des extensions libres du groupe de volumes vg0
.
lvcreate -L 50G -n gfslv vg0
-l
de la commande lvcreate
pour spécifier la taille, en extensions, du volume logique. Vous pouvez également utiliser cet argument pour spécifier le pourcentage du groupe de volumes à utiliser pour le volume logique. La commande suivante crée un volume logique appellé mylv
qui utilise 60% de l'espace total dans le groupe de volumes testvol
.
lvcreate -l 60%VG -n mylv testvg
-l
de la commande lvcreate
pour spécifier le pourcentage de l'espace libre restant dans le groupe de volumes comme la taille du volume logique. La commande suivante crée un volume logique appelé yourlv
qui utilise tout l'espace non alloué dans le groupe de volumes testvol
.
lvcreate -l 100%FREE -n yourlv testvg
-l
de la commande lvcreate
pour créer un volume logique qui utilise le groupe de volumes entier. Une autre manière de créer un volume logique qui utilise le groupe de volumes entier est d'utiliser la commande vgdisplay
afin de déterminer la taille "Total PE" et d'utiliser les résultats en tant qu'entrée de la commande lvcreate
.
mylv
qui remplit le groupe de volumes testvg
.
#vgdisplay testvg | grep "Total PE"
Total PE 10230 #lvcreate -l 10230 testvg -n mylv
lvcreate
. La commande suivante crée un volume logique appelé testlv
dans le groupe de volumes testvg
, alloué à partir du volume physique /dev/sdg1
,
lvcreate -L 1500 -ntestlv testvg /dev/sdg1
/dev/sda1
et à partir des extensions 50 à 124 du volume physique /dev/sdb1
dans le groupe de volumes testvg
.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-24 /dev/sdb1:50-124
/dev/sda1
et continue ensuite à étendre le volume logique à l'extension 100.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
inherit
. Celle-ci s'applique également au groupe de volumes. Ces politiques peuvent être changées en utilisant la commande lvchange
. Pour davantage d'informations à propos des politiques d'allocation, reportez-vous à la Section 4.3.1, « Création de groupes de volumes ».
4.4.2. Création de volumes en mode stripe
-i
de la commande lvcreate
. Cela permet de déterminer le nombre de volumes physiques sur lesquels le volume logique sera "stripé". Le nombre de stripes ne peut pas être supérieur au nombre de volumes physiques dans le groupe de volumes (à moins que l'argument --alloc anywhere
soit utilisé).
gfslv
et est issu du groupe de volumes vg0
.
lvcreate -L 50G -i2 -I64 -n gfslv vg0
stripelv
et fait partie du groupe de volumes testvg
. Le stripe utilisera les secteurs 0 à 49 de /dev/sda1
et les secteurs 50 à 99 de /dev/sdb1
.
# lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-49 /dev/sdb1:50-99
Using default stripesize 64.00 KB
Logical volume "stripelv" created
4.4.3. Création de volumes en miroir
Note
lvm.conf
doit être configuré correctement afin de permettre le verrouillage du cluster. Pour un exemple de création d'un volume en miroir au sein d'un cluster, reportez-vous à la Section 5.5, « Création d'un volume logique LVM miroir dans un cluster ».
-m
de la commande lvcreate
. Si vous spécifiez l'argument -m1
, vous créez un miroir qui produira deux copies du système de fichiers : un volume logique linéaire plus une copie. De façon similaire, spécifiez l'argument -m2
pour créer deux miroirs qui produiront trois copies du système de fichiers.
mirrorlv
et est issu du groupe de volumes vg0
:
lvcreate -L 50G -m1 -n mirrorlv vg0
-R
de la commande lvcreate
pour spécifier la taille des régions en Mo. Vous pouvez aussi changer la taille des régions par défaut en modifiant le paramètre mirror_region_size
dans le fichier lvm.conf
.
Note
-R
de la commande lvcreate
. Par exemple, si la taille de votre miroir est de 1,5 To, vous pourriez spécifier -R 2
. Si la taille de votre miroir est de 3 To, vous pourriez spécifier -R 4
. Si votre miroir fait 5 To, vous pourriez spécifier -R 8
lvcreate -m1 -L 2T -R 2 -n mirror vol_group
--mirrorlog core
; ceci élimine le besoin de posséder un périphérique de fichiers journaux supplémentaire, mais le miroir entier devra être resynchronisé à chaque redémarrage.
bigvg
. Le volume logique est appelé ondiskmirvol
et a un seul miroir. Le volume a une taille de 12Mo et garde le fichier journal du miroir en mémoire.
# lvcreate -L 12MB -m1 --mirrorlog core -n ondiskmirvol bigvg
Logical volume "ondiskmirvol" created
--alloc anywhere
de la commande vgcreate
. Ceci peut dégrader la performance, mais vous permet aussi de créer un miroir, même si vous ne possédez que deux périphériques sous-jacents.
vg0
est composé de deux périphériques. Cette commande crée un volume de 500 méga-octets nommé mirrorlv
dans le groupe de volumes vg0
.
lvcreate -L 500M -m1 -n mirrorlv -alloc anywhere vg0
Note
--mirrorlog mirrored
. La commande suivante crée un volume logique en miroir à partir du groupe de volumes bigvg
. Le volume logique est appelé twologvol
et a un seul miroir. Le volume a une taille de 12Mo et le fichier journal du miroir est en miroir, avec chaque journal stocké sur un périphérique séparé.
# lvcreate -L 12MB -m1 --mirrorlog mirrored -n twologvol bigvg
Logical volume "twologvol" created
--alloc anywhere
de la commande vgcreate
. Ceci peut dégrader la performance, mais vous permet de créer un fichier journal de miroir redondant même si vous ne possédez pas suffisament de périphériques sous-jacents pour que chaque fichier journal soit stocké sur un périphérique autre que celui des branches du miroir.
nosync
pour indiquer qu'une synchronisation initiale à partir du premier périphérique n'est pas requise.
mirrorlv
et est issu du groupe de volumes vg0
. La première branche du miroir se trouve sur le périphérique /dev/sda1
, la seconde sur /dev/sdb1
et le fichier journal du miroir se trouve sur /dev/sdc1
.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
mirrorlv
et est issu du groupe de volumes vg0
. La première branche du miroir se trouve sur les extensions 0-499 du périphérique /dev/sda1
, la seconde sur les extensions 0-499 du périphérique /dev/sdb1
, et le fichier journal du miroir commence à l'extension 0 du périphérique /dev/sdc1
. Il y a 1Mo d'extensions. Si une des extensions spécifiées a déjà été allouée, elle sera ignorée.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
Note
--mirrors X
) et le nombre de stripes (--stripes Y
) résulte en un périphérique miroir dont les périphériques constituants sont en mode stripe.
4.4.3.1. Politique en cas d'échec des volumes logiques en miroir
mirror_image_fault_policy
et mirror_log_fault_policy
dans la section activation
du fichier lvm.conf
. Lorsque ces paramètre sont définis sur remove
, le système tente de supprimer le périphérique défectueux et de s'exécuter sans celui-ci. Lorsque ce paramètre est définit sur allocate
, le système tente de supprimer le périphérique défectueux et essaie d'allouer de l'espace sur un nouveau périphérique afin de remplacer le périphérique défectueux ; cette politique fonctionne comme la politique remove
s'il n'y a pas de périphérique ni d'espace convenable à allouer pour le remplacement.
mirror_log_fault_policy
est défini sur allocate
. L'utilisation de cette politique pour le fichier journal est rapide et offre la possibilité de rester capable de se rappeler de l'état de la synchronisation à travers les pannes et les redémarrages. Si vous définissez cette politique sur remove
, lorsqu'un périphérique de fichier journal échoue, le miroir se mettra à utiliser un journal se trouvant dans la mémoire et le miroir ne se rappellera pas de sont statut de synchronisation à travers les pannes et les redémarrages. Le miroir devra donc être entièrement resynchronisé.
mirror_image_fault_policy
est défini sur remove
. Avec cette politique, si une image de miroir échoue, le miroir se convertira en périphérique sans miroir s'il ne reste qu'une seule copie correcte. Définir cette politique sur allocate
pour un périphérique en miroir requiert que le miroir resynchronise les périphériques; ce processus est lent, mais préservera les caractéristiques de miroir du périphérique.
Note
mirror_log_fault_policy
est défini sur allocate
, consiste à tenter de remplacer l'un des périphériques en échec. Remarquez cependant qu'il n'y a pas de garanties que la seconde étape choisira des périphériques qui étaient utilisés auparavant par le miroir qui ne faisait pas partie de l'échec si d'autres sont disponibles.
4.4.3.2. Diviser une image redondante d'un volume logique en miroir
--splitmirrors
de la commande lvconvert
en spécifiant le nombre d'images redondantes à diviser. Vous devrez utiliser l'argument --name
de la commande pour spécifier un nom pour le volume logique divisé.
copy
à partir du volume logique vg/lv
. Le nouveau volume logique contient deux branches du miroir, Dans cet exemple, LVM sélectionne quels sont les périphériques à diviser.
lvconvert --splitmirrors 2 --name copy vg/lv
copy
depuis le volume logique en miroir vg/lv
. Le nouveau volume logique contient deux branches de miroir composées des périphériques /dev/sdc1
et /dev/sde1
.
lvconvert --splitmirrors 2 --name copy vg/lv /dev/sd[ce]1
4.4.3.3. Réparer un périphérique logique en miroir
lvconvert --repair
pour réparer un miroir après un échec du disque. Ceci remet le miroir dans un état consistant. La commande lvconvert --repair
est une commande interactive qui vous demande d'indiquer si vous souhaitez que le système tente de remplacer le(s) périphérique(s) en panne.
- Pour ignorer les demandes et remplacer tout les périphériques en échec, spécifiez l'option
-y
dans la ligne de commande. - Pour ignorer les demandes et ne remplacer aucun des périphériques en échec, spécifiez l'option
-f
dans la ligne de commande. - Pour ignorer les demandes mais continuer à indiquer les différentes politiques de remplacement pour l'image du miroir et le fichier journal du miroir, vous pouvez spécifier l'argument
--use-policies
pour utiliser les politiques de remplacement de périphérique spécifiées par les paramètresmirror_log_fault_policy
etmirror_device_fault_policy
dans le fichierlvm.conf
.
4.4.3.4. Changement de la configuration du volume en miroir
lvconvert
. Vous pouvez également utiliser cette commande pour reconfigurer les autres paramètres miroir d'un volume logique existant, tels que corelog
.
lvconvert
pour restaurer le miroir. Cette procédure est expliquée dans la Section 6.3, « Récupération suite à un échec miroir LVM ».
vg00/lvol1
en un volume logique en miroir.
lvconvert -m1 vg00/lvol1
vg00/lvol1
en un volume logique linéaire, en supprimant la branche du miroir.
lvconvert -m0 vg00/lvol1
4.4.4. Création d'instantanés de volumes
-s
de la commande lvcreate
pour créer un instantané de volume. Un instantané du volume est en mode écriture.
Note
Note
/dev/vg00/snap
. Cela crée un instantané du volume logique d'origine appelé /dev/vg00/lvol1
. Si le volume logique d'origine contient un système de fichiers, vous pouvez monter l'instantané du volume logique sur un répertoire arbitraire afin d'accéder au contenu du système de fichiers pour démarrer une sauvegarde pendant que le système de fichiers d'origine continue à être mis à jour.
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
lvdisplay
afin de générer une sortie qui inclue une liste de tous les instantanés de volumes logiques et leur statut (actif ou inactif).
/dev/new_vg/lvol0
, pour lequel un instantané de volume /dev/new_vg/newvgsnap
a été créé.
# lvdisplay /dev/new_vg/lvol0
--- Logical volume ---
LV Name /dev/new_vg/lvol0
VG Name new_vg
LV UUID LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
LV Write Access read/write
LV snapshot status source of
/dev/new_vg/newvgsnap1 [active]
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
lvs
affiche le volume d'origine et le pourcentage actuel de l'instantané du volume utilisé pour chaque instantané de volume. L'exemple suivant illustre la sortie par défaut de la commande lvs
pour un système qui comprend le volume logique /dev/new_vg/lvol0
, pour lequel un instantané de volume /dev/new_vg/newvgsnap
a été créé.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
Note
lvs
afin de s'assurer qu'il ne soit pas plein. Un instantané qui est rempli à 100% est complètement perdu car l'écriture sur les parties inchangées du volume d'origine ne pourra pas réussir sans que l'instantané soit corrompu.
4.4.5. Fusion d'instantanés de volumes
--merge
de la commande lvconvert
pour fusionner un instantané dans son volume d'origine. Si le volume d'origine et le volume de l'instantané ne sont pas ouverts, la fusion démarrera immédiatement. Sinon, la fusion démarrera lorsque l'instantané ou l'origine sont activés et lorsque les deux sont fermés. Fusionner un instantané dans un volume d'origine qui ne peut pas être fermé, un système de fichier root par exemple, est reporté jusqu'à la prochaine activation du volume d'origine. Lorsque la fusion démarre, le volume logique en résultant comportera le nom, le numéro mineur et l'UUID du volume d'origine. Pendant la fusion, les opérations de lecture et d'écriture sur le volume d'origine apparaissent telles qu'elles le devraient à l'instantané en cours de fusion. Lorsque la fusion se termine, l'instantané fusionné est supprimé.
vg00/lvol1_snap
dans son volume d'origine.
lvconvert --merge vg00/lvol1_snap"
vg00/lvol1
, vg00/lvol2
, et vg00/lvol3
possèdent tous la balise @some_tag
. La commande suivante fusionne les instantanés de volumes logiques pour les trois volumes en série : vg00/lvol1
, vg00/lvol2
, puis vg00/lvol3
. Si l'option --background
avait été utilisée, toutes les fusions des instantanés de volumes logiques auraient démarrées en parallèle.
lvconvert --merge @some_tag"
lvconvert --merge
, reportez-vous à la page de manuel lvconvert
(8).
4.4.6. Numéros de périphérique persistants
lvcreate
et lvchange
en utilisant les arguments suivants :
--persistent y --major major --minor minor
fsid
dans le fichier d'exports pourrait vous empêcher de définir un numéro de périphérique persistant dans LMV.
4.4.7. Redimensionnement des volumes logiques
lvreduce
. Si le volume logique contient un système de fichiers, commencez par réduire la taille du système de fichiers (ou utilisez l'interface utilisateur graphique LVM) afin que le volume logique ait une taille identique ou supérieure à celle du système de fichiers.
lvol1
dans le groupe de volumes vg00
de 3 extensions logiques.
lvreduce -l -3 vg00/lvol1
4.4.8. Changement des paramètres d'un groupe de volumes logiques
lvchange
. Pour obtenir une liste des paramètres que vous pouvez changer, reportez-vous à la page de manuel lvchange
(8).
lvchange
pour activer et désactiver les volumes logiques. Pour activer et désactiver tous les volumes logiques d'un groupe de volumes, utilisez la commande vgchange
, comme le décrit la Section 4.3.7, « Changement des paramètres du groupe de volumes ».
lvol1
du groupe de volumes vg00
en lecture seule (read-only).
lvchange -pr vg00/lvol1
4.4.9. Renommer les volumes logiques
lvrename
.
lvold
du groupe de volumes de vg02
à lvnew
.
lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename vg02 lvold lvnew
4.4.10. Suppression de volumes logiques
lvremove
. Si le volume logique est actuellement monté, démontez-le avant de le supprimer. De plus, dans un environnement en clusters, vous devez désactiver un volume logique avant qu'il puisse être supprimé.
/dev/testvg/testlv
du groupe de volumes testvg
. Notez que dans ce cas, le volume logique n'a pas été désactivé.
[root@tng3-1 lvm]#lvremove /dev/testvg/testlv
Do you really want to remove active logical volume "testlv"? [y/n]:y
Logical volume "testlv" successfully removed
lvchange -an
, dans quel cas vous ne verriez pas l'invite vérifiant si vous voulez supprimer un volume logique actif.
4.4.11. Affichage de volumes logiques
lvs
, lvdisplay
et lvscan
.
lvs
fournit des informations sur les volumes logiques sous un format configurable, en affichant une ligne par volume logique. La commande lvs
fournit de nombreuses options de contrôle de format et est utile pour les scripts. Pour davantage d'informations à propos de l'utilisation de la commande lvs
afin de personnaliser votre sortie, reportez-vous à la Section 4.8, « Rapport personnalisé pour LVM ».
lvdisplay
affiche les propriétés des volumes logiques (la taille, la structure, le mappage) dans un format fixe.
lvol2
dans vg00
. Si des instantanés de volumes logiques ont été créés pour ce volume logique d'origine, la commande affiche une liste de tous les instantanés de volumes logiques et de leur statut (actif ou inactif).
lvdisplay -v /dev/vg00/lvol2
lvscan
recherche tous les volumes logiques du système et les affiche, comme dans l'exemple suivant.
# lvscan
ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
4.4.12. Augmentez la taille des volumes logiques
lvextend
.
/dev/myvg/homevol
jusqu'à 12 giga-octets.
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
/dev/myvg/homevol
.
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
lvcreate
, vous pouvez utiliser l'argument -l
de la commande lvextend
afin de spécifier le nombre d'extensions pour l'augmentation de la taille du volume logique. Vous pouvez également utiliser cet argument pour spécifier un pourcentage du groupe de volumes ou un pourcentage de l'espace libre restant dans le groupe de volumes. La commande suivante étend le volume logique appelé testlv
afin de remplir tout l'espace non alloué du groupe de volumes myvg
.
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized
4.4.12.1. Augmenter la taille d'un volume en mode stripe
vg
qui se compose deux volumes physiques sous-jacents, comme l'illustre la commande vgs
suivante.
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
#lvcreate -n stripe1 -L 271.31G -i 2 vg
Using default stripesize 64.00 KB Rounding up size to full physical extent 271.31 GB Logical volume "stripe1" created #lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe1 vg -wi-a- 271.31G /dev/sda1(0),/dev/sdb1(0)
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
# vgextend vg /dev/sdc1 Volume group "vg" successfully extended # vgs VG #PV #LV #SN Attr VSize VFree vg 3 1 0 wz--n- 406.97G 135.66G
# lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 406.00 GB
Insufficient suitable allocatable extents for logical volume stripe1: 34480
more required
#vgextend vg /dev/sdd1
Volume group "vg" successfully extended #vgs
VG #PV #LV #SN Attr VSize VFree vg 4 1 0 wz--n- 542.62G 271.31G #lvextend vg/stripe1 -L 542G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 542.00 GB Logical volume stripe1 successfully resized
lvextend
.
#lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 406.00 GB Insufficient suitable allocatable extents for logical volume stripe1: 34480 more required #lvextend -i1 -l+100%FREE vg/stripe1
4.4.12.2. Étendre un volume logique avec la politique d'allocation cling
--alloc cling
de la commande lvextend
afin de spécifier la politique d'allocation cling
. Cette politique choisira l'espace sur les mêmes volumes physiques que le dernier segment du volume logique existant. Si l'espace sur les volumes physiques est insuffisant et qu'une liste de balises est définie dans le fichier lvm.conf
, LVM vérifiera s'il y a des balises attachées aux volumes physiques et cherchera à faire correspondre ces balises de volumes physiques avec les extensions existantes et les nouvelles extensions.
lvm.conf
:
cling_tag_list = [ "@site1", "@site2" ]
lvm.conf
a été modifié afin de contenir la ligne suivante :
cling_tag_list = [ "@A", "@B" ]
taft
a été créé, il est composé des volumes physiques /dev/sdb1
, /dev/sdc1
, /dev/sdd1
, /dev/sde1
, /dev/sdf1
, /dev/sdg1
, et /dev/sdh1
. Ces volumes physiques ont été marqués avec les balises A
, B
, et C
. L'exemple n'utilise pas la balise C
, mais il montrera que utilise les balises pour sélectionner quels volumes physiques utiliser pour les branches du miroir.
[root@taft-03 ~]# pvs -a -o +pv_tags /dev/sd[bcdefgh]1
PV VG Fmt Attr PSize PFree PV Tags
/dev/sdb1 taft lvm2 a- 135.66g 135.66g A
/dev/sdc1 taft lvm2 a- 135.66g 135.66g B
/dev/sdd1 taft lvm2 a- 135.66g 135.66g B
/dev/sde1 taft lvm2 a- 135.66g 135.66g C
/dev/sdf1 taft lvm2 a- 135.66g 135.66g C
/dev/sdg1 taft lvm2 a- 135.66g 135.66g A
/dev/sdh1 taft lvm2 a- 135.66g 135.66g A
taft
.
[root@taft-03 ~]# lvcreate -m 1 -n mirror --nosync -L 100G taft
[root@taft-03 ~]# lvs -a -o +devices
LV VG Attr LSize Log Copy% Devices
mirror taft Mwi-a- 100.00g mirror_mlog 100.00
mirror_mimage_0(0),mirror_mimage_1(0)
[mirror_mimage_0] taft iwi-ao 100.00g /dev/sdb1(0)
[mirror_mimage_1] taft iwi-ao 100.00g /dev/sdc1(0)
[mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0)
cling
pour indiquer que les branches du miroir devraient être étendues à l'aide des volumes physiques avec la même balise.
[root@taft-03 ~]# lvextend --alloc cling -L +100G taft/mirror
Extending 2 mirror images.
Extending logical volume mirror to 200.00 GiB
Logical volume mirror successfully resized
C
ont été ignorés.ignorés.
[root@taft-03 ~]# lvs -a -o +devices
LV VG Attr LSize Log Copy% Devices
mirror taft Mwi-a- 200.00g mirror_mlog 50.16
mirror_mimage_0(0),mirror_mimage_1(0)
[mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdb1(0)
[mirror_mimage_0] taft Iwi-ao 200.00g /dev/sdg1(0)
[mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdc1(0)
[mirror_mimage_1] taft Iwi-ao 200.00g /dev/sdd1(0)
[mirror_mlog] taft lwi-ao 4.00m /dev/sdh1(0)
4.4.13. Réduire la taille des volumes logiques
lvreduce
pour réduire sa taille. Après avoir réduit la taille du volume, remontez le système de fichiers.
Avertissement
lvol1
de 3 extensions logiques dans le groupe de volumes vg00
.
lvreduce -l -3 vg00/lvol1
4.5. Contrôler l'analyse des périphériques LVM avec les filtres
vgscan
est exécutée afin d'analyser les étiquettes LVM des périphériques blocs du système, pour déterminer les volumes physiques, lire les métadonnées et construire une liste de groupes de volumes. Les noms des volumes physiques sont stockés dans le fichier de cache de chaque noeud du système, /etc/lvm/.cache
. Les commandes subséquentes peuvent lire ce fichier afin de ne pas les analyser à nouveau.
lvm.conf
. Les filtres du fichier lvm.conf
se composent d'une série d'expressions régulières simples appliquée sur les noms des périphériques au sein du répertoire /dev
afin de déterminer s'il faut accepter ou refuser le périphérique bloc trouvé.
a/loop/
est identique à a/.*loop.*/
et correspondrait à /dev/solooperation/lvol1
.
filter = [ "a/.*/" ]
filter = [ "r|/dev/cdrom|" ]
filter = [ "a/loop.*/", "r/.*/" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
lvm.conf
, reportez-vous à la Annexe B, Les fichiers de configuration LVM et à la page de manuel lvm.conf
(5).
4.6. Déplacement des données en ligne
pvmove
.
pvmove
divise les données devant être déplacées dans des sections et crée un miroir temporaire afin de déplacer chaque section. Pour davantage d'informations à propos de la commande pvmove
, reportez-vous à la page de manuel pvmove
(8).
/dev/sdc1
vers les autres volumes physiques libres du groupe de volumes :
pvmove /dev/sdc1
MyLV
.
pvmove -n MyLV /dev/sdc1
pvmove
peut prendre du temps, vous pourriez vouloir l'exécuter en arrière plan afin de ne pas afficher sa progression au premier plan. La commande suivante déplace, en arrière plan, toutes les extensions allouées au volume physique /dev/sdc1
vers /dev/sdf1
.
pvmove -b /dev/sdc1 /dev/sdf1
pvmove -i5 /dev/sdd1
4.7. Activation des volumes logiques sur les noeuds individuels d'un cluster
lvchange -aey
. Alternativement, vous pouvez utiliser la commande lvchange -aly
pour activer des volumes logiques seulement sur le noeud local mais pas de manière exclusive. Vous pouvez par la suite les activer sur des noeuds supplémentaires de manière concurrente.
4.8. Rapport personnalisé pour LVM
pvs
, lvs
et vgs
. Les rapports que ces commandes génèrent inclus une ligne de sortie pour chaque objet. Chaque ligne contient une liste ordonnée de champs de propriétés associés à chaque objet. Il existe cinq manières permettant de sélectionner les objets devant être rapportés : par volume physique, par groupe de volumes, par volume logique, par segment de volume physique et par segment de volume logique.
- Un résumé des arguments des commandes que vous pouvez utiliser pour contrôler le format du rapport généré.
- Une liste des champs que vous pouvez sélectionner pour chaque objet LVM.
- Un résumé des arguments des commandes que vous pouvez utiliser pour trier le rapport généré.
- Des instructions pour la spécification des unités de la sortie du rapport.
4.8.1. Contrôle du format
pvs
, lvs
ou vgs
, ces commandes déterminent l'ensemble de champs à afficher par défaut et l'ordre de tri. Vous pouvez contrôler la sortie de ces commandes avec les arguments suivants :
- Vous pouvez modifier les champs à afficher en utilisant l'argument
-o
. Par exemple, la sortie suivante illustre l'affichage par défaut de la commandepvs
(qui affiche des informations à propos des volumes physiques).#
pvs
PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.14GLa commande suivante affiche uniquement le nom et la taille du volume physique.#
pvs -o pv_name,pv_size
PV PSize /dev/sdb1 17.14G /dev/sdc1 17.14G /dev/sdd1 17.14G - Vous pouvez ajouter un champ à la sortie avec le signe plus (+), qui est utilisé en association avec l'argument -o.L'exemple suivant affiche l'UUID du volume physique en plus des champs par défaut.
#
pvs -o +pv_uuid
PV VG Fmt Attr PSize PFree PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS - L'ajout de l'argument
-v
à une commande permet d'inclure des champs supplémentaires. La commandepvs -v
affichera par exemple les champsDevSize
etPV UUID
en plus des champs par défaut.#
pvs -v
Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS - L'argument
--noheadings
supprime la ligne d'en-têtes. Ceci peut être utile pour écrire des scripts.L'exemple suivant utilise l'argument--noheadings
en association avec l'argumentpv_name
afin de générer une liste de tous les volumes physiques.#
pvs --noheadings -o pv_name
/dev/sdb1 /dev/sdc1 /dev/sdd1 - L'argument
--separator separator
utilise l'élément separator afin séparer chaque champ.L'exemple suivant sépare les champs par défaut de la sortie générée par la commandepvs
par un signe égal (=).#
pvs --separator =
PV=VG=Fmt=Attr=PSize=PFree /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14GPour maintenir les champs alignés lors de l'utilisation de l'argumentseparator
, utilisez-le en association avec l'argument--aligned
.#
pvs --separator = --aligned
PV =VG =Fmt =Attr=PSize =PFree /dev/sdb1 =new_vg=lvm2=a- =17.14G=17.14G /dev/sdc1 =new_vg=lvm2=a- =17.14G=17.09G /dev/sdd1 =new_vg=lvm2=a- =17.14G=17.14G
-P
des commandes lvs
ou vgs
afin d'afficher les informations d'un volume ayant échoué qui n'auraient normalement pas dû apparaître dans la sortie. Pour davantage d'informations à propos de la sortie que cet argument génère, reportez-vous à la Section 6.2, « Affichage d'informations à propos des périphériques ayant échoué. ».
pvs
(8), vgs
(8) et lvs
(8).
# vgs -o +pv_name
VG #PV #LV #SN Attr VSize VFree PV
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdc1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdd1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdb1
4.8.2. Sélection d'objets
pvs
, vgs
et lvs
.
pvs
, name
signifie pv_name
alors qu'avec la commande vgs
, name
signifie vg_name
.
pvs -o pv_free
.
# pvs -o +free
PFree
17.14G
17.09G
17.14G
La commande pvs
pvs
, ainsi que le nom de champ tel qu'il apparaît dans l'en-tête d'affichage et une description du champ.
Argument | En-tête | Description |
---|---|---|
dev_size | DevSize | La taille du périphérique sous-jacent sur lequel le volume physique a été créé |
pe_start | 1st PE | L'offset au début de la première extension physique dans le périphérique sous-jacent |
pv_attr | Attr | Le statut du volume physique : (a)llocatable ou e(x)ported |
pv_fmt | Fmt | Le format des métadonnées du volume physique (lvm2 ou lvm1 ) |
pv_free | PFree | L'espace libre restant sur le volume physique |
pv_name | PV | Le nom du volume physique |
pv_pe_alloc_count | Alloc | Le nombre d'extensions physiques utilisées |
pv_pe_count | PE | Le nombre d'extensions physiques |
pvseg_size | SSize | La taille du segment du volume physique |
pvseg_start | Start | L'extension physique de départ du segment de volume physique |
pv_size | PSize | La taille du volume physique |
pv_tags | PV Tags | Les balises LVM associées au volume physique |
pv_used | Used | La quantité d'espace utilisée sur le volume physique |
pv_uuid | PV UUID | L'UUID du volume physique |
pvs
affiche par défaut les champs suivants : pv_name
, vg_name
, pv_fmt
, pv_attr
, pv_size
, pv_free
. L'affichage est trié par pv_name
.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G
-v
avec la commande pvs
pour ajouter les champs suivants à l'affichage par défaut : dev_size
, pv_uuid
.
# pvs -v
Scanning for physical volume names
PV VG Fmt Attr PSize PFree DevSize PV UUID
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS
--segments
de la commande pvs
pour afficher des informations à propos de chaque segment de volume physique. Un segment est un groupe d'extensions. Cet affichage peut être utile afin de voir si votre volume logique est fragmenté.
pvs --segments
affiche par défaut les champs suivants : pv_name
, vg_name
, pv_fmt
, pv_attr
, pv_size
, pv_free
, pvseg_start
, pvseg_size
. L'affichage est trié par pv_name
et pvseg_size
au sein du volume physique.
# pvs --segments
PV VG Fmt Attr PSize PFree Start SSize
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 0 1172
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1172 16
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1188 1
/dev/sda1 vg lvm2 a- 17.14G 16.75G 0 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 26 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 50 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 76 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 100 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 126 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 150 22
/dev/sda1 vg lvm2 a- 17.14G 16.75G 172 4217
/dev/sdb1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdc1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdd1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sde1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdf1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdg1 vg lvm2 a- 17.14G 17.14G 0 4389
pvs -a
pour afficher les périphériques détectés par LVM qui n'ont pas été initialisés comme des volumes physiques LVM.
# pvs -a
PV VG Fmt Attr PSize PFree
/dev/VolGroup00/LogVol01 -- 0 0
/dev/new_vg/lvol0 -- 0 0
/dev/ram -- 0 0
/dev/ram0 -- 0 0
/dev/ram2 -- 0 0
/dev/ram3 -- 0 0
/dev/ram4 -- 0 0
/dev/ram5 -- 0 0
/dev/ram6 -- 0 0
/dev/root -- 0 0
/dev/sda -- 0 0
/dev/sdb -- 0 0
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc -- 0 0
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd -- 0 0
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
La commande vgs
vgs
, ainsi que le nom de champ tel qu'il apparaît dans l'en-tête d'affichage et une description du champ.
Argument | En-tête | Description |
---|---|---|
lv_count | #LV | Le nombre de volumes logiques que le groupe de volumes peut contenir |
max_lv | MaxLV | Le nombre maximum de volumes logiques autorisés dans le groupe de volumes (0 si illimité) |
max_pv | MaxPV | Le nombre maximum de volumes physiques autorisés dans le groupe de volumes (0 si illimité) |
pv_count | #PV | Le nombre de volumes physiques qui définit le groupe de volumes |
snap_count | #SN | Le nombre d'instantanés que le groupe de volumes contient |
vg_attr | Attr | Le statut du groupe de volumes : (w)riteable, (r)eadonly, resi(z)eable, e(x)ported, (p)artial et (c)lustered. |
vg_extent_count | #Ext | Le nombre d'extensions physiques dans le groupe de volumes |
vg_extent_size | Ext | La taille des extensions physiques dans le groupe de volumes |
vg_fmt | Fmt | Le format des métadonnées du groupe de volumes (lvm2 ou lvm1 ) |
vg_free | VFree | La taille de l'espace libre restant dans le groupe de volumes |
vg_free_count | Free | Le nombre d'extensions physiques libres dans le groupe de volumes |
vg_name | VG | Le nom du groupe de volumes |
vg_seqno | Seq | Le nombre représentant la révision du groupe de volumes |
vg_size | VSize | La taille du groupe de volumes |
vg_sysid | SYS ID | L'ID Système LVM1 |
vg_tags | VG Tags | Les balises LVM associées au groupe de volumes |
vg_uuid | VG UUID | L'UUID du groupe de volumes |
vgs
affiche par défaut les champs suivants : vg_name
, pv_count
, lv_count
, snap_count
, vg_attr
, vg_size
, vg_free
. L'affichage est trié par vg_name
.
# vgs
VG #PV #LV #SN Attr VSize VFree
new_vg 3 1 1 wz--n- 51.42G 51.36G
-v
de la commande vgs
afin d'ajouter les champs suivants à l'affichage par défaut : vg_extent_size
, vg_uuid
.
# vgs -v
Finding all volume groups
Finding volume group "new_vg"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
new_vg wz--n- 4.00M 3 1 1 51.42G 51.36G jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
La commande lvs
lvs
, ainsi que le nom de champ tel qu'il apparaît dans l'en-tête d'affichage et une description du champ.
Argument | En-tête | Description | ||||||
---|---|---|---|---|---|---|---|---|
| Chunk | L'unité de taille dans un instantané de volume | ||||||
copy_percent | Copy% | Le pourcentage de synchronisation d'un volume logique en miroir, également utilisé lorsque les extensions physiques sont déplacées avec la commande pv_move | ||||||
devices | Devices | Les périphériques sous-jacents qui composent le volume logique : les volumes physiques, les volumes logiques et les extensions physiques et logiques de départ | ||||||
lv_attr | Attr | Le statut du volume logique. Voici les bits des attributs du volume logique :
| ||||||
lv_kernel_major | KMaj | Le numéro de périphérique majeur du volume logique (-1 si inactif) | ||||||
lv_kernel_minor | KMIN | Le numéro de périphérique mineur du volume logique (-1 si inactif) | ||||||
lv_major | Maj | Le numéro de périphérique majeur persistant du volume logique (-1 s'il n'est pas spécifié) | ||||||
lv_minor | Min | Le numéro de périphérique mineur persistant du volume logique (-1 s'il n'est pas spécifié) | ||||||
lv_name | LV | Le nom du volume logique | ||||||
lv_size | LSize | La taille du volume logique | ||||||
lv_tags | LV Tags | Les balises LVM associées au volume logique | ||||||
lv_uuid | LV UUID | L'UUID du volume logique | ||||||
mirror_log | Journal | Le périphérique sur lequel réside le fichier journal du miroir | ||||||
modules | Modules | La cible device-mapper du noyau correspondant nécessaire pour utiliser le volume logique | ||||||
move_pv | Move | Le volume physique source d'un volume logique temporaire créé avec la commande pvmove | ||||||
origin | Origin | Le périphérique d'origine de l'instantané de volume | ||||||
| Region | L'unité de taille du volume logique en miroir | ||||||
seg_count | #Seg | Le nombre de segments dans le volume logique | ||||||
seg_size | SSize | La taille des segments dans le volume logique | ||||||
seg_start | Start | L'offset du segment dans le volume logique | ||||||
seg_tags | Seg Tags | Les balises LVM associées aux segments du volume logique | ||||||
segtype | Type | Le type de segment d'un volume logique (par exemple : en miroir, en mode stripe, linéaire) | ||||||
snap_percent | Snap% | Pourcentage d'un instantané de volume en cours d'utilisation | ||||||
stripes | #Str | Le nombre de stripes ou miroirs dans un volume logique | ||||||
| Stripe | La taille d'un stripe dans volume logique en mode stripe |
lvs
affiche par défaut les champs suivants : lv_name
, vg_name
, lv_attr
, lv_size
, origin
, snap_percent
, move_pv
, mirror_log
, copy_percent
. L'affichage par défaut est trié par vg_name
et lv_name
au sein du groupe de volumes.
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
-v
de la commande lvs
pour ajouter les champs suivants à l'affichage par défaut : seg_count
, lv_major
, lv_minor
, lv_kernel_major
, lv_kernel_minor
, lv_uuid
.
# lvs -v
Finding all logical volumes
LV VG #Seg Attr LSize Maj Min KMaj KMin Origin Snap% Move Copy% Log LV UUID
lvol0 new_vg 1 owi-a- 52.00M -1 -1 253 3 LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
newvgsnap1 new_vg 1 swi-a- 8.00M -1 -1 253 5 lvol0 0.20 1ye1OU-1cIu-o79k-20h2-ZGF0-qCJm-CfbsIx
--segments
de la commande lvs
pour que les colonnes par défaut mettent en évidence les informations à propos des segments. Lorsque vous utilisez l'argument segments
, le préfixe seg
est optionnel. La commande lvs --segments
affiche par défaut les champs suivants : lv_name
, vg_name
, lv_attr
, stripes
, segtype
, seg_size
. L'affichage par défaut est trié par vg_name
, lv_name
au sein du groupe de volumes et par seg_start
au sein du volume logique. Si les volumes logiques étaient fragmentés, la sortie de cette commande afficherait ce qui suit.
# lvs --segments
LV VG Attr #Str Type SSize
LogVol00 VolGroup00 -wi-ao 1 linear 36.62G
LogVol01 VolGroup00 -wi-ao 1 linear 512.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 88.00M
-v
de la commande lvs --segments
pour ajouter les champs suivants à l'affichage par défaut : seg_start
, stripesize
, chunksize
.
# lvs -v --segments
Finding all logical volumes
LV VG Attr Start SSize #Str Type Stripe Chunk
lvol0 new_vg owi-a- 0 52.00M 1 linear 0 0
newvgsnap1 new_vg swi-a- 0 8.00M 1 linear 0 8.00K
lvs
sur un système avec un volume logique configuré, suivi par la sortie par défaut de la commande lvs
avec l'argument segments
spécifié.
#lvs
LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg -wi-a- 52.00M #lvs --segments
LV VG Attr #Str Type SSize lvol0 new_vg -wi-a- 1 linear 52.00M
4.8.3. Trier des rapports LVM
lvs
, vgs
et pvs
doit être générée et stockée en interne afin que les colonnes puissent être triées et alignées correctement. Vous pouvez spécifier l'argument --unbuffered
pour afficher des sorties non triées aussitôt qu'elles sont générées.
-O
de l'une de ces commandes. Il n'est pas nécessaire d'inclure ces champs au sein de la sortie elle-même.
pvs
qui affiche le nom, la taille et l'espace libre du volume physique.
# pvs -o pv_name,pv_size,pv_free
PV PSize PFree
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
# pvs -o pv_name,pv_size,pv_free -O pv_free
PV PSize PFree
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
# pvs -o pv_name,pv_size -O pv_free
PV PSize
/dev/sdc1 17.14G
/dev/sdd1 17.14G
/dev/sdb1 17.14G
-O
par le caractère -
.
# pvs -o pv_name,pv_size,pv_free -O -pv_free
PV PSize PFree
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
4.8.4. Spécification des unités
--units
de la commande de rapport. Vous pouvez spécifier : (b)ytes, (k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (e)xabytes, (p)etabytes et (h)uman-readable. L'affichage par défaut est (h)uman-readable. Vous pouvez surcharger cette valeur par défaut en définissant le paramètre units
dans la section global
du fichier de configuration lvm.conf
pvs
en méga-octets plutôt qu'en giga-octets.
# pvs --units m
PV VG Fmt Attr PSize PFree
/dev/sda1 lvm2 -- 17555.40M 17555.40M
/dev/sdb1 new_vg lvm2 a- 17552.00M 17552.00M
/dev/sdc1 new_vg lvm2 a- 17552.00M 17500.00M
/dev/sdd1 new_vg lvm2 a- 17552.00M 17552.00M
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
# pvs --units G
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 18.40G 18.40G
/dev/sdc1 new_vg lvm2 a- 18.40G 18.35G
/dev/sdd1 new_vg lvm2 a- 18.40G 18.40G
pvs
comme un nombre de secteurs ("sectors").
# pvs --units s
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 35946496S 35946496S
/dev/sdc1 new_vg lvm2 a- 35946496S 35840000S
/dev/sdd1 new_vg lvm2 a- 35946496S 35946496S
pvs
avec des unités de 4 méga-octets.
# pvs --units 4m
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 4388.00U 4388.00U
/dev/sdc1 new_vg lvm2 a- 4388.00U 4375.00U
/dev/sdd1 new_vg lvm2 a- 4388.00U 4388.00U
Chapitre 5. Exemples de configuration LVM
5.1. Création d'un volume logique LVM sur trois disques
new_logical_volume
qui se compose des disques /dev/sda1
, /dev/sdb1
et /dev/sdc1
.
5.1.1. Création de volumes physiques
Avertissement
/dev/sda1
, /dev/sdb1
et /dev/sdc1
.
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.1.2. Création d'un groupe de volumes
new_vol_group
.
[root@tng3-1 ~]# vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "new_vol_group" successfully created
vgs
pour afficher les attributs du nouveau groupe de volumes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
new_vol_group 3 0 0 wz--n- 51.45G 51.45G
5.1.3. Création du volume logique
new_logical_volume
à partir du groupe de volumes new_vol_group
. Un volume logique qui utilise 2Go du groupe de volumes sera créé.
[root@tng3-1 ~]# lvcreate -L2G -n new_logical_volume new_vol_group
Logical volume "new_logical_volume" created
5.1.4. Création du système de fichiers
[root@tng3-1 ~]#mkfs.gfs2 -plock_nolock -j 1 /dev/new_vol_group/new_logical_volume
This will destroy any data on /dev/new_vol_group/new_logical_volume. Are you sure you want to proceed? [y/n]y
Device: /dev/new_vol_group/new_logical_volume Blocksize: 4096 Filesystem Size: 491460 Journals: 1 Resource Groups: 8 Locking Protocol: lock_nolock Lock Table: Syncing... All Done
[root@tng3-1 ~]#mount /dev/new_vol_group/new_logical_volume /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/new_vol_group/new_logical_volume 1965840 20 1965820 1% /mnt
5.2. Création d'un volume logique en mode stripe
striped_logical_volume
qui distribue les données à travers les disques /dev/sda1
, /dev/sdb1
et /dev/sdc1
.
5.2.1. Création de volumes physiques
Avertissement
/dev/sda1
, /dev/sdb1
et /dev/sdc1
.
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.2.2. Création d'un groupe de volumes
volgroup01
.
[root@tng3-1 ~]# vgcreate volgroup01 /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "volgroup01" successfully created
vgs
pour afficher les attributs du nouveau groupe de volumes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
volgroup01 3 0 0 wz--n- 51.45G 51.45G
5.2.3. Création du volume logique
striped_logical_volume
à partir du groupe de volumes volgroup01
. Cet exemple crée un volume logique de 2 giga-octets, avec trois bandes de 4 kilo-octets chacune.
[root@tng3-1 ~]# lvcreate -i3 -I4 -L2G -nstriped_logical_volume volgroup01
Rounding size (512 extents) up to stripe boundary size (513 extents)
Logical volume "striped_logical_volume" created
5.2.4. Création du système de fichiers
[root@tng3-1 ~]#mkfs.gfs2 -plock_nolock -j 1 /dev/volgroup01/striped_logical_volume
This will destroy any data on /dev/volgroup01/striped_logical_volume. Are you sure you want to proceed? [y/n]y
Device: /dev/volgroup01/striped_logical_volume Blocksize: 4096 Filesystem Size: 492484 Journals: 1 Resource Groups: 8 Locking Protocol: lock_nolock Lock Table: Syncing... All Done
[root@tng3-1 ~]#mount /dev/volgroup01/striped_logical_volume /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 13902624 1656776 11528232 13% / /dev/hda1 101086 10787 85080 12% /boot tmpfs 127880 0 127880 0% /dev/shm /dev/volgroup01/striped_logical_volume 1969936 20 1969916 1% /mnt
5.3. Partager un groupe de volumes
mylv
est créé à partir du groupe de volumes myvol
, qui se compose de trois volumes physiques, /dev/sda1
, /dev/sdb1
et /dev/sdc1
.
myvg
se composera de /dev/sda1
et /dev/sdb1
. Un deuxième groupe de volumes, yourvg
, se composera de /dev/sdc1
.
5.3.1. Déterminer l'espace libre
pvscan
pour déterminer la quantité d'espace libre disponible dans le groupe de volumes.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 12.15 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 15.80 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.2. Déplacer les données
/dev/sdc1
vers /dev/sdb1
avec la commande pvmove
. La commande pvmove
peut prendre du temps à s'exécuter.
[root@tng3-1 ~]# pvmove /dev/sdc1 /dev/sdb1
/dev/sdc1: Moved: 14.7%
/dev/sdc1: Moved: 30.3%
/dev/sdc1: Moved: 45.7%
/dev/sdc1: Moved: 61.0%
/dev/sdc1: Moved: 76.6%
/dev/sdc1: Moved: 92.2%
/dev/sdc1: Moved: 100.0%
/dev/sdc1
est libre.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 10.80 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 17.15 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.3. Diviser le groupe de volumes
yourvg
, utilisez la commande vgsplit
pour diviser le groupe de volume myvg
.
lvchange
ou la commande vgchange
. La commande suivante désactive le volume logique mylv
et divise ensuite le groupe de volumes yourvg
à partir de myvg
, en déplaçant le volume physique /dev/sdc1
dans le nouveau groupe de volumes yourvg
.
[root@tng3-1 ~]#lvchange -a n /dev/myvg/mylv
[root@tng3-1 ~]#vgsplit myvg yourvg /dev/sdc1
Volume group "yourvg" successfully split from "myvg"
vgs
pour afficher les attributs des deux groupes de volumes.
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 1 0 wz--n- 34.30G 10.80G
yourvg 1 0 0 wz--n- 17.15G 17.15G
5.3.4. Création d'un nouveau volume logique
yourlv
.
[root@tng3-1 ~]# lvcreate -L5G -n yourlv yourvg
Logical volume "yourlv" created
5.3.5. Créer un nouveau système de fichiers et monter le nouveau volume logique
[root@tng3-1 ~]#mkfs.gfs2 -plock_nolock -j 1 /dev/yourvg/yourlv
This will destroy any data on /dev/yourvg/yourlv. Are you sure you want to proceed? [y/n]y
Device: /dev/yourvg/yourlv Blocksize: 4096 Filesystem Size: 1277816 Journals: 1 Resource Groups: 20 Locking Protocol: lock_nolock Lock Table: Syncing... All Done [root@tng3-1 ~]#mount /dev/yourvg/yourlv /mnt
5.3.6. Activation et montage du volume logique d'origine
mylv
, vous devez le réactiver avant de pouvoir le monter.
root@tng3-1 ~]#lvchange -a y mylv
[root@tng3-1 ~]#mount /dev/myvg/mylv /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/yourvg/yourlv 24507776 32 24507744 1% /mnt /dev/myvg/mylv 24507776 32 24507744 1% /mnt
5.4. Suppression d'un disque du volume logique
5.4.1. Déplacer les extensions vers des volumes physiques existants
myvg
.
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
/dev/sdb1
afin de le supprimer du groupe de volumes.
pvmove
sans option sur le périphérique que vous voulez supprimer afin que les extensions soient distribuées sur les autres périphériques.
[root@tng3-1 ~]# pvmove /dev/sdb1
/dev/sdb1: Moved: 2.0%
...
/dev/sdb1: Moved: 79.2%
...
/dev/sdb1: Moved: 100.0%
pvmove
ait été exécutée, les extensions sont distribuées comme ci-dessous :
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
vgreduce
pour supprimer le volume physique /dev/sdb1
du groupe de volumes.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
[root@tng3-1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 myvg lvm2 a- 17.15G 7.15G
/dev/sdb1 lvm2 -- 17.15G 17.15G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G
5.4.2. Déplacer les extensions vers un nouveau disque
myvg
comme ci-dessous :
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdb1>
vers un nouveau périphérique, /dev/sdd1
.
5.4.2.1. Création du nouveau volume physique
/dev/sdd1
.
[root@tng3-1 ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created
5.4.2.2. Ajout du nouveau volume physique au groupe de volumes
/dev/sdd1
au groupe de volumes existant myvg
.
[root@tng3-1 ~]#vgextend myvg /dev/sdd1
Volume group "myvg" successfully extended [root@tng3-1]#pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 17.15G 0
5.4.2.3. Déplacer les données
pvmove
pour déplacer les données de /dev/sdb1
vers /dev/sdd1
.
[root@tng3-1 ~]#pvmove /dev/sdb1 /dev/sdd1
/dev/sdb1: Moved: 10.0% ... /dev/sdb1: Moved: 79.7% ... /dev/sdb1: Moved: 100.0% [root@tng3-1]#pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 15.15G 2.00G
5.4.2.4. Suppression de l'ancien volume physique du groupe de volumes.
/dev/sdb1
, vous pouvez le supprimer du groupe de volumes.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
5.5. Création d'un volume logique LVM miroir dans un cluster
lvm.conf
doit être correctement configuré pour permettre le verrouillage du cluster soit directement, soit par le biais de la commande lvmconf
comme décrit dans la Section 3.1, « Création de volumes LVM dans un cluster ».
- Pour créer un volume logique miroir partagé par tous les noeuds d'un cluster, le type de verrouillage doit être correctement défini dans le fichier
lvm.conf
dans chaque noeud du cluster. Par défaut, le type de verrouillage est défini sur « local ». Pour modifier ceci, exécutez la commande suivante dans chaque noeud du cluster afin de permettre le verrouillage clusterisé.#
/sbin/lvmconf --enable-cluster
- Pour créer un volume logique clusterisé, l'infrastructure du cluster doit être en cours d'exécution sur chaque noeud du cluster. L'exemple suivant vérifie que le démon
clvmd
est en cours d'exécution sur le noeud d'où il provient :[root@doc-07 ~]#
ps auxw | grep clvmd
root 17642 0.0 0.1 32164 1072 ? Ssl Apr06 0:00 clvmd -T20 -t 90La commande suivante affiche une vue locale du statut du cluster :[root@example-01 ~]#
cman_tool services
fence domain member count 3 victim count 0 victim now 0 master nodeid 2 wait state none members 1 2 3 dlm lockspaces name clvmd id 0x4104eefa flags 0x00000000 change member 3 joined 1 remove 0 failed 0 seq 1,1 members 1 2 3 - Assurez-vous que le paquetage
cmirror
est bien installé. - Lancez le service
cmirrord
.[root@hexample-01 ~]#
service cmirrord start
Starting cmirrord: [ OK ] - Créez le miroir. La première étape est la création des volumes physiques. Les commandes suivantes créent trois volumes physiques. Deux des volumes physiques seront utilisés comme branches du miroir (de l'anglais, « mirror legs »), et le troisième volume physique contiendra le journal miroir.
[root@doc-07 ~]#
pvcreate /dev/xvdb1
Physical volume "/dev/xvdb1" successfully created [root@doc-07 ~]#pvcreate /dev/xvdb2
Physical volume "/dev/xvdb2" successfully created [root@doc-07 ~]#pvcreate /dev/xvdc1
Physical volume "/dev/xvdc1" successfully created - Créez le groupe de volumes. Cet exemple crée le groupe de volumes
vg001
, qui est composé des trois volumes physiques créés dans l'étape précédente.[root@doc-07 ~]#
vgcreate vg001 /dev/xvdb1 /dev/xvdb2 /dev/xvdc1
Clustered volume group "vg001" successfully createdRemarquez que la sortie de la commandevgcreate
indique que le groupe de volumes est clusterisé. Vous pouvez vérifier si un groupe de volumes est clusterisé avec la commandevgs
, qui affiche les attributs d'un groupe de volumes. Si un groupe de volumes est clusterisé, l'attribut « c » sera affiché.[root@doc-07 ~]#
vgs vg001
VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97G - Créez le volume logique miroir. Cet exemple crée le volume logique
mirrorlv
à partir du groupe de volumesvg001
. Ce volume possède une seule branche de miroir (de l'anglais, « mirror leg »). L'exemple spécifie les extensions du volume physique qui seront utilisées pour le volume logique.[root@doc-07 ~]#
lvcreate -l 1000 -m1 vg001 -n mirrorlv /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0
Logical volume "mirrorlv" createdVous pouvez utiliser la commandelvs
pour afficher le progrès de la création du miroir. L'exemple suivant affiche que le miroir est synchronisé à 47%, puis synchronisé à 91%, le miroir est créé lorsque la synchronisation est à 100%.[root@doc-07 log]#
lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 47.00 [root@doc-07 log]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 91.00 [root@doc-07 ~]#lvs vg001/mirrorlv
LV VG Attr LSize Origin Snap% Move Log Copy% Convert mirrorlv vg001 mwi-a- 3.91G vg001_mlog 100.00La création du miroir est notée dans le journal système :May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
- Vous pouvez utiliser la commande
lvs
avec les options-o +devices
pour afficher la configuration du miroir, y compris pour afficher quels périphériques remplissent le rôle de branches du miroir (de l'anglais, « mirror legs »). On peut observer dans cet exemple que le volume logique est composé de deux images linéaires et d'un journal.[root@doc-07 ~]#
lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices mirrorlv vg001 mwi-a- 3.91G mirrorlv_mlog 100.00 mirrorlv_mimage_0(0),mirrorlv_mimage_1(0) [mirrorlv_mimage_0] vg001 iwi-ao 3.91G /dev/xvdb1(1) [mirrorlv_mimage_1] vg001 iwi-ao 3.91G /dev/xvdb2(1) [mirrorlv_mlog] vg001 lwi-ao 4.00M /dev/xvdc1(0)Vous pouvez utiliser l'optionseg_pe_ranges
de la commandelvs
pour afficher la structure des données. Cette option peut être utilisée pour vérifier que votre structure est correctement redondante. La sortie de cette commande afficher les échelles PE sous le même format que les saisies des commandelvcreate
etlvresize
.[root@doc-07 ~]#
lvs -a -o +seg_pe_ranges --segments
PE Ranges mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999 /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0-0
Note
Chapitre 6. Résolution de problèmes LVM
6.1. Diagnostiques de résolution de problèmes
- Utilisez l'argument
-v
,-vv
,-vvv
ou-vvvv
avec n'importe quelle commande afin d'augmenter le niveau de verbosité de sa sortie. - Si un problème est lié à l'activation du volume logique, définissez 'activation = 1' dans la section 'log' du fichier de configuration et exécutez la commande avec l'argument
-vvvv
. Après avoir examiné cette sortie assurez-vous de réinitialiser le paramètre à 0 afin d'éviter d'éventuels problèmes avec le verrouillage de la machine en cas de mémoire insuffisante. - Exécutez la commande
lvmdump
afin d'obtenir des informations à des fins de diagnostic. Pour davantage d'informations, reportez-vous à la page de manuellvmdump
(8). - Exécutez la commande
lvs -v
,pvs -a
oudmsetup info -c
pour davantage d'informations système. - Examinez la dernière sauvegarde de métadonnées dans
/etc/lvm/backup
et les versions archivées dans/etc/lvm/archive
. - Vérifiez les informations de configuration en exécutant la commande
lvm dumpconfig
. - Vérifiez le fichier
.cache
dans/etc/lvm
pour savoir quels sont les périphériques qui disposent de volumes physiques.
6.2. Affichage d'informations à propos des périphériques ayant échoué.
-P
des commandes lvs
et vgs
afin d'afficher des informations à propos d'un périphérique ayant échoué qui, autrement, n'apparaîtraient pas dans la sortie. Cet argument permet certaines opérations même si les métadonnées internes ne sont pas totalement consistantes. Par exemple, si l'un des périphériques qui compose le groupe de volumes vg
a échoué, la commande vgs
pourrait afficher la sortie suivante.
[root@link-07 tmp]# vgs -o +devices
Volume group "vg" not found
-P
avec la commande vgs
, le groupe de volumes sera toujours inutilisable mais vous pourrez voir davantage d'informations à propos du périphérique ayant échoué.
[root@link-07 tmp]# vgs -P -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(0)
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(5120),/dev/sda1(0)
lvs
sans l'argument -P
affiche la sortie suivante.
[root@link-07 tmp]# lvs -a -o +devices
Volume group "vg" not found
-P
vous affichez les volumes logiques qui ont échoué.
[root@link-07 tmp]# lvs -P -a -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
linear vg -wi-a- 20.00G unknown device(0)
stripe vg -wi-a- 20.00G unknown device(5120),/dev/sda1(0)
pvs
et lvs
avec l'argument -P
, suite à l'échec d'une branche d'un volume logique en miroir.
root@link-08 ~]# vgs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
corey 4 4 0 rz-pnc 1.58T 1.34T my_mirror_mimage_0(0),my_mirror_mimage_1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdd1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T unknown device(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdb1(0)
[root@link-08 ~]# lvs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
my_mirror corey mwi-a- 120.00G my_mirror_mlog 1.95 my_mirror_mimage_0(0),my_mirror_mimage_1(0)
[my_mirror_mimage_0] corey iwi-ao 120.00G unknown device(0)
[my_mirror_mimage_1] corey iwi-ao 120.00G /dev/sdb1(0)
[my_mirror_mlog] corey lwi-ao 4.00M /dev/sdd1(0)
6.3. Récupération suite à un échec miroir LVM
mirror_log_fault_policy
est défini sur remove
, nécessitant ainsi que vous reconstruisiez le miroir manuellement. Pour obtenir des informations sur l'ajustement du paramètre mirror_log_fault_policy
, reportez-vous à la Section 6.3, « Récupération suite à un échec miroir LVM ».
[root@link-08 ~]# pvcreate /dev/sd[abcdefgh][12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdc2" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created
Physical volume "/dev/sde1" successfully created
Physical volume "/dev/sde2" successfully created
Physical volume "/dev/sdf1" successfully created
Physical volume "/dev/sdf2" successfully created
Physical volume "/dev/sdg1" successfully created
Physical volume "/dev/sdg2" successfully created
Physical volume "/dev/sdh1" successfully created
Physical volume "/dev/sdh2" successfully created
vg
et le volume en miroir groupfs
.
[root@link-08 ~]#vgcreate vg /dev/sd[abcdefgh][12]
Volume group "vg" successfully created [root@link-08 ~]#lvcreate -L 750M -n groupfs -m 1 vg /dev/sda1 /dev/sdb1 /dev/sdc1
Rounding up size to full physical extent 752.00 MB Logical volume "groupfs" created
lvs
pour vérifier la disposition du volume en miroir et des périphériques sous-jacents pour la branche du miroir et le fichier journal du miroir. Notez que dans le premier exemple, le miroir n'est pas encore complètement synchronisé ; vous devriez attendre jusqu'à ce que le champ Copy%
affiche 100.00 avant de continuer.
[root@link-08 ~]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices groupfs vg mwi-a- 752.00M groupfs_mlog 21.28 groupfs_mimage_0(0),groupfs_mimage_1(0) [groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0) [groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0) [groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0) [root@link-08 ~]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices groupfs vg mwi-a- 752.00M groupfs_mlog 100.00 groupfs_mimage_0(0),groupfs_mimage_1(0) [groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0) [groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0) [groupfs_mlog] vg lwi-ao 4.00M i /dev/sdc1(0)
/dev/sda1
échoue. Toute activité d'écriture sur le volume en miroir permet à LVM de détecter le miroir échouant. Lorsque cela se produit, LVM convertit le miroir en un volume linéaire unique. Dans ce cas, pour déclencher la conversion, nous exécutons une commande dd
.
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
lvs
pour vérifier que le périphérique soit un périphérique linéaire. À cause du disque ayant échoué, des erreurs d'E/S se produisent.
[root@link-08 ~]# lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
/dev/sda2: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
pvcreate
. Vous pouvez éviter l'apparition de ces avertissements en exécutant la commande vgreduce --removemissing
.
[root@link-08 ~]#pvcreate /dev/sdi[12]
Physical volume "/dev/sdi1" successfully created Physical volume "/dev/sdi2" successfully created [root@link-08 ~]#pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free] PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdi1 lvm2 [603.94 GB] PV /dev/sdi2 lvm2 [603.94 GB] Total: 16 [2.11 TB] / in use: 14 [949.65 GB] / in no VG: 2 [1.18 TB]
[root@link-08 ~]#vgextend vg /dev/sdi[12]
Volume group "vg" successfully extended [root@link-08 ~]#pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free] PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdi1 VG vg lvm2 [603.93 GB / 603.93 GB free] PV /dev/sdi2 VG vg lvm2 [603.93 GB / 603.93 GB free] Total: 16 [2.11 TB] / in use: 16 [2.11 TB] / in no VG: 0 [0 ]
[root@link-08 ~]# lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
lvs
pour vérifier si le miroir a été restauré.
[root@link-08 ~]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg mwi-a- 752.00M groupfs_mlog 68.62 groupfs_mimage_0(0),groupfs_mimage_1(0)
[groupfs_mimage_0] vg iwi-ao 752.00M /dev/sdb1(0)
[groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdi1(0)
[groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0)
6.4. Recupération des métadonnées du volume physique
Avertissement
[root@link-07 backup]# lvs -a -o +devices
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
...
/etc/lvm/archive
. Recherchez dans le fichier VolumeGroupName_xxxx.vg
les dernières métadonnées LVM archivées valides pour le groupe de volumes.
partial
(-P
) vous pourrez trouver l'UUID du volume physique corrompu manquant.
[root@link-07 backup]# vgchange -an --partial
Partial mode. Incomplete volume groups will be activated read-only.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
...
--uuid
et --restorefile
de la commande pvcreate
pour restaurer le volume physique. L'exemple suivant étiquette le périphérique /dev/sdh1
en tant que volume physique avec l'UUID indiqué ci-dessus, FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk
. Cette commande restaure l'étiquette du volume physique avec les informations de métadonnées contenues dans VG_00050.vg
, les métadonnées archivées les plus récentes pour le groupe de volumes. L'argument restorefile
permet à la commande pvcreate
de rendre le nouveau volume physique compatible avec l'ancien sur le groupe de volumes, en s'assurant que les nouvelles métadonnées ne soient pas placées là où l'ancien volume physique stockait ses données (cela pourrait par exemple se produire si la commande d'origine pvcreate
avait utilisé les arguments en ligne de commande qui permettent de contrôler l'emplacement des métadonnées ou si le volume physique avait été créé avec une version logicielle différente qui utilise d'autres paramètres par défaut). La commande pvcreate
n'écrase que les zones de métadonnées LVM et n'affecte pas les zones de données existantes.
[root@link-07 backup]# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
vgcfgrestore
pour restaurer les métadonnées d'un groupe de volumes.
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
[root@link-07 backup]#lvchange -ay /dev/VG/stripe
[root@link-07 backup]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi-a- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi-a- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
fsck
pour récupérer ces données.
6.5. Remplacement d'un volume physique manquant
--partial
et --verbose
de la commande vgdisplay
pour afficher les UUID et les tailles des volumes physiques qui ne sont plus présents. Si vous souhaitez substituer un autre volume physique de même taille, vous pouvez utiliser la commande pvcreate
avec les arguments --restorefile
et --uuid
pour initialiser un nouveau périphérique avec le même UUID que le volume physique manquant. Vous pouvez ensuite utiliser la commande vgcfgrestore
pour restaurer les métadonnées du groupe de volumes.
6.6. Supprimer les volumes physiques perdus d'un groupe de volumes
--partial
de la commande vgchange
. Vous pouvez supprimer tous les volumes logiques utilisant ce volume physique à partir du groupe de volumes avec l'argument --removemissing
de la commande vgreduce
.
vgreduce
avec l'argument --test
pour vérifier ce que vous supprimez.
vgreduce
est réservible si vous utilisez immédiatement la commande vgcfgrestore
afin de restaurer les métadonnées du groupe de volumes à leur état précédent. Par exemple, si vous avez utilisé l'argument --removemissing
de la commande vgreduce
sans l'argument --test
et que vous vous apercevez d'avoir supprimé les volumes logiques que vous vouliez garder, vous pouvez toujours remplacer le volume physique et utiliser une autre commande vgcfgrestore
pour restaurer le groupe de volumes à son état précédent.
6.7. Extensions libres insuffisantes pour un volume logique
vgdisplay
et vgs
. Ceci est dû au fait que ces commandes arrondissent à 2 décimales près afin de fournir une sortie plus lisible. Pour spécifier une taille exacte, utilisez le nombre d'extensions physiques libres plutôt qu'un multiple d'octets déterminé par la taille du volume logique.
vgdisplay
inclut par défaut cette ligne de sortie qui indique les extensions physiques libres.
# vgdisplay
--- Volume group ---
...
Free PE / Size 8780 / 34.30 GB
vg_free_count
et vg_extent_count
de la commande vgs
pour afficher les extensions libres et le nombre total d'extensions.
[root@tng3-1 ~]# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
# lvcreate -l8780 -n testlv testvg
# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 1 0 wz--n- 34.30G 0 0 8780
-l
de la commande lvcreate
. Pour davantage d'informations, reportez-vous à la Section 4.4.1, « Création de volumes logiques linéaires ».
Chapitre 7. Administration LVM avec l'interface utilisateur graphique LVM
system-config-lvm
. Le chapitre LVM du Guide d'adminstration du stockage fournit des instructions, étape par étape, afin de configurer un volume logique LVM à l'aide de cet utilitaire.
Annexe A. Le mappeur de périphériquesur de périphériques
dmraid
utilisent le mappeur de périphériques. L'interface application de Device Mapper (le mappeur de périphériques) est l'appel système ioctl
. L'interface utilisateur est la commande dmsetup
.
dmsetup
. Pour obtenir des informations sur le format des périphériques dans une table de mappage, voir la Section A.1, « Tables des mappages de périphériques ». Pour obtenir des informations sur l'utilisation de la commande dmsetup
pour questionner un périphérique, voir la Section A.2, « La commande dmsetup ».
A.1. Tables des mappages de périphériques
start length mapping
[mapping_parameters...
]
start
doit être égal à 0. Les paramètres start
+ length
sur une ligne doivent être égaux à start
sur la ligne suivante. Les paramètres de mappage spécifiés sur une ligne de table de mappage dépendent du type de mapping
spécifié sur la ligne.
/dev/hda
) ou par le numéro majeur ou mineur sous le format major
:minor
. Le format major:minor (majeur:mineur) est préféré car il permet d'éviter les recherches de noms de chemins.
0 35258368 linear 8:48 65920 35258368 35258368 linear 8:32 65920 70516736 17694720 linear 8:16 17694976 88211456 17694720 linear 8:16 256
linear
. Le reste de la ligne est composé de paramètres pour une cible linear
.
- linéaire
- striped
- miroir
- snapshot et snapshot-origin
- erreur
- zéro
- multipath
- crypt
A.1.1. La cible de mappage linéaire
start length
lineardevice offset
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
device
- périphérique bloc, répertorié par le nom de périphérique dans le système de fichiers, ou par le numéro majeur ou mineur sous le format
major
:minor
offset
- offset de démarrage du mappage du périphérique
0 16384000 linear 8:2 41156992
/dev/hda
.
0 20971520 linear /dev/hda 384
A.1.2. La cible de mappage striped
start length
striped#stripes chunk_size device1 offset1 ... deviceN offsetN
device
et offset
pour chaque stripe.
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
#stripes
- nombre de stripes pour le périphérique virtuel
chunk_size
- nombre de secteurs écrits sur chaque stripe avant de passer à la stripe suivante ; doit être à la puissance 2, au moins aussi gros que la taille de la page du noyau.
device
- périphérique bloc, peut être référencé par le nom de périphérique dans le système de fichiers ou par le numéro majeur ou mineur sous le format
major
:minor
. offset
- offset de démarrage du mappage du périphérique
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
- 0
- bloc de démarrage du périphérique virtuel
- 73728
- longueur de ce segment
- striped 3 128
- stripe sur trois périphériques avec une taille de bloc de 128
- 8:9
- numéros major:minor du premier périphérique
- 384
- démarrage du décalage du mappage sur le premier périphérique
- 8:8
- numéros major:minor du second périphérique
- 384
- démarrage du décalage du mappage sur le deuxième périphérique
- 8:7
- numéros major:minor du troisième périphérique
- 9789824
- démarrage du décalage du mappage sur le troisième périphérique
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
A.1.3. La cible de mappage miroir
start length
mirrorlog_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
log_type
- Les types de journaux possibles et leurs arguments sont comme suit :
core
- Le miroir est local et le journal du miroir est conservé dans la mémoire centrale. Ce type de journal prend de 1 à 3 arguments :regionsize [[
no
]sync
] [block_on_error
] disk
- Le miroir est local et le journal du miroir est conservé sur disque. Ce type de journal prend de 2 à 4 arguments :logdevice regionsize [[
no
]sync
] [block_on_error
] clustered_core
- Le miroir est clusterisé et le journal du miroir est conservé dans la mémoire centrale. Ce type de journal prend de 2 à 4 arguments :regionsize UUID [[
no
]sync
] [block_on_error
] clustered_disk
- Le miroir est clusterisé et le journal du miroir est conservé sur disque. Ce type de journal prend de 3 à 5 arguments :logdevice regionsize UUID [[
no
]sync
] [block_on_error
]
LVM maintient un petit journal utilisé pour savoir quelles régions sont synchronisées avec le (ou les) miroir(s). L'argument regionsize spécifie la taille de ces régions.Dans un environnement clusterisé, l'argument UUID est un identifiant unique associé au périphérique du journal du miroir de manière à ce que l'état du journal puisse être maintenu à travers le cluster.L'argument optionnel[no]sync
peut être utilisé pour spécifier le miroir comme étant "in-sync" ou "out-of-sync". L'argumentblock_on_error
est utilisé pour dire au miroir de répondre aux erreurs plutôt que de les ignorer. #log_args
- nombre d'arguments de journal qui seront spécifiés dans le mappage
logargs
- les arguments de journal pour le miroir ; le nombre d'arguments de journal fournit est spécifié par le paramètre
#log-args
et les arguments valides du journal sont déterminés par le paramètrelog_type
. #devs
- le nombre de branches du miroir ; un périphérique et un décalage est spécifié pour chaque branche.
device
- périphérique bloc pour chaque branche de miroir, référencé par le nom de périphérique dans le système de fichiers ou par le numéro majeur ou mineur sous le format
major
:minor
. Un périphérique bloc et un décalage sont spécifiés pour chaque branche de miroir, comme indiqué par paramètre#devs
. offset
- démarrage du décalage du mappage sur le périphérique. Un périphérique bloc et un décalage est spécifié pour chaque branche de miroir, comme indiqué par le paramètre
#devs
.
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
- 0
- bloc de démarrage du périphérique virtuel
- 52428800
- longueur de ce segment
- mirror clustered_disk
- cible de miroir avec un type de journal spécifiant que le miroir est clusterisé et que la branche du miroir est maintenue sur disque.
- 4
- 4 arguments du journal miroir suivent
- 253:2
- numéros major:minor du périphérique du journal
- 1024
- taille de la région que le journal miroir utilise pour savoir ce qui est synchronisé
UUID
- UUID du périphérique du journal miroir pour maintenir les informations de journal à travers un cluster
block_on_error
- le miroir devrait répondre aux erreurs
- 3
- nombre de branches en miroir
- 253:3 0 253:4 0 253:5 0
- numéros major:minor et offset des périphériques composant chaque branche du miroir
A.1.4. Les cibles de mappage snapshot et snapshot-origin
- Périphérique avec un mappage
linear
contenant la table de mappage originale du volume source. - Périphérique avec un mappage
linear
utilisé comme périphérique de cliché instantané (de l'anglais, « copy-on-write », ou COW) pour le volume source ; pour chaque écriture, les données d'origine sont enregistrées dans le périphérique COW de chaque snapshot pour garder son contenu visible inchangé (jusqu'à ce que le périphérique COW soit rempli). - Un périphérique avec un mappage
snapshot
combinant #1 et #2, qui est le volume snapshot visible - Le volume "original" (qui utilise le numéro du périphérique utilisé par le volume source original), dont la table est remplacée par un mappage "snapshot-origin" du périphérique #1.
base
et un volume snapshot nommé snap
basé sur ce volume.
#lvcreate -L 1G -n base volumeGroup
#lvcreate -L 100M --snapshot -n snap volumeGroup/base
#dmsetup table|grep volumeGroup
volumeGroup-base-real: 0 2097152 linear 8:19 384 volumeGroup-snap-cow: 0 204800 linear 8:19 2097536 volumeGroup-snap: 0 2097152 snapshot 254:11 254:12 P 16 volumeGroup-base: 0 2097152 snapshot-origin 254:11 #ls -lL /dev/mapper/volumeGroup-*
brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real brw------- 1 root root 254, 12 29 ago 18:15 /dev/mapper/volumeGroup-snap-cow brw------- 1 root root 254, 13 29 ago 18:15 /dev/mapper/volumeGroup-snap brw------- 1 root root 254, 10 29 ago 18:14 /dev/mapper/volumeGroup-base
snapshot-origin
est comme suit :
start length
snapshot-originorigin
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
origin
- volume de base du snapshot
snapshot-origin
possède normalement un ou plusieurs snapshot qui lui sont basés dessus. Les lectures seront directement mappées sur le périphérique de sauvegarde. Pour chaque écriture, les données d'origine seront enregistrées sur le périphérique COW de chaque snapshot afin que son contenu visible reste inchangé jusqu'à ce que le périphérique COW soit rempli.
snapshot
est comme suit :
start length
snapshotorigin COW-device
P|Nchunksize
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
origin
- volume de base du snapshot
COW-device
- Périphérique sur lequel des portions de données modifiées sont stockées
- P|N
- P (persistant) ou N (not persistant) ; indique si le snapshot survivra au redémarrage. Pour les snapshots temporaires (N), moins de métadonnées doivent être enregistrées sur disque, celles-ci peuvent être conservées en mémoire par le noyau.
chunksize
- Taille en secteurs des portions de données modifiées qui seront stockées sur le périphérique COW.
snapshot-origin
avec un périphérique d'origine de 254:11.
0 2097152 snapshot-origin 254:11
snapshot
avec un périphérique d'origine de 254:11 et un périphérique COW de 254:12. Ce périphérique snapshot est persistant à travers les redémarrage et la taille des portions des données stockées sur le périphérique COW est de 16 secteurs.
0 2097152 snapshot 254:11 254:12 P 16
A.1.5. La cible de mappage « error »
error
ne prend aucun paramètre supplémentaire.
error
.
0 65536 error
A.1.6. La cible de mappage « zero »
zero
est un périphérique bloc équivalent à /dev/zero
. Une opération de lecture sur ce mappage retourne des blocs de zéros. Les données écrites sur ce mappage sont abandonnées, mais l'écriture est réussie. À l'exception des paramètres start et length, la cible de mappage zero
ne prend pas de paramètres supplémentaires.
zero
pour un périphérique 16Tb.
0 65536 zero
A.1.7. La cible de mappage « multipath »
multipath
est comme suit :
start length
multipath
#features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
pathgroupargs
pour chaque groupe de chemins.
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
#features
- Nombre de fonctionnalités multipath, suivi par celles-ci. Si ce paramètre est à zéro, alors il n'y a aucun paramètre
feature
et le paramètre de mappage de périphérique qui suit est#handlerargs
. Une seule fonctionnalité multipath est prise en charge à l'instant présent,queue_if_no_path
. Ceci indique que le périphérique multipath est actuellement réglé pour mettre les opérations d'E/S en file d'attente s'il n'y a aucun chemin disponible.Par exemple, si l'optionno_path_retry
dans le fichiermultipath.conf
a été réglé pour mettre les opérations d'E/S en file d'attente uniquement lorsque tous les chemins on été marqués comme étant en échec, et aprés qu'un certain nombre de tentatives d'emprunt de ces chemins n'ait été réalisé, le mappage apparaitra comme suit jusqu'à ce que toutes les vérification des vérificateurs de chemins aient échoué.0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000
Une fois que les vérificateurs de chemins auront échoué à vérifier le nombre spécifié de vérifications, le mappage apparaitra comme suit.0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000
#handlerargs
- Nombre d'arguments du gestionnaire du matériel, suivis par ceux-ci. Un gestionnaire de matériel spécifie un module qui sera utilisé pour effectuer des actions spécifiques au matériel lorsque vous basculez d'un groupe de chemins à un autre ou lors de la gestion d'erreurs d'E/S. S'il est réglé sur 0, alors le paramètre qui suit sera
#pathgroups
. #pathgroups
- Nombre de groupes de chemins. Un groupe de chemins est l'ensemble des chemins sur lesquels un périphérique mutlipath équilibre les charges. Il existe un ensemble de paramètres
pathgroupargs
pour chaque groupe de chemins. pathgroup
- Le prochain groupe de chemins à essayer.
pathgroupsargs
- Chaque groupe de chemins est composé des arguments suivants :
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsN
Il y a un ensemble d'arguments de chemins pour chaque chemin du groupe de chemins.pathselector
- Spécifie l'algorithme à utiliser pour déterminer quel chemin dans ce groupe de chemins doit être utilisé pour la prochaine opération d'E/S.
#selectorargs
- Nombre d'arguments du sélecteur d'arguments qui suit cet argument dans le mappage multipath. Actuellement, la valeur de cet argument est toujours 0.
#paths
- Nombre de chemins dans ce groupe de chemins.
#pathargs
- Nombre d'arguments de chemin spécifiés pour chaque chemin dans ce groupe. Actuellement, ce nombre est toujours 1, l'argument
ioreqs
. device
- Numéro du périphérique bloc du chemin, référencé par les numéros majeur et mineur sous le format
major
:minor
ioreqs
- Nombre de requêtes d'E/S à acheminer vers ce chemin avant de basculer sur le chemin suivant du groupe actuel.

Figure A.1. Cible de mappage multipath
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \ round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \ round-robin 0 1 1 65:48 1000
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \ 67:176 1000 68:240 1000 65:48 1000
A.1.8. La cible de mappage « crypt »
crypt
chiffre les données passant à travers le périphérique spécifié. Elle utilise l'API du noyau Cypto.
crypt
est comme suit :
start length
cryptcipher key IV-offset device offset
start
- bloc de démarrage du périphérique virtuel
length
- longueur de ce segment
cipher
- Un cipher est composé de
cipher[-chainmode]-ivmode[:iv options]
.cipher
- Les ciphers disponibles sont répertoriés dans
/proc/crypto
(par exemple,aes
). chainmode
- Veuillez toujours utiliser
cbc
. Ne pas utiliserebc
; car il n'utilise pas un vecteur initial (IV). ivmode[:iv options]
- IV est un vecteur initial utilisé afin de varier le chiffrage. Le mode IV est
plain
ouessiv:hash
. Univmode
de-plain
utilise le numéro du secteur (plus un décalage d'IV) comme IV. Univmode
de-essiv
est une amélioration évitant une faiblesse face aux tatouages numériques (ou watermarking)
key
- Clé de chiffrement, fournie en hex
IV-offset
- Décalage du vecteur initial (IV)
device
- périphérique bloc, répertorié par le nom de périphérique dans le système de fichiers, ou par le numéro majeur ou mineur sous le format
major
:minor
offset
- offset de démarrage du mappage du périphérique
crypt
.
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
A.2. La commande dmsetup
dmsetup
est une enveloppe de lignes de commande pour la communication avec le mappeur de périphériques. Pour obtenir des informations système à propos des périphériques LVM, les options info
, ls
, status
, et deps
de la commande dmsetup
se révéleront utiles, comme les sous-sections suivantes le décrivent :
dmsetup
, reportez-vous à la page de manuel dmsetup
(8).
A.2.1. La commande dmsetup info
dmsetup info device
fournit un résumé des informations sur les périphériques mappeurs de périphériques. Si vous ne spécifiez pas un nom de périphérique, la sortie sera des informations sur tous les périphériques mappeurs de périphériques actuellement configurés. Si vous spécifiez un périphérique, alors cette commande se limitera aux informations de ce périphérique uniquement.
dmsetup info
fournit des informations sur les catégories suivantes :
Nom
- Nom du périphérique. Un périphérique LVM est exprimé comme le nom du groupe de volumes et le nom du volume logique séparé par un trait d'union. Un trait d'union dans le nom d'origine est traduit en deux traits d'union.
État
- Les états possibles des périphériques sont
SUSPENDED
(Suspendu),ACTIVE
(actif), etREAD-ONLY
(lecture seule). La commandedmsetup suspend
définit l'état du périphérique surSUSPENDED
. Lorsqu'un périphérique est suspendu, toutes les opérations d'E/S de ce périphérique s'arrêtent. La commandedmsetup resume
restaure l'état du périphérique surACTIVE
. Lecture anticipée
- Nombre de blocs de données que le système lit à l'avance pour tout fichier ouvert sur lequel des opérations de lecture sont en cours. Par défaut, le noyau choisit une valeur correcte automatiquement. Vous pouvez changer cette valeur avec l'option
--readahead
de la commandedmsetup
. Tables présentes
- Les états possibles pour cette catégorie sont
LIVE
etINACTIVE
. L'étatINACTIVE
(inactif) indique qu'une table a été chargée et sera échangée lorsque la commandedmsetup resume
restaurera l'état du périphérique surACTIVE
, moment auquel létat de la table deviendraLIVE
. Pour plus d'informations, voir la page mandmsetup
. Compte d'ouvertures
- Le compte d'ouvertures de références indique combien de fois le périphérique a été ouvert. La commande
mount
ouvre un périphérique. Nombre d'événements
- Nombre actuel d'événements reçus. La saisie de la commande
dmsetup wait n
permet à l'utilisateur d'attendre l'événement « n », bloquant ainsi l'appel jusqu'à ce que cet événement soit reçu. Majeur, mineur
- Numéro majeur et mineur du périphérique
Nombre de cibles
- Nombre de fragments formant un périphérique. Par exemple, un périphérique linéaire couvrant 3 disques devrait avoir 3 cibles. Un périphérique linéaire composé du début et de la fin d'un disque, mais pas du milieu n'aurait que 2 cibles.
UUID
- UUID du périphérique.
dmsetup info
.
[root@ask-07 ~]# dmsetup info
Name: testgfsvg-testgfslv1
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 253, 2
Number of targets: 2
UUID: LVM-K528WUGQgPadNXYcFrrf9LnPlUMswgkCkpgPIgYzSvigM7SfeWCypddNSWtNzc2N
...
Name: VolGroup00-LogVol00
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 0
Number of targets: 1
UUID: LVM-tOcS1kqFV9drb0X1Vr8sxeYP0tqcrpdegyqj5lZxe45JMGlmvtqLmbLpBcenh2L3
A.2.2. La commande dmsetup ls
dmsetup ls
. Vous pouvez répertorier les périphériques qui possède au moins une cible du type spécifié avec la commande dmsetup ls --target target_type
. Pour voir les autres options de dmsetup ls
, reportez-vous à la page man de dmsetup
.
[root@ask-07 ~]# dmsetup ls
testgfsvg-testgfslv3 (253, 4)
testgfsvg-testgfslv2 (253, 3)
testgfsvg-testgfslv1 (253, 2)
VolGroup00-LogVol01 (253, 1)
VolGroup00-LogVol00 (253, 0)
[root@grant-01 ~]# dmsetup ls --target mirror
lock_stress-grant--02.1722 (253, 34)
lock_stress-grant--01.1720 (253, 18)
lock_stress-grant--03.1718 (253, 52)
lock_stress-grant--02.1716 (253, 40)
lock_stress-grant--03.1713 (253, 47)
lock_stress-grant--02.1709 (253, 23)
lock_stress-grant--01.1707 (253, 8)
lock_stress-grant--01.1724 (253, 14)
lock_stress-grant--03.1711 (253, 27)
dmsetup ls
propose une option --tree
qui affiche les dépendances entre périphériques sous la forme d'une arborescence, comme illustré dans l'exemple suivant.
# dmsetup ls --tree
vgtest-lvmir (253:13)
├─vgtest-lvmir_mimage_1 (253:12)
│ └─mpathep1 (253:8)
│ └─mpathe (253:5)
│ ├─ (8:112)
│ └─ (8:64)
├─vgtest-lvmir_mimage_0 (253:11)
│ └─mpathcp1 (253:3)
│ └─mpathc (253:2)
│ ├─ (8:32)
│ └─ (8:16)
└─vgtest-lvmir_mlog (253:4)
└─mpathfp1 (253:10)
└─mpathf (253:6)
├─ (8:128)
└─ (8:80)
A.2.3. La commande dmsetup status
dmsetup status device
fournit des informations sur le statut de chaque cible d'un périphérique spécifié. Si vous ne spécifiez pas de nom de périphérique, la sortie contiendra les informations sur tous les périphériques mappeurs de périphériques actuellement configurés.
[root@ask-07 ~]# dmsetup status
testgfsvg-testgfslv3: 0 312352768 linear
testgfsvg-testgfslv2: 0 312352768 linear
testgfsvg-testgfslv1: 0 312352768 linear
testgfsvg-testgfslv1: 312352768 50331648 linear
VolGroup00-LogVol01: 0 4063232 linear
VolGroup00-LogVol00: 0 151912448 linear
A.2.4. La commande dmsetup deps
dmsetup deps device
fournit une liste des paires (majeures, mineures) de périphériques référencées par la table de mappage pour le périphérique spécifié. Si vous ne spécifiez pas de nom de périphérique, la sortie contiendra des informations sur tous les périphériques mappeurs de périphériques actuellement configurés.
[root@ask-07 ~]# dmsetup deps
testgfsvg-testgfslv3: 1 dependencies : (8, 16)
testgfsvg-testgfslv2: 1 dependencies : (8, 16)
testgfsvg-testgfslv1: 1 dependencies : (8, 16)
VolGroup00-LogVol01: 1 dependencies : (8, 2)
VolGroup00-LogVol00: 1 dependencies : (8, 2)
lock_stress-grant--02.1722
:
[root@grant-01 ~]# dmsetup deps lock_stress-grant--02.1722
3 dependencies : (253, 33) (253, 32) (253, 31)
A.3. Prise en charge du mappeur de périphériques pour le gestionnaire de périphériques udev
udev
est de permettre de paramétrer des noeuds de manière dynamique dans le répertoire /dev
. La création de ces noeuds est réalisée par l'application des règles udev
dans l'espace utilisateur. Ces règles sont traitées sur les événements udev
envoyés directement depuis le noyau, et résultent de l'ajout, de la suppression, ou de la modification de périphériques particuliers, ce qui fournit un mécanisme pratique et central pour le support des connexions à chaud.
udev
est capable de créer tout lien symbolique avec leur propres noms, offrant aux utilisateurs la liberté de choisir leur structure de répertoire et de dénomination personnalisée dans le répertoire /dev
si nécessaire
udev
contient des informations de base sur le périphérique traité, comme son nom, le sous-système auquel il appartient, son type, son numéro majeur et mineur utilisé, et le type de l'événement. Avec ces informations et la possibilité d'accéder à toutes les informations trouvées dans le répertoire /sys
, qui est aussi accessible avec les règles udev
, les utilisateurs sont en mesure d'utiliser de simples filtres basés sur ces informations et d'exécuter les règles à condition de se baser sur ces informations.
udev
offre aussi une manière centralisée de paramétrer les permissions des noeuds. Un utilisateur peut facilement ajouter un ensemble de règles personnalisées pour définir les permissions pour tout périphérique spécifié par toute information disponible pendant le traitement de l'événement.
udev
directement. Le gestionnaire de périphériques udev
peut appeler tous ces programmes afin de fournir un traitement supplémentaire nécessaire à la gestion de l'événement. Le programme peut aussi exporter des variables d'environnement en tant que résultat de ce traitement. Tous les résultats donnés peuvent être utilisés dans les règles en tant que source d'informations supplémentaire.
udev
est en mesure de recevoir et de traiter des événements udev
avec toutes les informations disponibles. Ainsi, le traitement n'est pas limité au démon udev
uniquement.
A.3.1. Intégration udev avec le mappeur de périphériques
udev
. Ceci synchronise le mappeur de périphériques avec tous les traitements udev
concernant les périphériques du mappeur de périphériques, y compris les périphériques LVM. La synchronisation est nécessaire car l'application de la règle dans le démon udev
est une forme de traitement parallèle avec le programme qui est la source des modifications du périphérique (comme dmsetup
et LVM). Sans ce support, un problème commun, résultant d'un changement d'événement, survenait lorsqu'un utilisateur tentait de supprimer un périphérique qui était encore ouvert et traité par les règles udev
; ceci était particulièrement commun lorsqu'il y avait de très courts laps de temps entre les changements pour ce périphérique.
udev
officiellement prises en charge pour les périphériques de Device Mapper en général ainsi que pour LVM. La Tableau A.1, « Règles udev pour les périphériques du mappeur de périphériques » résume ces règles, qui sont installées dans /lib/udev/rules.d
.
Nom du fichier | Description | ||
---|---|---|---|
10-dm.rules |
| ||
11-dm-lvm.rules |
| ||
13-dm-disk.rules | Contient des règles à appliquer à tous les périphériques du mappeur de périphériques en général et crée des symlinks dans les répertoires /dev/disk/by-id , /dev/disk/by-uuid et /dev/disk/by-uuid . | ||
95-dm-notify.rules | Contient la règle qui notifie du processus d'attente à l'aide de libdevmapper (tout comme LVM et dmsetup ). La notification est effectuée une fois que toutes les règles précédentes sont appliquées, afin de s'assurer que tous les traitements udev sont terminés. Le processus notifié est ensuite repris. |
12-dm-permissions.rules
. Ce fichier n'est pas installé dans le répertoire /lib/udev/rules
; il peut être trouvé dans le répertoire /usr/share/doc/device-mapper-version
. Le fichier 12-dm-permissions.rules
est un modèle contenant des indices pour paramétrer les permissions basé sur des règles de correspondance données comme exemple. Le fichier contient des exemples pour certaines situations communes. Vous pouvez modifier ce fichier et le placer manuellement dans le répertoire /etc/udev/rules.d
où il survivra aux mises à jour. Ainsi, les paramètres subsisteront.
DM_NAME
: nom du périphérique du mappeur de périphériquesDM_UUID
: UUID du périphérique du mappeur de périphériquesDM_SUSPENDED
: état suspendu du périphérique du mappeur de périphériquesDM_UDEV_RULES_VSN
: version des règlesudev
(principalement pour que toutes les autres règles puissent vérifier que les variables mentionnées au préalable sont directement paramétrées par les règles du mappeur de périphériques)
11-dm-lvm.rules
:
DM_LV_NAME
: nom du volume logiqueDM_VG_NAME
: nom du groupe de volumesDM_LV_LAYER
: nom de la couche LVM
12-dm-permissions.rules
pour définir une permission pour des périphériques spécifiques du mappeur de périphériques, comme documenté dans le fichier 12-dm-permissions.rules
.
A.3.2. Commandes et interfaces qui supportent udev
dmsetup
qui supportent l'intégration udev
.
Commande | Description |
---|---|
dmsetup udevcomplete | Utilisé pour notifer que udev a terminé le traitement des règles et déverrouille le procesus d'attente (appelé depuis les règles udev dans 95-dm-notify.rules ) |
dmsetup udevcomplete_all | Utilisé à des fins de débogages, pour déverrouiller manuellement tous les processus d'attente |
dmsetup udevcookies | Utilisé à des fins de débogages, pour afficher tous les cookies existants (sémaphores à l'échelle du système) |
dmsetup udevcreatecookie | Utilisé pour créer un cookie (sémaphore) manuellement. Ceci est utile pour exécuter plus de processeurs sous une ressource de synchronisation. |
dmsetup udevreleasecookie | Utilisé pour attendre tous les processus udev qui concernent tous les processus placés sous cet unique cookie de synchronisation. |
dmsetup
qui supportent l'intégration udev
sont comme suit.
--udevcookie
- Doit être défini pour tous les processus dmsetup que vous souhaitez ajouter à une transaction udev. Utilisé en conjonction avec
udevcreatecookie
etudevreleasecookie
:COOKIE=$(dmsetup udevcreatecookie) dmsetup command --udevcookie $COOKIE .... dmsetup command --udevcookie $COOKIE .... .... dmsetup command --udevcookie $COOKIE .... dmsetup udevreleasecookie --udevcookie $COOKIE
Outre l'utilisation de l'option--udevcookie
, vous pouvez aussi exporter la variable dans un environnement du processus :export DM_UDEV_COOKIE=$(dmsetup udevcreatecookie) dmsetup command ... dmsetup command ... ... dmsetup command ...
--noudevrules
- Désactive les règles udev. Les noeuds/symlinks seront créés par
libdevmapper
(qui est l'ancienne manière). Cette option sert à des fins de débogage, au cas oùudev
ne fonctionne pas correctement. --noudevsync
- Déssactive la synchronisation
udev
. Ceci peut aussi servir au débogage.
dmsetup
et de ses options, reportez-vous à la page de manuel dmsetup
(8).
udev
:
--noudevrules
: tout comme pour la commandedmsetup
, désactive les règlesudev
.--noudevsync
: tout comme pour la commandedmsetup
, désactive la synchronisationudev
.
lvm.conf
inclut les options suivantes qui elles-mêmes supportent l'intégration udev
:
udev_rules
: active/désactiveudev_rules
pour toutes les commandes LVM2 à l'échelle du systèmeudev_sync
: active/désactive la synchronisationudev
pour toutes les commandes LVM à l'échelle du système
lvm.conf
, voir les commandes de la ligne dans le fichier lvm.conf
.
Annexe B. Les fichiers de configuration LVM
lvm.conf
est chargé à partir du répertoire spécifié par la variable d'environnement LVM_SYSTEM_DIR
dont la valeur par défaut est /etc/lvm
.
lvm.conf
peut spécifier des fichiers de configuration supplémentaires à charger. Les paramètres des fichiers chargés en dernier surchargent les paramètres des premiers fichiers. Pour afficher les paramètres en cours d'utilisation après avoir chargé tous les fichiers de configuration, exécutez la commande lvm dumpconfig
.
B.1. Les fichiers de configuration LVM
- /etc/lvm/lvm.conf
- Fichier de configuration central lu par les outils.
- etc/lvm/lvm_hosttag.conf
- Pour chaque balise hôte, un fichier de configuration supplémentaire est lu s'il existe :
lvm_hosttag.conf
. Si ce fichier définit de nouvelles balises, d'autres fichiers de configuration seront alors ajoutés dans la liste des fichiers à lire. Pour obtenir des informations à propos des balises hôtes, reportez-vous à la Section C.2, « Les balises hôtes ».
- /etc/lvm/.cache
- Fichier de cache pour le filtre des noms de périphériques (configurable).
- /etc/lvm/backup/
- Répertoire pour les sauvegardes automatiques des métadonnées d'un groupe de volumes (configurable).
- /etc/lvm/archive/
- Répertoire pour l'archivage automatique des métadonnées d'un groupe de volumes (configurable en fonction du chemin d'accès au répertoire et de la taille des archives).
- /var/lock/lvm/
- Dans les configurations avec un seul hôte, verrouillez les fichiers pour empêcher la corruption des métadonnées due à l'exécution parallèle de plusieurs outils ; dans un cluster, DLM à l'échelle du cluster est utilisé.
B.2. Échantillon du fichier lvm.conf
lvm.conf
. Votre fichier de configuration peut être légèrement différent de celui-ci.
# Ceci est un exemple de fichier de configuration du système LVM2. # Il contient les paramètres par défaut qui seraient utilisés s'il n'y avait pas # de fichier /etc/lvm/lvm.conf. # # Reportez-vous à 'man lvm.conf' pour obtenir plus d'informations, y compris sur la structure du fichier. # # Pour inclure ce fichier dans un autre répertoire et remplacer /etc/lvm, définissez # la variable d'environnement LVM_SYSTEM_DIR avant d'exécuter les outils. # Cette section vous permet de configurer quels périphériques blocs devraient être utilisés # par le système LVM. devices { # Where do you want your volume groups to appear ? dir = "/dev" # An array of directories that contain the device nodes you wish # to use with LVM2. scan = [ "/dev" ] # If several entries in the scanned directories correspond to the # same block device and the tools need to display a name for device, # all the pathnames are matched against each item in the following # list of regular expressions in turn and the first match is used. # preferred_names = [ ] # Try to avoid using undescriptive /dev/dm-N names, if present. preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] # A filter that tells LVM2 to only use a restricted set of devices. # The filter consists of an array of regular expressions. These # expressions can be delimited by a character of your choice, and # prefixed with either an 'a' (for accept) or 'r' (for reject). # The first expression found to match a device name determines if # the device will be accepted or rejected (ignored). Devices that # don't match any patterns are accepted. # Be careful if there there are symbolic links or multiple filesystem # entries for the same device as each name is checked separately against # the list of patterns. The effect is that if any name matches any 'a' # pattern, the device is accepted; otherwise if any name matches any 'r' # pattern it is rejected; otherwise it is accepted. # Don't have more than one filter line active at once: only one gets used. # Run vgscan after you change this parameter to ensure that # the cache file gets regenerated (see below). # If it doesn't do what you expect, check the output of 'vgscan -vvvv'. # By default we accept every block device: filter = [ "a/.*/" ] # Exclude the cdrom drive # filter = [ "r|/dev/cdrom|" ] # When testing I like to work with just loopback devices: # filter = [ "a/loop/", "r/.*/" ] # Or maybe all loops and ide drives except hdc: # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] # Use anchors if you want to be really specific # filter = [ "a|^/dev/hda8$|", "r/.*/" ] # The results of the filtering are cached on disk to avoid # rescanning dud devices (which can take a very long time). # By default this cache is stored in the /etc/lvm/cache directory # in a file called '.cache'. # It is safe to delete the contents: the tools regenerate it. # (The old setting 'cache' is still respected if neither of # these new ones is present.) cache_dir = "/etc/lvm/cache" cache_file_prefix = "" # You can turn off writing this cache file by setting this to 0. write_cache_state = 1 # Advanced settings. # List of pairs of additional acceptable block device types found # in /proc/devices with maximum (non-zero) number of partitions. # types = [ "fd", 16 ] # If sysfs is mounted (2.6 kernels) restrict device scanning to # the block devices it believes are valid. # 1 enables; 0 disables. sysfs_scan = 1 # By default, LVM2 will ignore devices used as components of # software RAID (md) devices by looking for md superblocks. # 1 enables; 0 disables. md_component_detection = 1 # By default, if a PV is placed directly upon an md device, LVM2 # will align its data blocks with the md device's stripe-width. # 1 enables; 0 disables. md_chunk_alignment = 1 # Default alignment of the start of a data area in MB. If set to 0, # a value of 64KB will be used. Set to 1 for 1MiB, 2 for 2MiB, etc. # default_data_alignment = 1 # By default, the start of a PV's data area will be a multiple of # the 'minimum_io_size' or 'optimal_io_size' exposed in sysfs. # - minimum_io_size - the smallest request the device can perform # w/o incurring a read-modify-write penalty (e.g. MD's chunk size) # - optimal_io_size - the device's preferred unit of receiving I/O # (e.g. MD's stripe width) # minimum_io_size is used if optimal_io_size is undefined (0). # If md_chunk_alignment is enabled, that detects the optimal_io_size. # This setting takes precedence over md_chunk_alignment. # 1 enables; 0 disables. data_alignment_detection = 1 # Alignment (in KB) of start of data area when creating a new PV. # md_chunk_alignment and data_alignment_detection are disabled if set. # Set to 0 for the default alignment (see: data_alignment_default) # or page size, if larger. data_alignment = 0 # By default, the start of the PV's aligned data area will be shifted by # the 'alignment_offset' exposed in sysfs. This offset is often 0 but # may be non-zero; e.g.: certain 4KB sector drives that compensate for # windows partitioning will have an alignment_offset of 3584 bytes # (sector 7 is the lowest aligned logical block, the 4KB sectors start # at LBA -1, and consequently sector 63 is aligned on a 4KB boundary). # But note that pvcreate --dataalignmentoffset will skip this detection. # 1 enables; 0 disables. data_alignment_offset_detection = 1 # If, while scanning the system for PVs, LVM2 encounters a device-mapper # device that has its I/O suspended, it waits for it to become accessible. # Set this to 1 to skip such devices. This should only be needed # in recovery situations. ignore_suspended_devices = 0 # During each LVM operation errors received from each device are counted. # If the counter of a particular device exceeds the limit set here, no # further I/O is sent to that device for the remainder of the respective # operation. Setting the parameter to 0 disables the counters altogether. disable_after_error_count = 0 # Allow use of pvcreate --uuid without requiring --restorefile. require_restorefile_with_uuid = 1 } # This section allows you to configure the way in which LVM selects # free space for its Logical Volumes. #allocation { # When searching for free space to extend an LV, the "cling" # allocation policy will choose space on the same PVs as the last # segment of the existing LV. If there is insufficient space and a # list of tags is defined here, it will check whether any of them are # attached to the PVs concerned and then seek to match those PV tags # between existing extents and new extents. # Use the special tag "@*" as a wildcard to match any PV tag. # # Example: LVs are mirrored between two sites within a single VG. # PVs are tagged with either @site1 or @site2 to indicate where # they are situated. # # cling_tag_list = [ "@site1", "@site2" ] # cling_tag_list = [ "@*" ] #} # This section that allows you to configure the nature of the # information that LVM2 reports. log { # Controls the messages sent to stdout or stderr. # There are three levels of verbosity, 3 being the most verbose. verbose = 0 # Should we send log messages through syslog? # 1 is yes; 0 is no. syslog = 1 # Should we log error and debug messages to a file? # By default there is no log file. #file = "/var/log/lvm2.log" # Should we overwrite the log file each time the program is run? # By default we append. overwrite = 0 # What level of log messages should we send to the log file and/or syslog? # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive. # 7 is the most verbose (LOG_DEBUG). level = 0 # Format of output messages # Whether or not (1 or 0) to indent messages according to their severity indent = 1 # Whether or not (1 or 0) to display the command name on each line output command_names = 0 # A prefix to use before the message text (but after the command name, # if selected). Default is two spaces, so you can see/grep the severity # of each message. prefix = " " # To make the messages look similar to the original LVM tools use: # indent = 0 # command_names = 1 # prefix = " -- " # Set this if you want log messages during activation. # Don't use this in low memory situations (can deadlock). # activation = 0 } # Configuration of metadata backups and archiving. In LVM2 when we # talk about a 'backup' we mean making a copy of the metadata for the # *current* system. The 'archive' contains old metadata configurations. # Backups are stored in a human readeable text format. backup { # Should we maintain a backup of the current metadata configuration ? # Use 1 for Yes; 0 for No. # Think very hard before turning this off! backup = 1 # Where shall we keep it ? # Remember to back up this directory regularly! backup_dir = "/etc/lvm/backup" # Should we maintain an archive of old metadata configurations. # Use 1 for Yes; 0 for No. # On by default. Think very hard before turning this off. archive = 1 # Where should archived files go ? # Remember to back up this directory regularly! archive_dir = "/etc/lvm/archive" # What is the minimum number of archive files you wish to keep ? retain_min = 10 # What is the minimum time you wish to keep an archive file for ? retain_days = 30 } # Settings for the running LVM2 in shell (readline) mode. shell { # Number of lines of history to store in ~/.lvm_history history_size = 100 } # Miscellaneous global LVM2 settings global { # The file creation mask for any files and directories created. # Interpreted as octal if the first digit is zero. umask = 077 # Allow other users to read the files #umask = 022 # Enabling test mode means that no changes to the on disk metadata # will be made. Equivalent to having the -t option on every # command. Defaults to off. test = 0 # Default value for --units argument units = "h" # Since version 2.02.54, the tools distinguish between powers of # 1024 bytes (e.g. KiB, MiB, GiB) and powers of 1000 bytes (e.g. # KB, MB, GB). # If you have scripts that depend on the old behaviour, set this to 0 # temporarily until you update them. si_unit_consistency = 1 # Whether or not to communicate with the kernel device-mapper. # Set to 0 if you want to use the tools to manipulate LVM metadata # without activating any logical volumes. # If the device-mapper kernel driver is not present in your kernel # setting this to 0 should suppress the error messages. activation = 1 # If we can't communicate with device-mapper, should we try running # the LVM1 tools? # This option only applies to 2.4 kernels and is provided to help you # switch between device-mapper kernels and LVM1 kernels. # The LVM1 tools need to be installed with .lvm1 suffices # e.g. vgscan.lvm1 and they will stop working after you start using # the new lvm2 on-disk metadata format. # The default value is set when the tools are built. # fallback_to_lvm1 = 0 # The default metadata format that commands should use - "lvm1" or "lvm2". # The command line override is -M1 or -M2. # Defaults to "lvm2". # format = "lvm2" # Location of proc filesystem proc = "/proc" # Type of locking to use. Defaults to local file-based locking (1). # Turn locking off by setting to 0 (dangerous: risks metadata corruption # if LVM2 commands get run concurrently). # Type 2 uses the external shared library locking_library. # Type 3 uses built-in clustered locking. # Type 4 uses read-only locking which forbids any operations that might # change metadata. locking_type = 1 # Set to 0 to fail when a lock request cannot be satisfied immediately. wait_for_locks = 1 # If using external locking (type 2) and initialisation fails, # with this set to 1 an attempt will be made to use the built-in # clustered locking. # If you are using a customised locking_library you should set this to 0. fallback_to_clustered_locking = 1 # If an attempt to initialise type 2 or type 3 locking failed, perhaps # because cluster components such as clvmd are not running, with this set # to 1 an attempt will be made to use local file-based locking (type 1). # If this succeeds, only commands against local volume groups will proceed. # Volume Groups marked as clustered will be ignored. fallback_to_local_locking = 1 # Local non-LV directory that holds file-based locks while commands are # in progress. A directory like /tmp that may get wiped on reboot is OK. locking_dir = "/var/lock/lvm" # Whenever there are competing read-only and read-write access requests for # a volume group's metadata, instead of always granting the read-only # requests immediately, delay them to allow the read-write requests to be # serviced. Without this setting, write access may be stalled by a high # volume of read-only requests. # NB. This option only affects locking_type = 1 viz. local file-based # locking. prioritise_write_locks = 1 # Other entries can go here to allow you to load shared libraries # e.g. if support for LVM1 metadata was compiled as a shared library use # format_libraries = "liblvm2format1.so" # Full pathnames can be given. # Search this directory first for shared libraries. # library_dir = "/lib" # The external locking library to load if locking_type is set to 2. # locking_library = "liblvm2clusterlock.so" # Treat any internal errors as fatal errors, aborting the process that # encountered the internal error. Please only enable for debugging. abort_on_internal_errors = 0 # If set to 1, no operations that change on-disk metadata will be permitted. # Additionally, read-only commands that encounter metadata in need of repair # will still be allowed to proceed exactly as if the repair had been # performed (except for the unchanged vg_seqno). # Inappropriate use could mess up your system, so seek advice first! metadata_read_only = 0 } activation { # Set to 0 to disable udev synchronisation (if compiled into the binaries). # Processes will not wait for notification from udev. # They will continue irrespective of any possible udev processing # in the background. You should only use this if udev is not running # or has rules that ignore the devices LVM2 creates. # The command line argument --nodevsync takes precedence over this setting. # If set to 1 when udev is not running, and there are LVM2 processes # waiting for udev, run 'dmsetup udevcomplete_all' manually to wake them up. udev_sync = 1 # Set to 0 to disable the udev rules installed by LVM2 (if built with # --enable-udev_rules). LVM2 will then manage the /dev nodes and symlinks # for active logical volumes directly itself. # N.B. Manual intervention may be required if this setting is changed # while any logical volumes are active. udev_rules = 1 # How to fill in missing stripes if activating an incomplete volume. # Using "error" will make inaccessible parts of the device return # I/O errors on access. You can instead use a device path, in which # case, that device will be used to in place of missing stripes. # But note that using anything other than "error" with mirrored # or snapshotted volumes is likely to result in data corruption. missing_stripe_filler = "error" # How much stack (in KB) to reserve for use while devices suspended reserved_stack = 256 # How much memory (in KB) to reserve for use while devices suspended reserved_memory = 8192 # Nice value used while devices suspended process_priority = -18 # If volume_list is defined, each LV is only activated if there is a # match against the list. # "vgname" and "vgname/lvname" are matched exactly. # "@tag" matches any tag set in the LV or VG. # "@*" matches if any tag defined on the host is also set in the LV or VG # # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] # Size (in KB) of each copy operation when mirroring mirror_region_size = 512 # Setting to use when there is no readahead value stored in the metadata. # # "none" - Disable readahead. # "auto" - Use default value chosen by kernel. readahead = "auto" # 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define # how a device failure affecting a mirror is handled. # A mirror is composed of mirror images (copies) and a log. # A disk log ensures that a mirror does not need to be re-synced # (all copies made the same) every time a machine reboots or crashes. # # In the event of a failure, the specified policy will be used to determine # what happens. This applies to automatic repairs (when the mirror is being # monitored by dmeventd) and to manual lvconvert --repair when # --use-policies is given. # # "remove" - Simply remove the faulty device and run without it. If # the log device fails, the mirror would convert to using # an in-memory log. This means the mirror will not # remember its sync status across crashes/reboots and # the entire mirror will be re-synced. If a # mirror image fails, the mirror will convert to a # non-mirrored device if there is only one remaining good # copy. # # "allocate" - Remove the faulty device and try to allocate space on # a new device to be a replacement for the failed device. # Using this policy for the log is fast and maintains the # ability to remember sync state through crashes/reboots. # Using this policy for a mirror device is slow, as it # requires the mirror to resynchronize the devices, but it # will preserve the mirror characteristic of the device. # This policy acts like "remove" if no suitable device and # space can be allocated for the replacement. # # "allocate_anywhere" - Not yet implemented. Useful to place the log device # temporarily on same physical volume as one of the mirror # images. This policy is not recommended for mirror devices # since it would break the redundant nature of the mirror. This # policy acts like "remove" if no suitable device and space can # be allocated for the replacement. mirror_log_fault_policy = "allocate" mirror_image_fault_policy = "remove" # 'snapshot_autoextend_threshold' and 'snapshot_autoextend_percent' define # how to handle automatic snapshot extension. The former defines when the # snapshot should be extended: when its space usage exceeds this many # percent. The latter defines how much extra space should be allocated for # the snapshot, in percent of its current size. # # For example, if you set snapshot_autoextend_threshold to 70 and # snapshot_autoextend_percent to 20, whenever a snapshot exceeds 70% usage, # it will be extended by another 20%. For a 1G snapshot, using up 700M will # trigger a resize to 1.2G. When the usage exceeds 840M, the snapshot will # be extended to 1.44G, and so on. # # Setting snapshot_autoextend_threshold to 100 disables automatic # extensions. The minimum value is 50 (A setting below 50 will be treated # as 50). snapshot_autoextend_threshold = 100 snapshot_autoextend_percent = 20 # While activating devices, I/O to devices being (re)configured is # suspended, and as a precaution against deadlocks, LVM2 needs to pin # any memory it is using so it is not paged out. Groups of pages that # are known not to be accessed during activation need not be pinned # into memory. Each string listed in this setting is compared against # each line in /proc/self/maps, and the pages corresponding to any # lines that match are not pinned. On some systems locale-archive was # found to make up over 80% of the memory used by the process. # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ] # Set to 1 to revert to the default behaviour prior to version 2.02.62 # which used mlockall() to pin the whole process's memory while activating # devices. use_mlockall = 0 # Monitoring is enabled by default when activating logical volumes. # Set to 0 to disable monitoring or use the --ignoremonitoring option. monitoring = 1 # When pvmove or lvconvert must wait for the kernel to finish # synchronising or merging data, they check and report progress # at intervals of this number of seconds. The default is 15 seconds. # If this is set to 0 and there is only one thing to wait for, there # are no progress reports, but the process is awoken immediately the # operation is complete. polling_interval = 15 } #################### # Advanced section # #################### # Metadata settings # # metadata { # Default number of copies of metadata to hold on each PV. 0, 1 or 2. # You might want to override it from the command line with 0 # when running pvcreate on new PVs which are to be added to large VGs. # pvmetadatacopies = 1 # Default number of copies of metadata to maintain for each VG. # If set to a non-zero value, LVM automatically chooses which of # the available metadata areas to use to achieve the requested # number of copies of the VG metadata. If you set a value larger # than the the total number of metadata areas available then # metadata is stored in them all. # The default value of 0 ("unmanaged") disables this automatic # management and allows you to control which metadata areas # are used at the individual PV level using 'pvchange # --metadataignore y/n'. # vgmetadatacopies = 0 # Approximate default size of on-disk metadata areas in sectors. # You should increase this if you have large volume groups or # you want to retain a large on-disk history of your metadata changes. # pvmetadatasize = 255 # List of directories holding live copies of text format metadata. # These directories must not be on logical volumes! # It's possible to use LVM2 with a couple of directories here, # preferably on different (non-LV) filesystems, and with no other # on-disk metadata (pvmetadatacopies = 0). Or this can be in # addition to on-disk metadata areas. # The feature was originally added to simplify testing and is not # supported under low memory situations - the machine could lock up. # # Never edit any files in these directories by hand unless you # you are absolutely sure you know what you are doing! Use # the supplied toolset to make changes (e.g. vgcfgrestore). # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ] #} # Event daemon # dmeventd { # mirror_library is the library used when monitoring a mirror device. # # "libdevmapper-event-lvm2mirror.so" attempts to recover from # failures. It removes failed devices from a volume group and # reconfigures a mirror as necessary. If no mirror library is # provided, mirrors are not monitored through dmeventd. mirror_library = "libdevmapper-event-lvm2mirror.so" # snapshot_library is the library used when monitoring a snapshot device. # # "libdevmapper-event-lvm2snapshot.so" monitors the filling of # snapshots and emits a warning through syslog when the use of # the snapshot exceeds 80%. The warning is repeated when 85%, 90% and # 95% of the snapshot is filled. snapshot_library = "libdevmapper-event-lvm2snapshot.so" # Full path of the dmeventd binary. # # executable = "/sbin/dmeventd" }
Annexe C. Les balises des objets LVM
database
.
lvs @database
C.1. Ajout et suppression des balises d'objets
--addtag
ou --deltag
de la commande pvchange
.
--addtag
ou --deltag
des commandes vgchange
ou vgcreate
.
--addtag
ou --deltag
des commandes lvchange
ou lvcreate
.
--addtag
et --deltag
dans une commande pvchange
, vgchange
, ou lvchange
unique. Par exemple, la commande suivante supprime les balises T9
et T10
et ajoute les balises T13
et T14
au groupe de volumes grant
.
vgchange --deltag T9 --deltag T10 --addtag T13 --addtag T14 grant
C.2. Les balises hôtes
hosttags = 1
dans la section tags
, une balise hôte est automatiquement définie en utilisant le nom d'hôte de la machine. Ceci vous permet d'utiliser un fichier de configuration commun qui peut être répliqué sur toutes vos machines afin qu'elles comportent toutes une copie identique du fichier, mais le comportement peut être différent entre les machines en fonction du nom d'hôte.
tag1
et définit tag2
si le nom d'hôte est host1
.
tags { tag1 { } tag2 { host_list = ["host1"] } }
C.3. Contrôle d'activation avec les balises
vgchange -ay
) et active seulement le volume vg1/lvol0
et tout autre volume logique ou groupe de volumes avec la balise database
dans les métadonnées.
activation { volume_list = ["vg1/lvol0", "@database" ] }
tags { hosttags = 1 }
vg1/lvol2
, seulement sur l'hôte db2
, suivez les instructions suivantes :
- Exécutez
lvchange --addtag @db2 vg1/lvol2
sur n'importe quel hôte du cluster. - Exécutez
lvchange -ay vg1/lvol2
.
Annexe D. Métadonnées des groupes de volumes LVM
--metadatacopies 0
de la commande pvcreate
. Une fois que vous aurez sélectionné le nombre de copies de métadonnées que le volume physique peut contenir, vous ne pourrez plus changer cette valeur. La sélection de 0 copie peut résulter en des mises à jour plus rapides sur les changements de configuration. Notez, cependant, que chaque groupe de volumes doit contenir en permanence au moins un volume physique avec une zone de métadonnées (à moins que vous utilisiez des paramètres de configuration avancés qui vous permettent de stocker les métadonnées du groupe de volumes dans un système de fichiers). Si par la suite vous avez l'intention de partager le groupe de volumes, chaque groupe de volumes doit avoir au moins une copie des métadonnées.
--metadatasize
de la commande pvcreate
. La taille par défaut est trop petite pour les groupes de volumes ayant beaucoup de volumes logiques ou physiques.
D.1. L'étiquette du volume physique
pvcreate
place l'étiquette du volume physique dans le deuxième secteur de 512 octets. Cette étiquette peut optionnellement être placée dans un des 4 premiers secteurs, étant donné que les outils LVM recherchant une étiquette de volume physique vérifient les 4 premiers secteurs. L'étiquette d'un volume physique commence avec la chaîne de caractères LABELONE
.
- L'UUID du volume physique
- La taille des périphériques blocs en octets
- Une liste terminant par NULL d'emplacements de zone de données
- Des listes terminant par NULL d'emplacements de zone de métadonnées
D.2. Contenu des métadonnées
- Des informations à propos de la façon dont elles ont été créées et quand
- Des informations à propos du groupe de volumes :
- Le nom et l'identifiant unique
- Un numéro de version qui est incrémenté à chaque fois que les métadonnées sont mises à jour.
- Des propriétés : Lecture/Écriture ? Redimensionnable ?
- Toute limite d'administration du nombre de volumes physiques et logiques qu'il peut contenir
- La taille d'extension (en unités de secteurs qui sont définis comme 512 octets)
- Une liste non ordonnée de volumes physiques qui forment le groupe de volumes, chaque volume avec :
- Son UUID, utilisé pour déterminer le périphérique bloc le contenant
- Toute propriété, par exemple une propriété indiquant si le volume physique est allouable
- L'offset au départ de la première extension au sein du volume physique (en secteurs)
- Le nombre d'extensions
- Une liste non ordonnée de volumes logiques. Chaque volume consiste en :
- Une liste ordonnée de segments de volumes logiques. Pour chaque segment, les métadonnées incluent un mappage appliqué à une liste ordonnée de segments de volumes physiques ou logiques.
D.3. Échantillon de métadonnées
myvg
.
# Generated by LVM2: Tue Jan 30 16:28:15 2007 contents = "Text Format Volume Group" version = 1 description = "Created *before* executing 'lvextend -L+5G /dev/myvg/mylv /dev/sdc'" creation_host = "tng3-1" # Linux tng3-1 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 creation_time = 1170196095 # Tue Jan 30 16:28:15 2007 myvg { id = "0zd3UT-wbYT-lDHq-lMPs-EjoE-0o18-wL28X4" seqno = 3 status = ["RESIZEABLE", "READ", "WRITE"] extent_size = 8192 # 4 Megabytes max_lv = 0 max_pv = 0 physical_volumes { pv0 { id = "ZBW5qW-dXF2-0bGw-ZCad-2RlV-phwu-1c1RFt" device = "/dev/sda" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv1 { id = "ZHEZJW-MR64-D3QM-Rv7V-Hxsa-zU24-wztY19" device = "/dev/sdb" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv2 { id = "wCoG4p-55Ui-9tbp-VTEA-jO6s-RAVx-UREW0G" device = "/dev/sdc" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv3 { id = "hGlUwi-zsBg-39FF-do88-pHxY-8XA2-9WKIiA" device = "/dev/sdd" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } } logical_volumes { mylv { id = "GhUYSF-qVM3-rzQo-a6D2-o0aV-LQet-Ur9OF9" status = ["READ", "WRITE", "VISIBLE"] segment_count = 2 segment1 { start_extent = 0 extent_count = 1280 # 5 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv0", 0 ] } segment2 { start_extent = 1280 extent_count = 1280 # 5 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv1", 0 ] } } } }
Annexe E. Historique des révisions
Historique des versions | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version 1-4.400 | 2013-10-31 | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Version 1-4 | 2012-07-18 | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Version 2.0-1 | Thu May 19 2011 | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Version 1.0-1 | Wed Nov 10 2010 | ||||||||||||||||||||||||||
|
Index
Symboles
- /lib/udev/rules.d directory, Intégration udev avec le mappeur de périphériques
A
- activation des groupes de volumes, Activation et désactivation des groupes de volumes
- noeud local uniquement, Activation et désactivation des groupes de volumes
- noeuds individuels, Activation et désactivation des groupes de volumes
- activation des volumes logiques
- noeuds individuels, Activation des volumes logiques sur les noeuds individuels d'un cluster
- affichage
- groupe de volumes, Affichage des groupes de volumes, La commande vgs
- trier la sortie, Trier des rapports LVM
- volume logique, Affichage de volumes logiques, La commande lvs
- volumes physiques, Affichage des volumes physiques, La commande pvs
- affichage de l'aide, Utilisation des commandes CLI
- affichage de la page man, Utilisation des commandes CLI
- allocation
- empêcher, Empêcher l'allocation sur un volume physique
- politique, Création de groupes de volumes
- analyse
- périphériques blocs, Recherche de périphériques blocs
- analyse des périphériques, filtres, Contrôler l'analyse des périphériques LVM avec les filtres
- aperçu
- fonctionnalités nouvelles et modifiées, Nouvelles fonctionnalités et fonctionnalités modifiées
C
- CLVM
- clvmd démon, Le gestionnaire de volumes logiques LVM en cluster (CLVM)
- commande lvmdiskscan, Recherche de périphériques blocs
- commande pvscan, Affichage des volumes physiques
- commande vgcreate , Création de groupes de volumes, Création de groupes de volumes dans un cluster
- commentaires
- Informations de contact pour ce manuel, Vos commentaires sont bienvenus !
- création
- de volume logique, exemple, Création d'un volume logique LVM sur trois disques
- de volumes LVM dans un cluster, Création de volumes LVM dans un cluster
- groupe de volumes, clusterisé, Création de groupes de volumes dans un cluster
- groupes de volumes, Création de groupes de volumes
- volume logique, Création de volumes logiques linéaires
- volume logique en mode stripe, exemple, Création d'un volume logique en mode stripe
- volumes physiques, Création de volumes physiques
- création de volumes LVM
D
- déactivation des groupes de volumes
- exclusivement sur un seul noeud, Activation et désactivation des groupes de volumes
- déplacement de données en ligne, Déplacement des données en ligne
- déplacement de données, en ligne, Déplacement des données en ligne
- désactivation des groupes de volumes, Activation et désactivation des groupes de volumes
- noeud local uniquement, Activation et désactivation des groupes de volumes
E
- environnement en clusters, Le gestionnaire de volumes logiques LVM en cluster (CLVM), Création de volumes LVM dans un cluster
- étendue physique
- empêcher l'allocation, Empêcher l'allocation sur un volume physique
- exemples de configuration, Exemples de configuration LVM
- extension
- allocation, Création de groupes de volumes
- définition, Les groupes de volumes, Création de groupes de volumes
F
- Fichier archive, Sauvegarde des métadonnées d'un groupe de volumes
- fichier cache
- Fichier d'archivage, Sauvegarde d'un volume logique
- Fichier sauvegarde, Sauvegarde des métadonnées d'un groupe de volumes
- filtres, Contrôler l'analyse des périphériques LVM avec les filtres
- filtres d'analyse de périphériques, Contrôler l'analyse des périphériques LVM avec les filtres
- fonctionnalités nouvelles et modifiées, Nouvelles fonctionnalités et fonctionnalités modifiées
- format de rapport, périphériques LVM, Rapport personnalisé pour LVM
G
- groupe de volumes
- activation, Activation et désactivation des groupes de volumes
- administration générale, Administration d'un groupe de volumes
- affichage, Affichage des groupes de volumes, Rapport personnalisé pour LVM, La commande vgs
- agrandissement, Ajout de volumes physiques à un groupe de volumes
- arguments d'affichage vgs, La commande vgs
- combiner, Combinaison de groupes de volumes
- création, Création de groupes de volumes
- création dans un cluster, Création de groupes de volumes dans un cluster
- définition, Les groupes de volumes
- déplacements entre systèmes, Déplacer un groupe de volumes sur un autre système
- désactivation, Activation et désactivation des groupes de volumes
- extension, Ajout de volumes physiques à un groupe de volumes
- fusionner, Combinaison de groupes de volumes
- modification des paramètres, Changement des paramètres du groupe de volumes
- partage
- exemple de procédure, Partager un groupe de volumes
- réduction, Suppression de volumes physiques à partir d'un groupe de volumes
- renommer, Renommer un groupe de volumes
- séparation, Partager un groupe de volumes
- suppression, Suppression de groupes de volumes
I
- initialisation
- partitions, Initialisation des volumes physiques
- volume physique, Initialisation des volumes physiques
- instantané de volume logique
- création, Création d'instantanés de volumes
J
- journalisation, Journalisation
L
- La commande lvchange, Changement des paramètres d'un groupe de volumes logiques
- La commande lvconvert, Changement de la configuration du volume en miroir
- La commande lvcreate, Création de volumes logiques linéaires
- La commande lvdisplay, Affichage de volumes logiques
- La commande lvextend, Augmentez la taille des volumes logiques
- La commande lvreduce, Redimensionnement des volumes logiques, Réduire la taille des volumes logiques
- La commande lvremove, Suppression de volumes logiques
- La commande lvrename, Renommer les volumes logiques
- La commande lvs, Rapport personnalisé pour LVM, La commande lvs
- arguments d'affichage, La commande lvs
- La commande lvscan, Affichage de volumes logiques
- La commande pvdisplay, Affichage des volumes physiques
- La commande pvmove, Déplacement des données en ligne
- La commande pvremove, Suppression de volumes physiques
- La commande pvresize, Redimensionnement de volumes physiques
- La commande pvs, Rapport personnalisé pour LVM
- arguments d'affichage, La commande pvs
- La commande vgcfbackup, Sauvegarde des métadonnées d'un groupe de volumes
- La commande vgcfrestore, Sauvegarde des métadonnées d'un groupe de volumes
- La commande vgchange, Changement des paramètres du groupe de volumes
- La commande vgdisplay, Affichage des groupes de volumes
- La commande vgexport, Déplacer un groupe de volumes sur un autre système
- La commande vgextend, Ajout de volumes physiques à un groupe de volumes
- La commande vgimport, Déplacer un groupe de volumes sur un autre système
- La commande vgmerge, Combinaison de groupes de volumes
- La commande vgmknodes, Recréation du répertoire d'un groupe de volumes
- La commande vgreduce, Suppression de volumes physiques à partir d'un groupe de volumes
- La commande vgrename, Renommer un groupe de volumes
- La commande vgs, Rapport personnalisé pour LVM
- arguments d'affichage , La commande vgs
- La commande vgscan, Analyse des disques pour les groupes de volumes afin de construire le fichier de cache
- La commande vgsplit, Partager un groupe de volumes
- LVM
- administration des volumes logiques, Administration de volumes logiques
- administration du volume physique, Administration de volumes physiques
- aide, Utilisation des commandes CLI
- aperçu de l'architecture, Aperçu de l'architecture LVM
- clusterisé, Le gestionnaire de volumes logiques LVM en cluster (CLVM)
- composants, Aperçu de l'architecture LVM, Composants LVM
- étiquette, Les volumes physiques
- format de rapport personnalisé, Rapport personnalisé pour LVM
- groupe de volumes, définition, Les groupes de volumes
- historique, Aperçu de l'architecture LVM
- journalisation, Journalisation
- structure de répertoire, Création de groupes de volumes
- volume physique, définition, Les volumes physiques
- LVM1, Aperçu de l'architecture LVM
- LVM2, Aperçu de l'architecture LVM
M
- Message "Insufficient Free Extents", Extensions libres insuffisantes pour un volume logique
- métadonnées
N
- noms des chemins, Utilisation des commandes CLI
- noms des chemins de périphériques, Utilisation des commandes CLI
- numéros de périphérique persistants, Numéros de périphérique persistants
- numéros des périphériques
- majeur, Numéros de périphérique persistants
- mineur, Numéros de périphérique persistants
- persistant, Numéros de périphérique persistants
P
- paramètre de configuration mirror_image_fault_policy, Politique en cas d'échec des volumes logiques en miroir
- paramètre de configuration mirror_log_fault_policy, Politique en cas d'échec des volumes logiques en miroir
- partitions
- multiples, Plusieurs partitions sur un disque
- périphérique bloc
- analyse, Recherche de périphériques blocs
- périphériques ayant échoué
- Affichage d'informations, Affichage d'informations à propos des périphériques ayant échoué.
- procédures d'administration, Aperçu de l'administration LVM
R
- redimensionnement
- volume logique, Redimensionnement des volumes logiques
- volume physique, Redimensionnement de volumes physiques
- rennomer
- groupe de volumes, Renommer un groupe de volumes
- renommer
- volume logique, Renommer les volumes logiques
- répertoire des fichiers spéciaux de périphériques, Création de groupes de volumes
- résolution de problèmes, Résolution de problèmes LVM
- rules.d directory, Intégration udev avec le mappeur de périphériques
S
- sauvegarde
- sortie verbeuse, Utilisation des commandes CLI
- suppression
- d'un disque du volume logique, Suppression d'un disque du volume logique
- volume logique, Suppression de volumes logiques
- supprimer
- volumes physiques, Suppression de volumes physiques
- système de fichiers
- extensible sur un volume logique, Augmentation de la taille d'un système de fichiers sur un volume logique
- système de fichiers extensible
T
- taille du périphérique, maximum, Création de groupes de volumes
- type de partition, paramètre, Paramétrage du type de partition
U
- udev device manager, Prise en charge du mappeur de périphériques pour le gestionnaire de périphériques udev
- udev rules, Intégration udev avec le mappeur de périphériques
- unités de ligne de commande, Utilisation des commandes CLI
- unités, ligne de commande, Utilisation des commandes CLI
V
- volume instantané
- définition, Les volumes d'instantanés
- volume logique
- accès exclusif, Activation des volumes logiques sur les noeuds individuels d'un cluster
- accès local, Activation des volumes logiques sur les noeuds individuels d'un cluster
- affichage, Affichage de volumes logiques, Rapport personnalisé pour LVM, La commande lvs
- arguments d'affichage lvs, La commande lvs
- augmenter, Augmentez la taille des volumes logiques
- création, Création de volumes logiques linéaires
- définition, Volumes logiques, Les volumes logiques LVM
- en miroir, Création de volumes en miroir
- exemple de création, Création d'un volume logique LVM sur trois disques
- extension, Augmentez la taille des volumes logiques
- instantané, Création d'instantanés de volumes
- linéaire, Création de volumes logiques linéaires
- mode stripe, Création de volumes en mode stripe
- modifier les paramètres, Changement des paramètres d'un groupe de volumes logiques
- redimensionnement, Redimensionnement des volumes logiques
- réduction, Réduire la taille des volumes logiques
- renommer, Renommer les volumes logiques
- suppression, Suppression de volumes logiques
- volume logique en miroir
- convertir en linéaire, Changement de la configuration du volume en miroir
- création, Création de volumes en miroir
- définition, Les volumes logiques en miroir
- politique d'échec, Politique en cas d'échec des volumes logiques en miroir
- reconfiguration, Changement de la configuration du volume en miroir
- volume logique en mode stripe
- création, Création de volumes en mode stripe
- définition, Les volumes logiques en mode stripe
- exemple de création, Création d'un volume logique en mode stripe
- volume logique en stripe
- volume logique linéaire
- convertir en miroir, Changement de la configuration du volume en miroir
- création, Création de volumes logiques linéaires
- définition, Les volumes linéaires
- volume logique miroir
- en cluster, Création d'un volume logique LVM miroir dans un cluster
- récupération après incident, Récupération suite à un échec miroir LVM
- volume physique
- administration, générale, Administration de volumes physiques
- affichage, Affichage des volumes physiques, Rapport personnalisé pour LVM, La commande pvs
- ajouter à un groupe de volumes, Ajout de volumes physiques à un groupe de volumes
- arguments d'affichage pvs, La commande pvs
- création, Création de volumes physiques
- définition, Les volumes physiques
- illustration, Structure d'un volume physique LVM
- initialisation, Initialisation des volumes physiques
- récupération, Remplacement d'un volume physique manquant
- redimensionnement, Redimensionnement de volumes physiques
- structure, Structure d'un volume physique LVM
- suppression du groupe de volumes, Suppression de volumes physiques à partir d'un groupe de volumes
- suppression du volume perdu, Supprimer les volumes physiques perdus d'un groupe de volumes
- supprimer, Suppression de volumes physiques
- volumes logiques
- administration générale, Administration de volumes logiques