Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
25 avril 2017

htmlpdflatexmanmd




cache_check

cache_check

réparer les métadonnées cache

OPTIONS

-q, --quiet mode silencieux
--super-block-only Ne vérifie que la présence du superbloc
--skip-mappings ne vérifie pas le mappage de block qui constitue la majeur partie des métadonnées
--skip-hints Ne vérifie pas les valeurs de stratégie des métadonnées
--skip-discards Ne vérifie pas les bits discard dans les métadonnées
^
25 avril 2017

htmlpdflatexmanmd




cache_dump

cache_dump

dump les métadonnées cache du périphérique sur stdout

OPTIONS

-r, --repair Répare les métadonnée durant le dump
^
25 avril 2017

htmlpdflatexmanmd




cache_repair

cache_repair

Répare les métadonnées cache

OPTIONS

-i, --input {device|file} Fichier ou périphérique d'entrée
-o, --output {device|file} fichier ou périphérique de sortie. Si un fichier est utilisé, il doit être préalloué et suffisamment grand pour maintenir les métadonnées
^
25 avril 2017

htmlpdflatexmanmd




cache_restore

cache_restore

restaure le fichier de métadonnées de cache

OPTIONS

-i, --input {device|file} Fichier ou périphérique d'entrée
-o, --output {device|file} fichier ou périphérique de sortie. Si un fichier est utilisé, il doit être préalloué et suffisamment grand pour maintenir les métadonnées
{--debug-override-metadata-version} ‹integer› spécifie la version des métadonnées. pour débuggage.
^
06 juin 2016

htmlpdflatexmanmd




clvmd

clvmd

Service de cluster LVM

   clvmd est le service qui distribut les mises à jours de métadonnées LVM dans le cluster. Il doit être lancé sur tous les nœuds dans le cluster et affiche une erreur si un nœud du cluster n'a pas ce service.

OPTIONS

-C Seulement valide avec -d. Indique à tous les clvmd dans le cluster d'activer/désactiver le débug. Sans cette option, seule le service local est concerné.
-d [value] Définis le niveau de log de débuggage (0, désactivé, 1 envoie sur stderr, 2 envoie à syslog)
lock_uuid uuid de lock à ré-acquérir exclusivement quand clvmd est redémarré
-F Ne lance pas en tâche de fond
-I cluster_manager Sélectionne le gestionnaire de cluster à utiliser pour les locks et les communications internes. Il est possible d'avoir plusieurs gestionnaires disponible, cette option permet d'empêcher la recherche. Par défaut, auto utiliser le premier gestionnaire qui réussit, et les vérifie dans un ordre prédéfinis cman, corosync, openais. Les gestionnaires disponibles seront listés dans l'ordre via clvmd -h.
-R Indique à toutes les instance de clvmd dans le cluster de recharger leur cache de périphérique et re-lire la configuration lvm.
-S Indique à clvmd de quitter et se ré-exécuter.
-t timeout timeout pour les commandes à lancer dans le cluster. (défaut: 60 secondes)
-T start_timeout timeout de démarrage du service. Défaut: 0 (pas de délai). ignoré avec -d

Variables d'environnements

LVM_CLVMD_BINARY emplacement du binaire clvmd. Défaut: /usr/sbin/clvmd
LVM_BINARY binaire lvm2 à utiliser. Défaut: /sbin/lvm
^
16 juin 2016

htmlpdflatexmanmd




cmirrord

cmirrord

Service de log des mirroirs en cluster

   cmirrord est le service qui surveille les informations de log mirroir dans un cluster. C'est spécifique aux mirroirs basés sur DM.

   Ce service s'assure que l'infrastructure cluster fournie par le gestionnaire de cluster (CMAN), qui doit être fonctionnel pour que cmirrord puisse fonctionner. La sortie est loggée via syslog.

OPTIONS

-f, --foreground Ne lance pas en tâche de fond, log sur le terminal
^
16 juin 2016

htmlpdflatexmanmd




dmeventd

dmeventd

Service d'événements Device-mapper

   dmeventd est le service de supervision d'événements pour les périphériques dm. Les librairies peuvent s'enregistrer et gérer les actions quand des événements particuliers se produisent.

LVM plugins

Mirror Tente le gérer les erreurs disque automatiquement
Raid Tente le gérer les erreurs disque automatiquement
Snapshot Supervise la taille d'un snapshot et émet une alerte à syslog quand il excède 80%, répété à 85%, 90% et 95%.
Thin Supervise la taille d'un pool thin et émet une alerte à syslog quand il excède 80%, répété à 85%, 90% et 95%.

OPTIONS

-d, -dd, -ddd Augmente les détailles des messages de debuggage envoyés à syslog.
-F Ne lance pas en tâche de fond
-l Uniquement avec -f. Log sur stdout et stderr au lieu de syslog.
-R Remplace une instance dmeventd en cours de fonctionnement
^
25 avril 2017

htmlpdflatexmanmd




dmevent_tool

dmevent_tool

Utilitaire pour (dé)enregistrer les DSO avec dmeventd

OPTIONS

-m[r|u] Liste tous les périphériques dm actifs enregistrés (r), ou désenregistrés (u)
-a[r|u] Idem pour pour des périphériques avec UUID uniquement.
-r Enregistre un périphérique avec dmeventd
-u Désenregistre un périphérique avec dmeventd
^
23 mai 2016

htmlpdflatexmanmd




fsadm

fsadm

Utilitaire pour redimensionner ou vérifier le système de fichier dans un périphérique. Il tente d'utiliser la même API pour ext2/3/4, ReiserFS et XFS

OPTIONS

-e, --ext-offline Démonte les systèmes de fichier ext2/3/4 avant de redimensionner
-f, --force bypasse certaines vérifications
-n, --dry-run Affiche les commandes sans les lancer
-v, --verbose mode verbeux
-y, --yes Répond yes a toutes les questions
new_size[B|K|M|G|T|P|E] Nombre absolue de blocks de système de fichier dans le système de fichier, ou une taille absolue utilisant un suffix en puissance de 1024.

Diagnostiques

   Une fois complété avec succès, le code de status est 0. 2 indique que l'opération a été intérrompue par l'utilisateur. 3 indique que l'opération de vérification en peut pas être effectuée parce que le système de fichier est monté et ne supporte pas un fsck online. 1 indique une autre erreur.

Variables d'environnement

TMPDIR Répertoire temporaire pour les points de montage (défaut. /tmp)
DM_DEV_DIR Nom du répertoire de périphériques. Défaut: /dev.
^
15 juin 2016

htmlpdflatexmanmd




lvchange

lvchange

Changer les attributs d'un volume logique

OPTIONS

-a|--activate [a][e|s|l]{y|n} Contrôle la disponibilité des volumes logiques à utiliser immédiatement après que la commande soit terminées. Par défaut, les nouveaux volumes logiques sont activés (-ay). -an laisse le nouveau volume logique inactif si possible. -aay, l'autoactivation est gérée avec un match dans activation/auto_activation_volume_list dans lvm.conf. -aey active exclusivement sur un nœud et -a{a|l}y active seulement sur le nœud local.
--activationmode {complete|degraded|partial} Le mode d'activation détermine si les volumes logiques sont autorisés à être activés quand il y a des volumes physiques manquant. complete est le plus restrictif. degraded autorise les LV RAID même si des PV sont manquant (mirror n'est pas considéré comme LV raid). partial permet d'activer tout LV même si des portions sont manquants
--addtag Tag Ajoute le tag spécifié. Peut être spécifié plusieurs fois
-K|--ignoreactivationskip Ignore le flag skip des LV durant l'activation.
-k|--setactivationskip {y|n} Contrôle si les volumes logiques sont flaggés pour être ignoré à l'activation. --ignoreactivationskip doit être utilisé. Le flag n'est pas appliqué durant la désactivation. Utiliser lvchange --setactivationskil pour changer le flag skip. voir activation/auto_set_activation_skip dans lvm.conf.
--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--cachepolicy Policy Seulement pour les LV cache. Définis la stratégie de cache. mq est la stratégie de base, smq est plus avancé
--cachesettings Key=Value Seulement pour les LV cache. Définis les paramètres cache.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-C|--contiguous {y|n}
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--deltag Tag
--detachprofile
--discards {ignore|nopassdown|passdown}
--errorwhenfull {y|n}
--ignorelockingfailure
--ignoremonitoring Ne tente pas d'interragir avec dmeventd sauf si --monitor est spécifié
--ignoreskippedcluster
--metadataprofile ProfileName Sélectionne le profile de configuration des métadonnées à utiliser
--monitor {y|n} Active le monitoring d'un mirroir, snapshot ou pool thin avec dmeventd si installé. Si un périphérique utilisé par un mirroir monitoré reporte une erreur d'E/S, l'erreur est gérée en accord avec activation/mirror_image_fault_policy et activation/mirror_log_fault_policy dans lvm.conf
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-P|--partial
-p|--permission {r|rw} Définis les permissions d'accès. Défaut: rw
-M|--persistent {y|n} [--major Major] [--minor Minor] À yes, le numéro mineur est persistant. Les volumes pool ne peuvent pas avoir de numéros mineur et majeur persistants. Définis le numéro majeur et mineur. Non supporté avec les volumes pools. Ignoré avec les kernels récents
--poll {y|n} Sans le polling de transformation en tâche de fond d'un volume logique le processus ne se complète jamais. S'il y a un pvmove ou lvconvert incomplet, utiliser --poll y pour relancer le processus.
--[raid]maxrecoveryrate Rate Définis le taux de récupération maximum pour un volume RAID. Le taux est spécifié comme quantité par seconde pour chaque périphérique dans l'array.
--[raid]minrecoveryrate Rate éfinis le taux de récupération minimum pour un volume RAID. Le taux est spécifié comme quantité par seconde pour chaque périphérique dans l'array.
--[raid]syncaction {check|repair} Utilisé pour initialiser diverses opérations de synchronisation RAID. check et repair fournissent un moyen de vérifier l'intégrité du lv RAID.
--[raid]writebehind IOCount Nombre maximum d'écritures en suspend permis dans les périphériques dans un RAID1 marqué write-mostly. Une fois cette valeur atteinte, les écritures deviennent synchrones. À 0, permet au système de choisir la valeur arbitrairement.
--[raid]writemostly PhysicalVolume[:{y|n|t}] Marque un périphérique RAID1 en write-mostly. Toutes les lectures sur des périphériques sont évités sauf si nécessaire.
-r|--readahead {ReadAheadSectors|auto|none} Définis le compteur de secteur read ahead de ce volume logique.
--refresh Si le lv est actif, recharche ses métadonnées.
--resync Force une resynchronisation complète d'un mirroir.
-S|--select Selection Critère de sélection
--sysinit Indique que lvchange est invoqué à l'initialisation du système, avant que les systèmes de fichiers accessible en écriture soient disponibles. Équivalent à --ignorelockingfailure --ignoremonitoring --poll n et définir LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES
-t|--test Lance en mode test
-v|--verbose Mode verbeux
-Z|--zero {y|n} Définis le mode de provisionnement pour les pool thin.

Variables d'environnement

LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES Supprime les messages d'erreur de lock

Exemples

Change les permissions dans le volume lvol1 dans le vg vg00
lvchange -pr vg00/lvol1
^
06 juin 2016

htmlpdflatexmanmd




lvconvert

lvconvert

Convertis un volume logique lineaire vers un mirroir ou snapshot

   lvconvert est utilisé pour changer le type de segment ou les caractéristiques d'un volume logique. Par exemple, il peut ajouter ou supprimer les images redondantes d'un volume logique, changer le type de log d'un mirroir, ou désigner un volume logique comme dépôt de snapshot.

   Si la conversion nécessite l'allocation d'extents physique, l'allocation sera restreinte à ces extents physique. Si la conversion libère des extents physiques et qu'un ou plusieurs PV sont spécifiés, les extents physiques sont d'abords libérés depuis ces PV.

opérations

   Une seule de ces option est requise:

--cache, -H, --type cache Convertis un volume logique en LV cache avec l'utilisation d'un pool cache spécifié avec --cachepool.
--corelog identique à --mirrolog core
--merge Fusionne un snapshot dans son volume d'origine ou fusionne une image raid1 (qui a été splitée de son mirroir avec --trackchanges) dans son mirroir. Si les 2 volumes ne sont pas ouverts, la fusionne démarre immédiatement. Fusionner un snapshot dans un origine qui ne peut pas être fermé et diferré à la prochaine activation du volume. Durant la fusion, les lectures et écritures de l'origine apparaîssent comme s'ils étaient dirigés dans le snapshot à fusionner. Une fois terminé, le snapshot est supprimé. Plusieurs snapshots peuvent être spécifiés sur la ligne de commande ou un @tag peut être utilisé pour spécifier plusieurs snapshots.
--mirrorlog {disk|core|mirrored} Spécifie le type de log à utiliser. Défaut: disk, qui est persistant est nécessite peut d'espace disque, généralement sur un disques séparé. Core peut être utile pour les mirroirs à durée de vie courte: il signifie que le mirroir est regénéré en copiant les données depuis le premier périphérique à chaque fois que le périphérique est actuvé. mirrored créé un log persistant qui est lui-même mirroré.
--mirrors Spécifie le degré du mirroir à créer. Par exemple "-m 1" convertis le volume logique d'origine en un mirroir avec 2 parties; c'est à dire un volume linéaire avec une copie. Il y a 2 implémentations mirroir qui correspondent aux type de segment mirroir et raid1. le type par défaut est raid1.
--repair Répare un mirroir après une erreur disque et tente de fixer les métadonnées de pool thin. Par défaut, le nombre de mirroir d'origine sera restauré si possible. -y permet de répondre automatiquement aux questions. -f permet de ne rien remplacer. --use-policies utilise la stratégie de remplacement spécifiée dans lvm.conf. La réparation des pools thin ne peut se faisre que sur les volume thin inactifs. Il n'y a pas de validation des métadonnées entre le kernel et lvm2, et nécessite un travail manuel ultérieur. Une fois réparé, les anciennes métadonnées sont disponibles dans le LV "‹pool›_meta‹n›".
--replace Supprime le PV spécifié et le remplace avec un disponible dans le VG ou depuis la liste fournie. Seulement disponible pour les types de segment raid.
--snapshot Recréé un snapshot de volumes logique après avoir été séparés en utilisant --splitsnapshot.
--split Sépare le volume logique spécifié.
--splitcache Sépare le volume logique cache du pool de cache. Avant qu'il soit sortie du cache, le cache est vidé. Le volume est ainsi laissé inutilisé et peut être utilisé pour cacher un autre volume.
--splitsnapshot Sépare le volume logique snapshot spécifié de son origine. Le volume splitté contient les chunks qui diffèrent de l'origine avec les métadonnées les décrivant. Ce volume peut être effacé et détruit avec lvremove. l'inverse de --snapshot
--splitmirrors Spécifie le nombre d'images redondantes d'un mirroir à splitter pour former un nouveau volume logique. Un nom doit être fournis pour le nouveau LV avec --name, sauf si --trackchanges est spécifié
-T, --thin, --type thin Converti le volume logique en volume logique thin du pool thin spécifié avec --thinpool. Le volume logique original est renomé en un nouveau volume logique lecture-seule. utiliser --originname pour spécifier un nom. Le volume ne peut plus être modifié tant qu'il est utilisé comme volume d'origine externe pour les zones non-provisionnées d'un volume logique thin.
--type SegmentType Utilisé pour convertir un volume logique en un autre type de segment (cache, cache-pool, raid1, snapshot, thin, ou thin-pool). En convertissant un volume logique en LV cache, l'argument --cachepool est requis. En convertissant un volume logique en LV thin, --thinpool est requis.
--uncache décache le volume logique cache spécifié. Avant que le volume devienne non-caché, le cache est vidé. à la différence avec --splitcache le volume pool cache est supprimé. Cette option est l'inverse de --cahe.

OPTIONS

-b, --background Lance en tâche de fond
--cachepolicy Policy Définis la stratégie de cache. mq est le nom de la stratégie de base. smq est plus avancé.
--cachepool CachePoolLogicalVolume{Name|Path} Cet argument est nécessaire en convertissant un volume logique en LV cache.
--cachesettings Key=Value Définis les paramètres de cache.
-c, --chunksize ChunkSize[b|B|s|S|k|K|m|M|g|G] Donne la taille de chunk pour les volumes logique snapshot, pool cache et pool thin. Pour les snapshots, la valeur doit être en puissance de 2 entre 4Kib et 512Kib. Défaut: 4. pour les cache, la valeur doit être entre 32KiB et 1GiB, défaut: 64. pour les pools thin, la valeur doit être entre 64KiB et 1GiB.
--discards {ignore|nopassdown|passdown} Traitement des annulations par la couche thin dans le kernel et passé au volume physique.
-i, --interval ‹seconds› Interval d'affichage de la progression en %
--name Le nom à appliquer à un volume logique qui a été splitté depuis un volume logique mirroir
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
--oniginname NewExternalOriginVolumeName Le nouveau nom pour le volume logique original, qui devient le volume origine externe pour un volume logique thin. Sans cette option, le nom par défaut est "lvol‹n›" où ‹n› est le numéro LVM interne du volume logique. Ce volume sera lecture seule est ne peut plus être modifié tant qu'il est utilisé comme origine externe.
--poolmetadata PoolMetadataLogicalVolume{Name|Path} Spécifie les métadonnées cache ou thin. La taille devrait être entre 2Mio et 16Gio. Le pool cache est spécifié avec l'option --cachepool. Le pool thin est spécifié avec l'option --thinpool. Si le pool spécifié existe déjà, les métadonnée du pool seront placées dans le volume logique. Les propriétés du poor sont préservées par défaut. Il peut être utile pour réparer les métadonnées de pool ou pour redimensionner offline.
--poolmetadatasize PoolMetadataSize[b|B|s|S|k|K|m|M|g|G] Définis la taille des métadonnées du pool thin ou cache. La valeur par défaut est estimée avec (Pool_LV_size / Pool_LV_chunk_size addentry articles autoadd autofind autoprod createalpha createbeta createdb createprod findentry fullpowa generator.php genhtml genman genmd gentex html insert man md pdf regen setfor setfor2 sql temp temp-new-pc tex threads ToDo 64bits).
--poolmetadataspare {y|n} Contrôle la création et la maintenance de métadonnées de volume logique spare utilisé pour la récupération automatique de pool. Seul un tel volume est maintenu dans un volume group avec une taille des plus grosses métadonnées de volume du pool. Défaut: yes.
-r, --readahead {ReadAheadSectors|auto|none} Définis le compteur de secteurs de readhead des métadonnées de volume logique du pool thin. Défaut: auto.
-R, --regionsize MirrorLogRegionSize Un mirroir est divisé en régions de cette taille (en Mo), et le log mirroir utilise cette granularité pour tracer quelles région sont en synchro
--stripes Indique le nombre de stripes. C'est égale au nombre de volumes physiques pour disperser le volume logique. Ne peut pas s'appliquer à un espace déjà alloué.
-I, --stripesize Indique le nombre de Ko pour la granularité des stripes. La tailles doit être une puissance de 2 mais ne peut excéder la taille d'extent physique.
--thinpool ThinPoolLogicalVolume{Name|Path} Spécifie ou convertis un volume logique en un volume de données de pool thin. Le contenu du volume convertis est perdu. Les métadonnées du volume logique du pool thin peuvent être spécifiés avec l'option --poolmetadata ou alloués avec --poolmetadatasize.
--trackchanegs Avec --splitmirrors dans un raid1, suit les changements pour que l'image lecture seul détacchée peut être fusionnée efficacement de nouveau dans le mirroir. Seul les régions du périphérique détaché où les données ont changés seront resynchronisés.
-Z, --zero {y|n} Contrôle les 0 des premiers 4Kio de données dans le snapshot. Si le volume est lecture seul, le snapshot ne sera pas mis à 0. Pour les volume thin il contrôle les 0 des blocks provisionnés. Noter que provisionner un grand nombre de chunks à 0 impacte les performances.

Exemples

Convertir le volume logique linéaire "vg00/lvol1" en volume logique mirroir:
lvconvert -m1 vg00/lvol1
Convertir le volume logique linéaire "vg00/lvol1" en volume logique RAID1:
lvconvert --type raid1 -m1 vg00/lvol1
Convertir un mirroir avec un log disque en un mirroir avec un log en mémoire:
lvconvert --mirrorlog core vg00/lvol1
Convertir un mirroir avec un log en mémoire en un mirroir avec un log disque:
lvconvert --mirrorlog disk vg00/lvol1
Convertir un volume logique mirroir en un volume logique linéaire:
lvconvert -m0 vg00/lvol1
Convertir un volume logique mirroir en un volume logique RAID1 avec le même nombre d'images:
lvconvert --type raid1 vg00/mirror_lv
Convertir le volume logique "vg00/lvol2" en snapshot du volume original "vg00/lvol1":
lvconvert -s vg00/lvol1 vg00/lvol2
Convertir un volume logique linéaire "vg00/lvol1" en mirroir, en utilisant des extents physiques /dev/sda:0-15 et /dev/sdb:0-15 pour l'allocation des nouveaux extents:
lvconvert -m1 vg00/lvol1 /dev/sda:0-15 /dev/sdb:0-15
Convertir le volume logique mirroir "vg00/lvmirror1" en linéaire, libérant les extents physiques de /dev/sda:
lvconvert -m0 vg00/lvmirror1 /dev/sda
Fusionner "vg00/lvol1_snap" dans son origine:
lvconvert --merge vg00/lvol1_snap
Si "vg00/lvol1", "vg00/lvol2" et "vg00/lvol3" sont tous taggés avec "some_tag" chaque volume logique snapshot sera fusionné en série. Si --background est utilisé il démarre la fusion des snapshots en parallèle:
lvconvert --merge @some_tag
Extrait une image du mirroir, créant un nouveau volume logique "lv_split". Le mirroir d'où l'image est extraite est réduite en accord. S'il y avait un mirroir 2-way (créé avec -m 1), le volume original résultant sera linéaire:
lvconvert --splitmirrors 1 --name lv_split vg00/lvmirror1
Un volume logique créé avec --type raid1 peut utiliser --trackchanges en splittant une image. Détacher une image du lv mirroir lv_raid1 comme périphérique lecture seul et suivre les changements:
lvconvert --splitmirrors 1 --trackchanges vg00/lv_raid1
Fusionner une image qui a été détachée temporairement de son mirroir avec --trackchanges dans son mirroir d'origine:
lvconvert --merge vg00/lv_raid1_rimage_1
Remplacer le volume physique /dev/sdb1 dans le volume logique RAID1 my_raid1 avec le volume physique /dev/sdf1.
lvconvert --replace /dev/sdb1 vg00/my_raid1 /dev/sdf1
Convertis le volume logique vg00/lvpool en un pool thin avec une taille de chunk de 128Kio et convertit vg00/lv1 en volume thin dans ce pool. le lv d'origine est utilisé comme origine externe d'origine, où toutes les écriture vers de tels volumes sont stockés dans le pool:
lvconvert --type thin --thinpool vg00/lvpool -c 128 lv1
Convertis le volume logique vg00/origin en volume thin dans le pool thin vg00/lvpool. Ce volume thin utilisera vg00/origin comme volume d'origine externe pour les zones non-provisionnées dans ce volume. L'origine externe utilise le nouveau nom vg00/external:
lvconvert -T --thinpool vg00/lvpool --originname external vg00/origin
Convertis un volume logique existant en LV pool cache utilisant les métadonnées de cache donnés:
lvconvert --type cache-pool --poolmetadata vg00/lvx_meta vg00/lvx_data
lvrename vg00/lvx_data vg00/lvx_cachepool
Convertis un volume logique existant en un LV cache dans le pool donné et une taille de chunk de 128Kio:
lvconvert --cache --cachepool vg00/lvx_cachepool -c 128 vg00/lvx
Détacher le pool cache d'un volume logique caché vg00/lvol1 existant et laisser le pool cache non-utilisé:
lvconvert --splitcache vg00/lvol1
Supprimer le pool cache d'un volume logique existant vg00/lvol1:
lvconvert --uncache vg00/lvol1
^
15 juin 2016

htmlpdflatexmanmd




lvcreate

lvcreate

Créer un volume logique

   lvcreate créé un nouveau volume logique dans un volume group en allouant des extents logiques dans le pool d'extents physiques disponibles dans ce volume group. S'il n'y a pas suffisamment d'extents physique, le volume group peut être étendu avec d'autres volumes physiques ou en réduisant des volumes logiques existants dans ce volume group. Si un ou plusieurs volumes physiques sont spécifiés, l'allocation d'extents physiques seront restreints à ces volumes. Le secondes forme supporte la création de volumes logiques snapshot qui conservent le contenu du volume logique original.

OPTIONS

-a|--activate [a][e|l|s]{y|n} Contrôle la disponibilité des volumes logiques à utiliser immédiatement après que la commande soit terminées. Par défaut, les nouveaux volumes logiques sont activés (-ay). -an laisse le nouveau volume logique inactif si possible. -aay, l'autoactivation est gérée avec un match dans activation/auto_activation_volume_list dans lvm.conf. -aey active exclusivement sur un nœud et -a{a|l}y active seulement sur le nœud local.
--addtag Tag Ajoute le tag spécifié. Peut être spécifié plusieurs fois
--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
-H|--cache Crée un volume logique cache pour pool de cache. avec --extents ou --siwe, créé un volume logique cache. quand le nom du volume group est spécifié avec un volume logique existant qui n'est pas un pool cache, un tel volume est traité comme volume cache origine et un pool cache est créé. Dans ce cas --extents ou --size est utilisé pour spécifier la taille de volume pool cache.
--cachemode {passthrough|writeback|writethrough} Spécifie un mode de cache pour les écriture dans un lv cache. writeback,
--cachepolicy Policy Seulement pour les LV cache. Définis la stratégie de cache. mq est la stratégie de base, smq est plus avancé
--cachepool CachePoolLogicalVolume Spécifie le nom du volume pool cache. L'autre manière de spécifiée le nom du pool est d'ajouter le nom du VG en argument.
--cachesettings Key=Value Seulement pour les LV cache. Définis les paramètres cache.
-c|--chunksize ChunkSize Spécifie la taille de chunk pour les LV snapshot, pool cache et pool thin. Pour les snapshots, doit être une puissance de 2 entre 4Kio (défaut) et 512Kio. Pour les pools cache la valeur doit être un multiple de 32Kio entre 32Kio et 1Gio (défaut: 64Kio). Quand la taille est spécifiée avec le volume caching, elle ne peut pas être inférieur à la taille de chunk du pool cache. Pour les pools thin la valeur doit être un multiple de 64Kio (défaut) et 1Gio. allocation/thin_pool_chunk_size_policy dans lvm.conf sélectionne une stratégie de calcul différent.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-C|--contiguous {y|n} Définis ou redéfinis la stratégie d'alllocation contigüe pour les volumes logiques. Défaut: pas d'allocation contigüe
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--discards {ignore|nopassdown|passdown} Définie le mode d'annulation pour le pool thin. Défaut: passdown.
--errorwhenfull {y|n} Configure le comportement d'un pool thin quand l'espace est remplis. Défaut: no. Le périphérique met ses opérations en queue jusqu'au timeoute. À yes, les opération I/O sont immédiatement mis en erreur.
-l|--extents LogicalExtentsNumber[%{FREE|ORIGIN|PVS|VG} Définis la taille du volume logique en unités d'extensions logique. avec '+' la valeur est ajoutée à la taille actuelle et sans, la valeur est absolue. Le nombre total d'extents physiques alloués sera supérieur, par exemple, si le volume est mirroré. Ce nombre peut également être exprimé en % de l'espace total dans le VG avec %VG, relatif à la taille existante du LV avec %LV, de l'espace restant dans le PV avec %PVS, en pourcentage de l'espace total du volume logique d'origine avec %ORIGIN. La valeur résultante est arrondis au supérieur.
-L|--size LogicalVolumeSize Définis la taille du volume logique en unité spécifiée. Avec un '+', la valeur est ajouté, sinon elle est prise comme valeur absolue.
-i|--stripes Stripes Indique le nombre de stripes pour l'extension. Non applicable aux LV utilisant le format de métadonnée original.
-I|--stripesize StripeSize Donne le nombre de ko pour la granularité des stripes.
-K|--ignoreactivationskip Ignore le flag skip des LV durant l'activation.
--ignoremonitoring Ne tente pas d'interragir avec dmeventd sauf si --monitor est spécifié
--minor Minor [-j|--major Major] Définis le numéro majeur et mineur. Non supporté avec les volumes pools. Ignoré avec les kernels récents
--metadataprofile ProfileName Sélectionne le profile de configuration des métadonnées à utiliser
-m|--mirrors Mirrors Créé un LV mirroir avec le nombre de copies spécifiée. avec --nosync, la création du mirroir saut la resynchronisation initiale. Toutes les données après seront mirrorée, mais le contenu original ne le sera pas.
--corelog|--mirrorlog {disk|core|mirrored} --corelog est équivalent à --mirrorlog. Spécifie le type de log à utiliser pour le mode mirror. disk créé une copie persistante des données. core signifie que le mirroir est regénéré en copiant les données du premier périphérique à chaque fois que le volume logique est activé, comme après un reboot. mirrored créé un log persistant qui est lui-même mirroré
--nosync N'effectue pas la resynchro initial à la création du mirroir
-R|--regionsize MirrorLogRegionSize] Un mirroir est divisé en région de la taille spécifiée, et le log mirroir utilise cette granularité pour suivre les régions à synchroniser.
--monitor {y|n} Active le monitoring d'un mirroir, snapshot ou pool thin avec dmeventd si installé. Si un périphérique utilisé par un mirroir monitoré reporte une erreur d'E/S, l'erreur est gérée en accord avec activation/mirror_image_fault_policy et activation/mirror_log_fault_policy dans lvm.conf
-n|--name LogicalVolume Définis le nom du nouveau volume logique
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-p|--permission {r|rw} Définis les permissions d'accès. Défaut: rw
-M|--persistent {y|n} À yes, le numéro mineur est persistant. Les volumes pool ne peuvent pas avoir de numéros mineur et majeur persistants.
--poolmetadatasize MetadataVolumeSize Définis la taille des métadonnées du pool. Entre 2Mio et 16Gio pour les pool thin, jusqu'à 16Gio pour un pool cache. La valeur par défaut pour un thin pool est ((Pool_LV_size / Pool_LV_chunk_size addentry articles autoadd autofind autoprod createalpha createbeta createdb createprod findentry fullpowa generator.php genhtml genman genmd gentex html insert man md pdf regen setfor setfor2 sql temp temp-new-pc tex threads ToDo 64b)
--poolmetadataspare {y|n} Contrôle la création et la maintenance de métadonnées de pool spare qui sont utilisés pour la récupération automatique du pool. Un seul volume est maintenu dans un volume group avec la taille des plus grosses métadonnées du pool.
--[raid]maxrecoveryrate Rate Définis le taux de récupération maximum pour un volume RAID. Le taux est spécifié comme quantité par seconde pour chaque périphérique dans l'array.
--[raid]minrecoveryrate Rate Définis le taux de récupération minimum pour un volume RAID. Le taux est spécifié comme quantité par seconde pour chaque périphérique dans l'array.
-r|--readahead {ReadAheadSectors|auto|none} Définis le compteur de secteur read ahead de ce volume logique.
-k|--setactivationskip {y|n} Contrôle si les volumes logiques sont flaggés pour être ignoré à l'activation. --ignoreactivationskip doit être utilisé. Le flag n'est pas appliqué durant la désactivation. Utiliser lvchange --setactivationskil pour changer le flag skip. voir activation/auto_set_activation_skip dans lvm.conf.
-s|--snapshot|-H|--cache {[VolumeGroup/]OriginalLogicalVolume Créé un LV snapshot pour un lv existant, appelé le lv d'origine. Un snapshot thin est créé quand l'origine est un volume thin et la taille n'est pas spécifiée. Un thin snapshot partage les même blocks dans le volume pool thin. Un snapshot de volume non thin avec la taille spécifié n'a pas besoin d'avoir la même quantité de stockage que l'origine, généralement 15-20% est suffisant. Note: une petite quantité d'espace allouée est utilisé pour suivre les emplacements des chunks de donnée. Si --thinpool est spécifié, un volume thin est créé et utilise le volume logique d'origine spécifié comme origine externe qui sert de blocks non-provisionnés. Seul les volumes lecture-seul peuvent être utilisés comme origine externe.
-V|--virtualsize VirtualSize Créé un périphérique provisionné léger ou un périphérique sparse. global/spase_segtype_default dans lvm.conf configure le type de segment sparse par défaut.
-t|--test Lance en mode test
-T|--thin Créé un pool thin ou un lv thin ou les 2. Avec --size et --extents, créé un lv pool thin. Avec --virtualsize, créé un lv thin dans le pool donné. Avec les 3 arguments, créé un pool thin et un lv utilisant ce pool.
--thinpool ThinPoolLogicalVolume Nom du volume pool thin.
--type SegmentType Créé un volume logique avec le type de segment spécifié. ( cache, cache-pool, error, linear, mirror, raid1, raid4, raid5_la, raid5_ls (= raid5), raid5_ra, raid5_rs, raid6_nc, raid6_nr, raid6_zr (= raid6), raid10, snapshot, striped, thin, thin-pool ou zero). Défaut: linear.
-v|--verbose Mode verbeux
-W|--wipesignatures {y|n} Contrôle l'effacement des signatures détectées dans le nouveau LV. Si cette option n'est pas spécifiée, la signature est remplie de 0 avec -Z. Peut être contrôlé avec allocation/wipe_signatures_when_zeroing_new_lvs dans lvm.conf. Si l'effacement blkid est utilisé allocation/use/blkid_wiping doit être définis. Les lv lecture seul ne sont pas effacés
-Z|--zero {y|n}] Remplis de 0 les 4Kio de données du début du lv. Défaut: yes. Les lv lecture seul ne sont pas effacés.

Exemples

Créer un lv striped avec 3 stripes, une taille de stripe de 8Kio et une taille de 100Mio dans le VG vg00
lvcreate -i 3 -I 8 -L 100M vg00
Créer un lv mirroir avec 1 copie et une taille de 500Mio utilisable
lvcreate -m1 --mirrorlog core -L 500M vg00
Créer un lv snapshot vg00/snap qui a accès au contenu de vg00/lvol1 à la date de création du snapshot. Si le lv d'origine contient un système de fichier, on peut monter le snapshot dans un répertoire arbitraire pour accéder au contenu du système de fichier pour lancer une sauvegarde tout en mettant à jours le système de fichier original
lvcreate --size 100m --snapshot --name snap /dev/vg00/lvol1
Créer un lv snapshot vg00/snap avec une taille de 20% du lv d'origine
lvcreate -s -l 20%ORIGIN --name snap vg00/lvol1
Créer un périphérique sparse nommé /dev/vg1/sparse de 1Tio avec un espace de 100Mio de données actuelles
lvcreate --virtualsize 1T --size 100M --snapshot --name sparse vg1
Créer un lv linéaire vg00/lvol1 utilisant les extents physiques /dev/sda:0-7 et /dev/sdb:0-7 pour l'allocation des extents
lvcreate -L 64M -n lvol1 vg00 /dev/sda:0-7 /dev/sdb:0-7
Créer un lv Raid5 5Gio vg00/my_lv avec 3 stripes (plus un disque de parité) et une taille de stripe de 64Kio
lvcreate --type raid5 -L 5G -i 3 -I 64 -n my_lv vg00
Créer un lv RAID5 vg00/my_lv, utilisant tout l'espace disque dans le VG et répartis sur tous les PV dans le VG
lvcreate --type raid5 -l 100%FREE -n my_lv vg00
Créer un RAID10 de 5Gio vg00/my_lv avec 2 stripes dans 2 mirroirs. Noter que les arguments -i et -m fonctionnent différemment:
lvcreate --type raid10 -L 5G -i 2 -m 1 -n my_lv vg00
Créé un lv pool de 100Mio pour du provisionning léger avec 2 stripes de 64Kio et un taille de chunk de 2156Kio avec un volume de 1Tio
lvcreate -i 2 -I 64 -c 256 -L100M -T vg00/pool -V 1T --name thin_lv
Créé un lv snapshot thin "thinsnap" du volume thin "thinvol" qui partagent les même blocks dans le pool thin. Noter que la taille ne doit pas être spécfiée sinon un snapshot non-thin est créé:
lvcreate -s vg00/thinvol --name thinsnap
Créer un volume snapshot thin d'un volume lecture seule inactif "origin" qui devient ensuite l'origine externe pour ce snapshot
lvcreate -s --thinpool vg00/pool origin
Créer un lv pool cache qui peut être utilisé pour cacher un volume logique
lvcreate --type cache-pool -L 1G -n my_lv_cachepool vg /dev/fast1
S'il y a un lv pool cache exsistant, créer un grand périphérique lent (le lv origine) et le lier au lv pool cache, créant un lv cache
lvcreate --cache -L 100G -n my_lv vg/my_lv_cachepool /dev/slow1
S'il y a un lv existant, créer le lv pool cache et le lier avec ce lv, créant un lv cache
lvcreate --type cache -L 1G -n my_lv_cachepool vg/my_lv /dev/fast1
^
24 mai 2016

htmlpdflatexmanmd




lvdisplay

lvdisplay

Affiche les attributs des volumes logiques

   lvdisplay permet de voir les attributs d'un volume logique. lvs est une alternative qui fournis les même informations dans le style ps.

OPTIONS

-a|--all Inclus les informations sur les volumes logiques interne tels que les mirroirs
-c|--colon Affiche la sortie en colonne.
--commandprofile ProfileName -d|--debug
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul.
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--maps Affiche le mappage les extents logiques aux volumes physiques et aux extents physiques Pour mapper les extents physiques aux extents logique utiliser: pvs --segments -o +lv_name,seg_start_pe,segtype
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
-v|--verbose Mode verbeux
-C|--columns Sortie séparée par des ':'
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise le valeurs binaire 0 ou 1 au lieu des valeurs litérale pour les colonnes qui ont exactement 2 valeurs valides
--noheadings Supprime les lignes d'en-tête
-o|--options [+|-|#]Field1[,Field2...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes données. lv_all sélectionne toutes les colonnes de volume logiques, et lvseg_all sélectionne toutes les colonnes de segment de volume logique.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes

Exemples

Afficher les attributs d'un volume logique
lvdisplay -v vg00/lvol2
Afficher les attributs d'un snaphot et le lv d'origine:
lvdisplay vg00/snapshot
^
24 mai 2016

htmlpdflatexmanmd




lvextend

lvextend

Étend la taille d'un volume logique

   lvextend permet d'étendre la taille d'un volume logique. Les extensions de lv snapshot sont également supportés. Mais pour changer le nombre de copies dans un volume logique mirroré, utiliser lvconvert.

OPTIONS

--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande
-f|--force Ne demande pas confirmation
-i|--stripes Stripes Indique le nombre de stripes pour l'extension. Non applicable aux LV utilisant le format de métadonné originel.
-I|--stripesize StripeSize Donne le nombre de ko pour la granularité des stripes.
-l|--extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN} Étend ou définis la taille du volume logique en unités d'extensions logique. avec '+' la valeur est ajoutée à la taille actuelle et sans, la valeur est absolue. Le nombre total d'extents physiques alloués sera supérieur, par exemple, si le volume est mirroré. Ce nombre peut également être exprimé en % de l'espace total dans le VG avec %VG, relatif à la taille existante du LV avec %LV, de l'espace restant dans le PV avec %PVS, en pourcentage de l'espace total du volume logique d'origine avec %ORIGIN. La valeur résultante est arrondis au supérieur.
-L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE] Étend ou définis la taille du volume logique en unité spécifiée. Avec un '+', la valeur est ajouté, sinon elle est prise comme valeur absolue.
-n|--nofsck N'effectue pas de fsck avant d'étendre le système de fichier qu'en c'est nécessaire.
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-r|--resizefs Redimensionne le système de fichier en même temps que le volume logique en utilisant fsadm
--use-policies Redimensionne le volume logique en accord avec la stratégie
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Exemples

Étend la taille du volume logique "vg01/lvol10" de 54MiO dans le volume physique /dev/sdk3. C'est seulement possible si /dev/sdk3 est un membre du volume groupe vg01 et qu'il y a suffisamment d'extents physique:
lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3
Étend la taille du volume logique "vg01/lvol01" par la quantité totales dans le volume physique /dev/sdk3. C'est équivalent à spécifier "-l +100%PVS" sur la ligne de commande:
lvextend /dev/vg01/lvol01 /dev/sdk3
Étends un volume logique "vg01/lvol01" de 16Mio en utilisant les extents physiques /dev/sda:8-9 et /dev/sdb:8-9 pour allouer les extents:
lvextend -L+16M vg01/lvol01 /dev/sda:8-9 /dev/sdb:8-9
^
22 mai 2016

htmlpdflatexmanmd




lvm

lvm

Outils lvm2

   lvm fournis les outils en ligne de commande pour LVM2. Si lvm est invoqué sans arguments, affiche un prompt. Les commandes LVM peuvent être entrées directement.

   Si lvm est invoqué avec argv[0] définis au nom d'une commande spécifique, il agit comme cette commande

   À l'invocation, lvm nécessite seulement que les descripteurs de fichier stdin, stdout et stderr soient disponible. Si d'autres sont trouvés, ils sont fermés et des messages l'alerte sont émis.

   Là où les commandes prennent des noms VG ou LV en argument, le chemin complet est optionnel. Un LV appelé lvol0 dans un VG appelé vg0 peuvent être spécifiés sous la forme vg0/lvol0. Quand une liste de VG est requise mais laissée vide, une liste de tous les VG sera substituée. Quand une liste de LV est requise main un VG est donné, une liste de tous les LV dans ce VG est subsitué.

   Un avantage d'utiliser le shell intégré est que les informations de configuration sont mis en cache en interne entre les commandes.

   Un fichier contenant un simple script avec une commande par ligne peut également être donné sur la ligne de commande. Le script peut également être exécuté directement si la première ligne est #! suivie par le chemin de lvm.

Commandes intégrées

   Les commandes suivantes sont intégrées dans lvm sans liens créés dans le système de fichier.

config =lvmconfig
devtypes Affiche les types de périphériques block intégrés reconnus
formats Affiche les formats de métadonnées reconnus
help Affiche l'aide
lvpoll Opérations lvmpolld complet
pvdata Non encore implémenté
segtypes Affiche les types de segments LVM reconnus
systemid Affiche tout system ID actuellement définis dans cet hôte
tags Affiche tous les tags définis dans cet hôte
version Affiche la version

Commandes

   Les commandes suivantes implémentent les fonctionnalité de cœur de LVM

pvchange Change les attributs d'un volume physique
pvck Vérifie les métadonnées d'un volume physique
pvcreate Initialise un disque ou une partition à utiliser par LVM
pvdisplay Affiche les attributs d'un volume physique
pvmove Déplace les extents physiques
pvremove Supprime un volume physique
pvresize Redimensionne un disque ou une partition utilisé par lvm
pvs Affiche des informations sur les volumes physique
pvscan Scanne tous les disques pour les volumes physique
vgcfgbackup Sauvegarde la zone de descripteur de volume group
vgcfgrestore Restaure la zone de descripteur de volume group
vgchange Change les attributs d'un volume group
vgck Vérifie les métadonnées d'un volume group
vgconvert convertis le format de métadonnées d'un volume group
vgcreate Créé un volume group
vgdisplay Affiche les attributs d'un volume group
vgextend Ajoute des volumes physiques à un volume group
vgimport rend les volumes group exportés connus du système
vgimportclone Importe et renomme des volume group dupliqués
vgmerge Fusionne 2 volumes group
vgmknodes Recréé un répertoire de Volume Group et les fichier spéciaux de volume logique
vgreduce Réduit un volume group en supprimant un ou plusieurs volumes physique
vgremove Supprime un volume group
vgrename Renomme un volume group
vgs Affiche des informations sur les volume group
vgscan Scanne tous les disques pour les volumes group et reconstruit les caches
vgsplit Split un volume group en 2, en déplaçant les volumes logiques d'un volume group vers un autre en déplaçant tous les volumes physiques
lvchange Change les attributs d'un volume logique
lvconvert Convertis un volume logique d'un linéaire vers un mirror ou un snapshot
lvcreate Créé un volume logique dans un volume group existant
lvdisplay Affiche les attributs d'un volume logique
lvextend Étend la taille d'un volume logique
lvmchange Change les attributs de LVM
lvmconfig Affiche les informations de configuration après avoir chargé lvm.conf et autres fichiers de configuration
lvmdiskscan Scanne tous les périphériques visible pour LVM2
lvmdump Créé des dump d'informations lvm2 pour diagnostique
lvreduce Réduit la taille d'un volume logique
lvremove Supprime un volume logique
lvrename renomme un volume logique
lvresize Redimensionne un volume logique
lvs Affiche des informations sur les volumes logique
lvscan Scanne tous les disque pour les volumes logique

   Les commande suivantes ne sont pas encore implémentées mais le seront dans le future: lvmadc, lvmsar, pvdata.

OPTIONS

   Les options suivantes sont disponible pour de nombreuses commandes. Elles sont implémentées de manière générique et documentés ici au lieu des man individuels

-v, --verbose mode verbeux
-d, --debug définis le niveau de débug, de 1 à 6 fois pour augmenter les détails.
-q, --quiet Supprime la sortie et les messages de log. Supprime également tout prompt et répond automatiquement no
--yes Par de prompt et répond toujours yes
-t, --test Lance en mode test. Les commandes ne mettent pas à jours les métadonnées.
--driverloaded {y|n} à n, ne tente pas de contacter le pilote device-mapper du kernel
-A, --autobackup {y|n} Backup automatiquement les métadonnées après un changement.
-P, --partial Définis, les outils fond de leur mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement. Quand un partie d'un volume logique est manquant, /dev/ioerror est substitué, et dmsetup peut être utilisé pour retourner les erreurs I/O.
-S, --select ‹selection› Pour les commandes de rapport, affiche seulement les lignes qui matchent le critère donné.
-M, --metadatatype Type$ Spécifie quel type de métadonnée utiliser, tel que lvm1 ou lvm2.
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule tel que lvchange -ay et vgchange -ay même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul.
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et certains vg clusterisés doivent être ignorés.
--readonly Lance la commande en mode spécial lecture seul qui lit les métadonnées sur disque sans nécessiter de créer un lock.
--foreign Force la commande à accéder aux volumes groupe exterieur. PEut être utilisé pour reporter ou afficher un VG qui est possédé par un autre hôte. Les performances peuvent être très réduite parce que le cache lvmetad n'est pas utilisé
--shared Accède à un volume group partagé, qui serait ignoré quand lvmlockd n'est pas utilisé.
--addtag tag Ajoute le tag spécifié à un PV, VG ou LV. Peut être spécifié plusieurs fois. Les tags peuvent être donné sur la ligne de commande à la place des arguments PV, VG, ou LV.
--deltag tag Supprime le tag spécifié
--alloc {anywhere|contiguous|cling|inherit|normal} Sélectionne la stratégie d'allocation quand une commande doit allouer des Extents physiques depuis le Volume Group. Chaque Volume Group et Logical Volume a une stratégie d'allocation définie. Défaut pour VG: normal, LV: inherit

        normal Applique des règles de sens commun qui ne place pas les stripes parallèles dans le même volume physique.
        inherit applique la même stratégie que le VG
        contiguous Nécessite que les nouveaux extents soient placé adjacent aux extents physique existant
        cling Place le nouvel extent physique sur le même volume physique que les extents physique dans le même stripe du volume logique

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser en traitant une commande LVM.
--metadataprofile ProfileName Sélectionne le profile de configuration des métadonnées à utiliser en traitant une commande LVM.
--profile ProfileName idem à --metadataprofile pour vgcreate, lvcreate, vgchange et lvchange, et --commandprofile pour les autres commandes.
--config ConfigString Configuration à utiliser

Allocation

   Quand une opération doit allouer des Extents physique pour un ou plusieurs volumes physique, les outils traitent comme suit:

   Tout d'abord, ils génèrent le jeu complet d'Extents Physique non-alloués dans le Volume Group. Si une plage d'Extents sont fournis à la fin de la ligne de commande, seul les Extents physique non-alloués dans cette plage dans les volumes physique spécifiés sont considérés.

   Ensuite, ils tentent chaque stratégie d'allocation en retour, en commençant la stratégie la plus stricte (contiguous) et se termine avec la stratégie spécifiée avec --alloc ou la valeur par défaut. Pour chaque stratégie, en commençant depuis l'Extent logique avec le numéro le plus faible de l'espace du volume logique vide qui doit être remplis, ils allouent autant d'espace que possible en accord avec les restrictions imposées par la stratégie. Si plus d'espace est nécessaire, ils utilise la stratégie suivante.

   Les restrictions sont les suivantes:

   Contiguous nécessite que l'emplacement physique d'un extent logique qui n'est pas le premier extent logique d'un volume logique soit adjacent à l'emplacement physique de l'extent logique le précédent immédiatement.

   Quand un volume logique est stripé ou mirroré, les restrictions ci-dessus sont appliquées indépendamment à chaque stripe ou image mirroir qui nécessite de l'espace.

   Normal ne choisit pas un Extent Physique qui partage le même volume physique comme Extent Logique déjà alloué à un volume logique parallèle (ex: un striped ou une image mirroir différente) au même offset dans ce volume logique parallèle.

Types de volume logique

   Certains types de volumes logiques sont simple à créer et peut être fait avec une simple commande lvcreate. Les types de volume logique linear et striped en sont un exemple. D'autre types de volume logique peuvent nécessiter plus d'une commande pour les créer, comme les types cache et thin provisioning.

Critères de Sélection

   Les critères de sélection sont un jeu de déclaration combinés par des opérateurs logique et de groupement. La déclaration consiste de nom de colonne pour lequel un jeu de valeurs valides est définis en utilisant des opérateurs de comparaison. Pour une liste complète de noms de colonne qui peuvent être utilisé dans la sélection, voir la sortie de ‹commande lvm› -S help

Opérateurs de comparaison (cmp_op)

=~ Matche l'expression régulière
!~ ne match pas l'expression régulière
= égal à
!= Non égal à
›= Supérieur ou égal à
Supérieur à
‹= Inférieur ou égal à
Inférieur à

Opérateurs logiques binaire (cmp_log)

&& Tous les champs doivent matcher
, Idem
|| Au moins un champs doit matcher
# idem

Opérateurs logique unaire

! Négation

Opérateurs de groupement

() parenthèses
[] Liste
{} Sous-jeu de liste

Spécification de grammaire informelle

   STATEMENT = column cmp_op VALUE | STATEMENT log_op STATEMENT | (STATEMENT) | !(STATEMENT)

Variables d'environnement

HOME Répertoire contenant .lvm_history si le shell readline interne est invoqué
LVM_COMAND_PROFILE Nom du profile de commande par défaut à utiliser pour les commandes LVM.
LVM_SYSTEM_DIR Répertoire contenant lvm.conf. Défaut: /etc/lvm
LVM_SUPPRESS_FD_WARNINGS Supprime les alertes sur les descripteurs de fichier inattendus passés à lvm
LVM_VG_NAME Nom deu volume group qui est assumé pour toute référence à un volume logique qui ne spécifie pas de chemin.
LVM_LVMETAD_PIDFILE Nom du volume group qui stocke l'ID du process lvmetad
LVM_LVMETAD_SOCKET Chemin du socket utilisé pour communiquer avec lvmetad
LVM_LVMPOLLD_PIDFILE Chemin du fichier qui stocke l'ID du processus lvmpolld
LVM_LVMPOLLD_SOCKET Chemin du socket utilisé pour communiquer avec lvmpolld
LVM_LOG_FILE_EPOCH Chaîne jusqu'à 32 lettre à ajouter au nom du fichier de log et suivi par l'ID du processus et un horodatage. Si définis, chaque processus log dans un fichier séparé
LVM_EXPECTED_EXIT_STATUS Le status anticipé quand le processus quitte. Utiliser "›N" pour matcher un status supérieur à N
LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES Utilisé pour supprimer les messages d'alerte quand le lock configuré est indisponible
DM_ABORT_ON_INTERNAL_ERRORS Annule le traitement si le code détecte une erreur interne non-fatal
DM_DISABLE_UDEV Évite l'interaction avec udev. LVM va gérer les nœud dans /dev directement
^
23 mai 2016

htmlpdflatexmanmd




lvm-config

lvm-config, lvm-dumpconfig

Afficher la configuration LVM

   lvmconfig produit une sortie formattée de la configuration LVM. La comme a une forme identique à lvm dumpconfig

OPTIONS

-f, --file Envoie la sortie dans le fichier spécifié
-l, --list Liste les paramètres de configuration avec commentaire. Identique à lvmconfig --type list --withsummary
--type {current|default|diff|full|missing|new|profilable|profilable-command|profilable-metadata} Sélectionne le type de configuration à afficher.

        current Affiche la configuration lvm.conf courante
        default Affiche les paramètres de configuration assignés avec les valeurs par défaut
        diff Affiche tous les paramètres de configuration pour lesquels les valeurs diffèrent de la valeur par défaut
        full Affiche toute l'arborescence de configuration.
        list Affiche une liste des paramètres de configuration
        missing Affiche tous les paramètres de configuration avec des valeurs par défaut qui sont manquant dans la configuration courante
        new Affiche tous les nouveaux paramètres de configuration introduit par la version courante de LVM (ou spécifiée avec --atversion)
        profilable Affiche tous les paramètres de configuration profilable avec des valeurs par défaut.
        profilable-command Affiche tous les paramètres de configuration profilable avec les valeurs assignées qui peuvent être utilisés dans les profile de commande
        profilable-metadata Affiche tous les paramètres de configuration profilable avec les valeurs assignées qui peuvent être utilisés dans les profile de métadonnées

--atversion Spécifie une version LVM au format x.y.z. Pour limiter l'affichage des paramètres
--sinceversion Idem, applicable seulement avec --type new
--ignoreadvanced Exclus les paramètres de configuration avancés
--ignoreunsupported Exclus les paramètres de configuration non-supportés
--ignorelocal Ignore la section local
--config Utilise la chaîne spécifiée pour remplacer la configuration existante
--commandprofile Utilise le profile spécifié pour remplacer la configuration existante
--profile Identique à --commandprofile mais la configuration n'est pas appliquée pour la commande lvmconfig
--metadataprofile Spécifie le profile pour remplacer la configuration existante
--mergedconfig Quand la commande lvmconfig est lancée avec --config option et/ou --commandprofile (ou avec la variable d'environnement LVM_COMMAND_PROFILE), --profile, --metadataprofile, fusionne tout le contenu de la configuration avant de l'afficher
--showdeprecated Inclus les paramètres de configuration dépréciée dans la sortie
--showunsupported Inclus les paramètres de configuration non-supportés
--validate Valide la configuration courante utilisée et quitte avec un code de sortie approprié
--withsummary Affiche une ligne de commantaire pour chaque nœud de configuration
withcomments Affiche un commentaire complet pour chaque nœud de configuration.
--withspaces Quand approprié, ajoute plus d'espace dans la sortie pour une meilleur lisibilité
--withversions Affiche également un commentaire contenant la version d'introduction pour chaque nœud de configuration.
^
22 mai 2016

htmlpdflatexmanmd




lvm.conf

lvm.conf

Fichier de configuration pour LVM2

   lvm.conf est chargé durant l'initialisation de lvm. Ce fichier peut en retour charger d'autres fichiers.

   Les paramètres définis dans lvm.conf peuvent être remplacés par une des méthodes de configuration étendues suivantes:

   - Configuration spécifiée sur la ligne de commande en utilisant --config.

   Un profile est un jeu de paramètres de configuration personnalisable sélectionné. Il y a 2 groupes de profile: les profiles de commande et les profiles de métadonnées.

   - Le profile de commande est utilisé pour écraser les paramètres de configuration au niveau de la commande lvm globale. Il est appliqué au début de l'exécution de la commande lvm et est utilisé tout le temps de l'exécution de la commande. Le profile de commande est appliqué avec --commandprofile.

   - Le profile de métadonnées est utilisé pour écraser les paramètres de configuration au niveau Volume Group/Logical Volume. Il est appliqué indépendamment pour chaque VG/LV qui est traité. Ainsi, chaque VG/LV peut stocker le nom de profile utilisé dans ses métadonnées pour que le profile s'applique automatiquement quand ce VG/LV est traité. Le profile de métadonnée peut être spécifié avec --metadataprofile et --detachprofile. les commande de reporting fournissent -o vg_profile et -o lv_profile pour affiche le profile de métadonnées actuellement attachés au VG/LV.

   Le jeu d'options permis pour les profiles de commande est mutuellement exclusif quand il est comparé avec le jeu d'options permis pour les profiles de métadonnées. Les paramètres qui appartiennent aux 2 set ne peuvent être mixés ensemble et les outils LVM vont rejeter de tels profiles.

   LVM lui-même fournis quelques profiles de configuration prédéfinis. Les utilisateurs sont autorisés à ajouter plus de profile avec différentes valeurs si nécessaire. Dans ce but, il y a la commande profile_template.profile (pour les profiles de commande) et metadata_profile_template.profile (pour les profiles de métadonnées) qui contient tous les paramètres qui sont personnalisable par profiles d'un certain type. Les utilisateurs sont encouragés à copier ces templates et de les éditer si nécessaire. Alternativement, lvmconfig --file ‹profilename› --type profilable-commande ‹section› ou lvmconfig --file ‹profilename› --type profilable-metadata ‹section› peuvent être utilisé pour générer une configuration avec des paramètres profilables dans un des type pour la section donné et de les sauver dans le nouveau profile. Si la section n'est pas spécifiée, tous les paramètres profilables sont reportés.

   Les profiles sont stockés dans /etc/lvm/profile par défaut. Cet emplacement peut être changé en utilisant le paramètres config/profile_dir. Chaque configuration de profile est stocké dans un fichier ProfileName.profie dans le répertoire de profile.

   Quand plusieurs méthodes de configuration sont utilisés en même temps et que lvm recherche la valeur d'un paramètre particulier, il traverse la configuration en cascade de gauche à droite:

   Ligne de commande -› profile de commande -› profile de métadonnées -› config de tag -› lvmlocal.conf -› lvm.conf

   S'il n'y a pas de paramètre trouvé à la fin de la cascade, une valeur par défaut est utilisée pour ce paramètre. Utiliser lvmconfig pour vérifier les paramètres utilisés et leur valeurs par défaut.

Syntaxe

   Les espaces blancs ne sont pas significatif sauf dans dans les guillemets. Grammaire informelle:

file = value* Un fichier de configuration consiste d'un jeu de valeurs
value = section | assignment Une valeur peut être soit une nouvelle secion, ou un assignement
section = identifier '{' value* '}' Une section regroupe des valeurs associées ensemble. Si la même section est rencontrée plusieurs fois, le contenus de toutes les instances sont concaténés ensemble dans l'ordre où elles apparaissent. Elle est dénotée par un nom et délimitée par des {}
assignment = identifier '=' ( array | type ) Un assignement associe un type avec un identifiant. Si l'identifiant contient des barres obliques, ils sont interprétés comme délimiteur de chemin. La déclaration section/key = value est équivalente à section { key = value }. Si plusieurs instances de la même clé est rencontrée, seule la dernière valeur est utilisé (et une alerte est émise).
array = '[' ( type ',')* type ']' | '[' ']' les tableaux non-homogènes sont supportés. Un tableau vide est acceptable
type = integer | float | string integer = [0-9]* ; float = [0-9]*'.'[0-9]* ; string = '"'.*'"'

Paramètres

   La commande lvmconfig affiche les paramètres de configuration LVM dans divers formats.

Affiche une liste de tous les paramètres de configuration possible, avec leur valeurs par défaut.
lvmconfig --type default
Idem, avec commantaires:
lvmconfig --type default --withcomments
idem avec les valeurs courantes:
lvmconfig --type current
Affiche tous les paramètres configurés avec une valeur différente du défaut:
lvmconfig --type diff
Affiche un simple paramètre avec sa valeur par défaut, description, où Section réfère à la section de configuration:
lvmconfig --type default --withcomments Section/Setting
^
23 mai 2016

htmlpdflatexmanmd




^
22 mai 2016

htmlpdflatexmanmd




lvmcache

lvmcache

Cache LVM

   Le type de volume logique cache utilise un LV petit et rapide pour améliorer les performances d'un LV grand et lent. Il stocke les blocks fréquemment utilisé dans le LV rapide. Il est appelé le pool cache, et le grand LV est appelé l'origine. À cause des requis de dm-cache (le pilote kernel), lvm split le LV pool dans 2 périphériques - le LV de données de cache et LV de métadonnées de cache. Le LV de données de cache contient les blocks de données copiées. Le LV de métadonnées de cache maintient les informations d'audit qui spécifie où les blocks sont stockés. Les utilisateurs devraient être familiarisés avec ces LV s'ils souhaitent créer le meilleur LV caché possible Tous les LV associés doivent être dans le même VG

Utilisation du cache

   La méthode principale pour utiliser un LV de type cache:

0. créer OriginLV

Créé un LV ou identifie un LV origine existant
lvcreate -n OriginLV -L LargeSize VG SlowPVs
Exemple:
lvcreate -n lvol0 -L 100G vg

1. créer CacheDataLV

1. créer CacheDataLV
Créé le LV de métadonnées de cache. Ce LV maintient les blocks depuis OriginLV. La taille de ce LV est la taille du cache. Exemple:
lvcreate -n Cache0meta -L 12M vg /dev/fast

2. créer CachePoolLV

Combine les 2 LV en un LV pool.
lvconvert --type cache-pool --poolmetadata vg/cache0meta vg/cache0

3. Créer CacheLV

Créé un LV cache en liant le LV pool au LV origine.
lvconvert --type cache --cachepool vg/cache0 vg/lvol0

Suppression du cache

Un LV pool peut être déconnecté d'un LV Cache, laissant un LV pool inutilisé, et un LV origine sans cache:
lvconvert --splitcache vg/cache0
Supprimer un LV pool sant supprimer sont LV origine lié:
lvremove vg/CachePoolLV
Une commande alternative déconnecte également le pool du cache, et supprime le pool:
lvconvert --uncache vg/cacheLV
Supprimer un LV cache supprime le LV origine et le LV pool lié
lvremove vg/CacheLV

Tolérance d'erreurs dans un LV pool.

0. Créer un LV origine:
lvcreate -L 10G -n lv1 vg /dev/slow_devs
1. Créer un cache LV data RAID1:
lvcreate --type raid1 -m 1 -L 1G -n cache1 vg /dev/fast1 /dev/fast2
2. Créer un cache LV métadonnée RAID1:
lvcreate --type raid1 -m 1 -L 8M -n cache1meta vg /dev/fast1 /dev/fast2
3. Créer un LV pool combinant le LV data et le LV metadata:
lvconvert --type cache-pool --poolmetadata vg/cache1meta vg/cache1
4. Créer un LV cache en combinant le LV pool et le LV origine
lvconvert --type cache --cachepool vg/cache1 vg/lv1

Mode de cache

   Le mode de cache par défaut est "writethrough". Ce mode s'assure que toute donnée écrite sera stocké dans le pool et dans l'origine. La perte d'un périphérique associé avec le pool dans ce cas ne signifie pas la perte d'une donnée.

   Un autre mode de cache, "writeback" retarde l'écriture des blocks de données du pool dans l'origine. Ce mode augmente les performances, mais la perte d'un périphériques du pool peut résulter de pertes de données.

   Avec l'options --cachemode, le mode peut être définis en créant un cache, ou changé sur un cache existant.

Exemples

Créer un LV origin:
lvcreate -L 10G -n lv1 vg /dev/slow
Créer un cache LV data:
vcreate -L 1G -n cache1 vg /dev/fast
Créer un cache LV metadata
lvcreate -L 8M -n cache1meta vg /dev/fast
Créer un cache LV pool
lvconvert --type cache-pool --poolmetadata vg/cache1meta vg/cache1
Créer le cache:
lvconvert --type cache --cachepool vg/cache1 --cachemode writethrough vg/lv1

Stratégie de cache

   Le sous-système de cache a des paramètres additionnels par LV: la stratégie de cache à utiliser. 3 stratégie sont actuellement disponible: smq est la stratégie par défaut, m. est une ancienne implémentation, et cleaner est utilisé pour forcer le cache à vider toutes les écritures en cache sur l'origin

   La stratégie mq a des paramètres. Les défaut sont choisis pour être convenable pour la majorité des systèmes, mais dans des circonstances spéciales, changer ces paramètres peuvent améliorer les performances.

   Avec les options --cachepolicy et --cachesettings, la stratégie de cache et les paramètres peuvent être définis en créant un cache, ou changé dans un cache existant.

Exemple

Changer la stratégie d'un cache existant:
lvchange --cachepolicy mq --cachesettings 'migration_threshold=2048 random_threshold=4' vg/lv1
Dans lvm.conf:
allocation/cache_policy
allocation/cache_settings

Taille de chunk

   La taille de blocks de données gérés par un pool peut être spécifié avec l'option --chunksize à la création. La valeur doit être un multiple de 32KiO entre 32KiO et 1GiO.

   Utiliser une taille de chunk qui est trop grande réduit l'utilité du cache. Cependant, une taille trop petite surcharge le travail de gestion des chunks qui sont mappés dans le cache.

Pour afficher la taille de chunk du cache:
lvs -o+chunksize VG/CacheLV
Dans lvm.conf:
cache_pool_chunk_size
Pour connaître la valeur par défaut:
lvmconfig --type default allocation/cache_pool_chunk_size

Automatic pool metadata LV

   Un LV data peut être convertit au LV pool sans spécifier de LV métadonnée. LVM va automatiquement créer un LV métadonnées depuis le même VG.

Créer un nouveau cache sans un LV origine existant

Un LV cache peut être créé en utilisant un pool sans un LV origine existant. Un nouveau LV origin est créé et lié au pool en une étape
lvcreate --type cache -L LargeSize -n CacheLV --cachepool VG/CachePoolLV VG SlowPVs

Création de LV pool en une seule étape

Un LV pool peut être créé en une seule commande, au lieu d'utiliser lvconvert sur des LV existant:
lvcreate --type cache-pool -L CacheSize -n CachePoolLV VG FastPVs

Convertir des LV existant en type cache

Quand un LV origine existant est convertis en LV cache, le pool spécifié peut être un LV normal, au lieu d'un LV pool. Dans ce cas, lvm convertis le LV normal en cache. Un LV metadata peut optionnellement être spécifié.
lvcreate -n OriginLV -L LargeSize VG
lvcreate -n CacheDataLV -L CacheSize VG
lvconvert --type cache --cachepool VG/CataDataLV VG/OriginLV
C'est équivalent à
lvcreate -n OriginLV -L LargeSize VG
lvcreate -n CacheDataLV -L CacheSize VG
lvconvert --type cache-pool VG/CacheDataLV
lvconvert --type cache --cachepool VG/CachePoolLV VG/OriginLV
^
23 mai 2016

htmlpdflatexmanmd




lvmconf

lvmconf

Modifier la configuration LVM

   lvmconf est un script qui modifie la configuration dans un fichier de configuration lvm. De plus, il peut également définir le service systemd ou SysVinit en accord avec les changements dans la configuration lvm si nécessaire.

OPTIONS

--disable-cluster Définis locking_type au type par défaut non-clusterisé. reset également lvmetad à son défaut.
--enable-cluster Définis locking_type au type par défaut clusterisé dans ce système. Désactive également l'utilisation de lvmetad vu qu'il ne supporte pas les environnements clusterisés
--enable-halvm Définis locking_type utilisable pour l'utilisation LVM HA. Désactive également lvmetad vu qu'il ne supporte pas les environnements LVM HA.
--disable-halvm Définis locking_type au type par défaut non-clusterisé. reset également lvmetad à son défaut.
--file ‹configfile› Applique les changements dans le fichier spécifié. Défaut: /etc/lvm/lvm.conf
--lockinglib ‹lib›, --lockinglibdir ‹dir› Définis la librairie de locking à charger si un type de locking externe est utilisé
--services En plus de définir la configuration, active/désactive les services clvmd et lvmetad. Ce script ne configure pas les services fournis par les agents de ressource cluster.
--mirrorservice Active/désactive également le service optionnel cmirrord en manipulant les services (applicable seulement avec --services)
--startstopservices démarre/stoppe immédiatement les services (applicable seulement avec --services)
^
16 juin 2016

htmlpdflatexmanmd




lvmdbusd

lvmdbusd

Service qui fournis une API D-Bus à LVM

OPTIONS

--debug Mode debug
--udev Utilise les événements udev pour déclencher les mises à jours
^
23 mai 2016

htmlpdflatexmanmd




lvmdiskscan

lvmdiskscan

Scanne les périphériques LVM2 visibles

   lvmdiskscan recherche tous les disques SCSI, (E)IDE, md et d'autres types de périphériques block dans le système à la recherche de volumes physiques LVM. La taille reportée est la taille du périphérique réel. Définir un filtre dans lvm.conf pour restreindre le scan pour éviter un CDROM par exemple.

OPTIONS

-l, --lvmpartition Reporte uniquement les volumes physiques
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




lvmdump

lvmdump

Créé des dumps d'information lvm2 pour diagnostique

   lvmdump est un outil pour dumper diverses informations sur lvm2. Par défaut, il créé un tarball. Le contenu est le suivant:

- Informations dmsetup
- Table de processus en cours d'exécution
- Entrées récentes dans /var/log/messages
- Configuration lvm complète et cache
- Liste les nœuds présents sous /dev
- Liste des fichiers présent dans /sys/block
- Liste des fichiers présent dans /sys/devices/virtual/block
- (-m) dump des métadonnées
- (-a) Sortie debug de vgscan pvscan et liste tous les pv, vg et lv disponibles
- (-c) information du status de cluster
- (-l) État lvmetad
- (-p) État lvmpolld
- (-s) informations et contexte système
- (-u) informations et contexte udev

OPTIONS

-a Informations avancée. Si lvm est blocké, ce script peut blocker également.
-c si clvmd est en cours de fonctionnement, récupère les informations de cluster également
-d dir Dump dans un répertoire au lieu d'un tar.
-l Inclus l'état lvmetad
-m Collecte les métadonnées
-p Inclus l'état lvmpolld
-s informations et contexte système
-u informations et contexte udev

Variables d'environnement

LVM_BINARY Le binaire LVM2 à utiliser. Défaut: lvm
DMSETUP_BINARY binaire dmsetup à utiliser. Défaut: dmsetup
^
23 mai 2016

htmlpdflatexmanmd




lvmetad

lvmetad

Service de cache de métadonnées lvm

   Le service met en cache les métadonnées pour que les commandes lvm puissent les lire sans scanner les disques. Le cache peut être un avantage parce que scanner les disques consomme du temps et peut interférer avec le fonctionnement du système et des disques.

   lvmetad ne lit pas les métadonnées depuis le disque lui-même. la commande pvscan --cache scanne les disque, lit les métadonnées et les envoie à lvmetad.

   Les nouveaux disques LVM qui apparaîssent dans le système doivent être scannés par pvscan avant que lvmetad les connaisse. Si lvmetad ne connaît pas les disques, les commandes lvm utilisant lvmetad ne les connaissent pas. Quand des disques sont ajoutés ou supprimés du système, lvmetad doit être mis à jours.

   lvmetad est généralement combiné avec des services basés sur les événements qui lancent automatiquement pvscan -- cache sur les nouveaux disques. De cette manière, le cache lvmetad est automatiquement mis à jours. Les règle udev lvm et les services systemd implémentent cet automatisme.

   Si lvmetad est démarré ou redémarré après avoir ajouté des disques au système, ou si le global_filter a changé, le cache doit être mis à jours.

   L'utilisation de lvmetad est géré dans lvm.conf par l'option global/use_lvmetad (voir lvmconfig --withcomments global/use_lvmetad)

   Pour ignorer des disques lvm au niveau système, utiliser devices/global_filter

OPTIONS

-l level[,level...] Spécifie les niveaux de log des messages à générer, séparés par une ','.
-p pidfile_path Chemin du fichier pid. Défaut: /run/lvmetad.pid
-s socket_path Chemin du socket. Défaut: /run/lvm/lvmetad.socket
-t timeout_value Délai d'inactivité avant que le service se termine. À 0, ne s'arrête jamais.
-f Ne fork pas, ne lance pas en tâche de fond

Variables d'environnement

LVM_LVMETAD_PIDFILE Chemin du fichier pid.
LVM_LVMETAD_SOCKET Chemin du socket.
^
28 juin 2016

htmlpdflatexmanmd




lvmlockctl

lvmlockctl

Contrôle pour lvmlockd

OPTIONS

--quit|-q Terminer lvmlockd
--info|-i AFfiche les informations d'état de lock depuis lvmlockd
--dump|-d Affiche le tampon de log de lvmlockd
--wait|-w 0|1 Option d'attente pour les autres commandes
--force|-f 0|1 Option force pour les autres commandes
--kill|-k ‹vgname› Tue l'accès au VG quand sanlock ne peut pas renouveler le bail
--drop|-r ‹vgname› Efface les locks pour le VG quand il n'est plus utilisé après --kill
--gl-enable|-E ‹vgname› Active le lock global dans le VG sanlock
--gl-disable|-D ‹vgname› Désactive le lock global dans le VG sanlock
--stop-lockspaces|-S Stop tous les lockspaces
^
28 juin 2016

htmlpdflatexmanmd




lvmlockd

lvmlockd

Service de lock LVM

   Les commandes LVM utilisent lvmlockd pour coordonner l'accès au stockage partagé. Quand LVM est utilisé sur des périphériques partagés par plusieurs hôtes, les locks vont:

- Coordonner la lecture/écriture dus métadonnées LVM
- Valider le cache des métadonnées
- Empêcher l'activation concurrente des volumes logiques

   lvmlockd utilise un gestionnaire de lock externe, les options sont:

sanlock Place les locks sur le disque dans le stockage LVM
dlm Utilise la communication réseaux et un gestionnaire de cluster

OPTIONS

--test|-T Mode test
--foreground|-f Ne lance pas en tâche de fond
--daemon-debug|-D Ne fork pas et affiche le débug sur stdout
--pid-file|-p path Spécifie le fichier PID
--socket-path|-s path Définis le chemin du socket
--syslog-priority|-S err|warning|debug Spécifie la priorité syslog
--gl-type|-g sanlock|dlm Définis le type de lock global
--host-id|-i num Définis l'id hôte pour le sanlock local
--host-id-file|-F path Un fichier contenant le sanlock local host_id
--sanlock-timeout|-o seconds Remplace le timeout d'E/S sanlock par défaut
--adopt|-A 0|1 récupère les locks d'une instance précédente de lvmlockd

Utilisation

   En utilisant LVM avec lvmlockd la première fois, il est nécessaire d'effectuer les étapes suivantes:

1. Choisir un gestionnaire de lock

        dlm Si dlm (ou corosync) est déjà utilisé par un autre logiciel cluster, sélectionner dlm. dlm utilise corosync qui nécessite une configuration additionnelle au delà du périmètre de ce document.
        sanlock sanlock ne dépend pas d'un logiciel de clustering

2. Configurer les hôtes pour utiliser lvmlockd Sur tous les hôtes où lvmlockd fonctionne, configurer lvm.conf:


       
locking_type = 1
use_lvmlockd = 1
# avec sanlock, assigner un host_id unique (de 1 à 2000) dans /etc/lvm/lvmlocal.conf local/host_id

3. Démarrer lvmlockd Utiliser un fichier d'init ou simplement lancer lvmlockd
4. Démarrer le gestionnaire de lock (sanlock) systemctl start wdmd sanlock ou (dlm) systemctl start corosync dlm
5. Créer un VG sur les périphériques partagés vgcreate --shared ‹vgname› ‹devices›. L'option shared définis le type de lock VG à sanlock ou dlm en fonctionne du gestionnaire utilisé.
6. Démarrer le VG sur tous les hôtes vgchange --lock-start. lvmlockd nécessite que les VG partagés soient démarrés avant qu'ils soient utilisés. Le lock manager démarre (joint) le lockspace du VG et peut prendre du temps.
7. Créer et activer les LV Les commandes lvcreate et lvchange sont utilisées pour créer et activer les LV dans un VG partagé. Un LV activé exclusivement sur un hôte ne peut pas être activé sur un autre. Quand plusieurs hôtes doivent utiliser le même LV simultannément, le LV peut être activé avec un lock partagé.

Démarrage et arrêt Une fois la configuration initiale, le démarrage et l'arrêt incluent les étapes suivantes. Elles sont effectuée manuellement ou en utilisant le gestionnaire de service système:

        - Démarrer lvmetad
        - Démarrer lvmlockd
        - Démarrer le lock manager
        - vgchange --lock-start
        - Activer les LV dans les VG partagés

La séquence d'arrêt est l'inverse:

        - Désactiver les LV dans les VG partagés
        - vgchange --lock-stop
        - Arrêter le gestionnaire de lock
        - Arrêter lvmlockd
        - Arrête lvmetad

Contrôle d'accès au VG

   Les termes suivants sont utilisés pour décrire les différentes formes de contrôle d'accès au VG.

   Un lockd VG est un VG partagé qui a un 'lock type' dlm ou sanlock. Il nécessite lvmlockd. Ces VG existent sur des stockages partagés qui sont visibles à plusieurs hôtes. Les commandes LVM utilisent lvmlockd pour effectuer le lock pour ces LV quand ils sont utilisés.

   Si le gestionnaire de lock pour le type de lock n'est pas disponible (par ex non démarré est échoue), lvmlockd n'est pas capable d'acquérir les locks pour les commandes LVM. Les commandes LVM qui lisent uniquement le VG vont généralement être autorisé à continuer sans locks dans ce cas. Les commandes pour modifier ou activer le VG vont échouer.

   Un local VG est utilisé par un simple hôte. Il n'a pas de type de lock ou un type 'none'. Les commandes LVM et lvmlockd n'effectuent pas de lock pour ces VG. Un VG local existe typiquement sur les périphériques locaux et ne peuvent pas être utilisés par différents hôtes.

   Si un VG local existe sur des périphériques partagés, il devrait être possédé par un simple hôte en ayant son system_id définis. Seul l'hôte avec un system_il correspondant peut utiliser le VG local. Un VG sans type de lock et sans system_id devrait être exclus de tous sauf un hôte en utilisant les filtres lvm.conf. Sans protection, un VG local sur un périphérique partagé peut facilement être endommagé ou détruit.

   Un VG clvm est un VG sur un stockage partagé qui nécessite clvmd pour le clustering.

VG lockés sur les hôtes n'utilisant pas lvmlockd

   Seul les hôtes qui utilisent les VG lockd devraient être configurés pour lancer lvmlockd. Cependant, les périphériques partagés utilisés par les VG lockd peuvent être visible aux hôte n'utilisant par lvmlockd. D'un hôte n'utilisant pas lvmlockd, les VG lockd sont ignorés de la même manière que les VG étranger. L'option --shared pour le reporting et les commandes d'affichage affichent les VG lockd sur un hôte n'utilisant pas lvmlockd, tout comme --foreign affiche les VG étranger.

Comparaison vgcreate

   Le type de contrôle d'accès VG est spécifié dans la commande vgcreate pour toutes les options vgcreate

vgcreate ‹vgname› ‹devices› Créé un VG local avec le system_id local quand lvmlockd et clvm ne sont pas configurés
Créé un VG local avec le system_id local quand lvmlockd est configuré
Créé un VG clvm quand clvm est configuré
vgcreate --shared ‹vgname› ‹devices› Nécessite que lvmlockd soit configuré est fonctionnel
Créé un VG lockd avec le type de lock sanlock|dlm en fonction du gestionnaire de lock courant
Les commandes LVM nécessitent des locks de lvmlockd pour utiliser le VG
lvmlockd obtient les locks depuis le gestionnaire de lock sélectionné
vgcreate -c|--clustered y ‹vgname› ‹devices› Nécessite que clvm soit configuré et fonctionnel
Créé un VG clvm avec le flag clustered
Les commandes LVM réclament les lockd à clvmd pour utiliser le VG

Créer le premier VG sanlock

   Créer le premier VG sanlock n'est pas protégé par le locking et nécessite une attention particulière. les sanlock existent dans le VG, donc ils ne sont pas disponible tant que le VG n'existe pas. Le premier sanlock VG contient le lock global.

- Le premier vgcreate doit avoir le chemin vers un périphérique qui n'a pas été initialisé avec pvcreate. L'initialisation pvcreate nécessite le lock global, qui ne sera pas disponible tant que le premier sanlock VG n'est pas crée
- En lançant vgcreate pour le premier sanlock VG, s'assurer que le périphérique utilisé n'est pas utilisé par une autre commande LVM. L'allocation de périphériques partagés est généralement protégé par le lock global, mais cela ne peut pas être fait pour le premier sanlock VG qui va maintenir le lock global
- En lançant vgcreate pour le premier sanlock VG, s'assurer que le nom du VG n'est pas utilisé par une autre commande LVM. L'unicité des noms des VG est généralement assurée par le lock global.
- Parce que le premier sanlock VG contient le lock global, ce VG doit être accessible à tous les hôtes qui utilisent les VG partagés avec sanlock. Tous les hôtes doivent utiliser le lock global depuis le premier VG sanlock.

Utiliser les VG lockd

   Il y a quelques considération spéciales en utilisant les VG lockd. Quand use_lvmlockd est activé dans lvm.conf, puis le premier VG lockd est créé, il n'existe pas de lock global. Dans cet état initial, les commandes LVM tentent et échouent à acquérir le lock global, produisant une alert, et certaines commande sont désactivée. Une fois le premier VG lockd créé, le lock global sera disponible, et LVM sera pleinement opérationnel.

   Quand un nouveau VG lockd est créé, son espace de lock est automatiquement démarré sur l'hôte qui l'a créé. Les autres hôte doivent lancer vgchange --lock-start pour démarrer le nouveau VG avant de pouvoir l'utiliser.

   Depuis la commande vgs, les VG lockd sont indiqués par 's' dans le champ attr. Le type de lock et les arguments de lock peuvent être affichés avec vgs -o+locktype,lockargs

   Les VG lockd doivent être démarrés et stoppé, , à la différence d'autres types de VG.

   vgremove d'un VG lockd échoue si d'autres hôte ont le VG démarré. Lance vgchange --lock-stop ‹vgname› sur tous les autres hôtes avant un vgremove.

Démarrer et stopper les VG

   Démarrer un VG lockd (vgchange --lock-start) indique au gestionnaire de lock de démarrer (joindre) le lockspace pour le VG sur l'hôte où il est lancé. Les locks créés pour le VG sont disponibles pour les commandes LVM sur l'hôte. Avant qu'un VG soit démarré, seu les commandes LVM qui lisent/affichent le VG sont autorisés à continuer sans locks. En utilisant le type de lock sanlock, démarrer un VG peut prendre du temps.

   Stopper un VG lockd (vgchange --lock-stop) indique au gestionnaire de stopper (quitter) le lockspace pour le VG sur l'hôte où il est lancé. Un VG ne peut pas être stoppé pendant qu'il a des LV actifs.

   Un VG lockd peut être démarré une fois que les points suivants soient vrai:

- lvmlockd est en cours de fonctionnement
- le gestionnaire de lock est en cours de fonctionnement
- Le VG est visible au système

Un VG lockd peut être stoppé si tous les LV sont désactivés. Tous les VG lockd peuvent être démarrés/stoppé en utilisant:
vgchange --lock-start
vgchange --lock-stop
Les VG individuels peuvent être démarrés/stoppé en utilisant:
vgchange --lock-start ‹vgname› ...
vgchange --lock-stop ‹vgname› ...
Pour que vgchange n'attende pas que le démarrage soit complété:
vgchange --lock-start --lock-opt nowait ...
lvmlockd peut être appélé directement pour stopper tous les lockspaces
lvmlockctl --stop-lockspaces

   Pour démarrer seulement les VG lockd sélectionnés, utiliser lvm.conf activation/lock_start_list. Quand défini, seul les VG nommés dans cette liste sont démarrés par vgchange. Si la liste n'est pas définie, tous les VG lockd visibles sont démarrés.

Démarrage et activation automatique

Les scripts ou programmes dans l'hôte qui démarrent automatiquement les VG utilisent l'option auto pour indiquer que la commande est lancée automatiquement par le système:
vgchange --lock-start --lock-opt auto [‹vgname› ...]

   Sans configuration additionnelle, l'option auto n'a pas d'effet; tous les VG sont démarrés sauf restreint par lock_start_list

   Cependant, quand activation/auto_lock_start_list dans lvm.conf est définis, la commande de démarrage auto effectue une phase de filtrage supplémentaire pour tous les VG démarrés, en testant chaque nom de VG avec la liste auto_lock_start_list. Cette directive définis les VG lockd qui seront démarré par la commande auto. Les VG lockd visible non incus dans la liste sont ignorés par la commande de démarrage auto. Si la liste est indéfinis, tous les noms de VG passent ce filtre.

   auto_lock_start_list permet à un utilisateur de sélectionner certains VG lockd qui devraient être démarrés automatiquement par le système. Pour utiliser l'auto activation des LV lockd, (voir auto_activation_volume_list), le démarrage automatique les VG lockd correspondants sont nécessaire.

Lock interne

   Pour optimiser l'utilisation de LVM avec lvmlockd, il y'a 3 types de locks:

GL lock

   Le lock global est associé avec les informations globales. qui ne sont pas isolés à un seul VG. Cela inclus l'espace de nom VG global, le jeu de périphérique non-utilisés et les PV orphelins et les propriétés des PV orphelins. Le lock global est utilisé en mode partagé par les commandes qui lisent cette information, ou en mode exclusif par les commandes que la change.

   La commande vgs acquière le lock global en mode partagé parce qu'il reporte la liste de tous les noms des VG.

   vgcreate acquière le lock global en mode exclusif parce qu'il créé un nouveau nom VG, et prend un PV de la liste des PV non utilisés

   Quand une commande LVM est donnée avec un tag, ou utilise select, il doit lire tous les VG pour correspondre au tag ou à la sélection, qui nécessite d'acquérir le lock global.

VG lock

   Un lock VG est associé avec chaque VG. Il est obtenu en mode partagé pour lire le VG et en mode exclusif pour le changer. Ce lock sérialise l'accès au VG avec toutes les autres commandes LVM accédant au VG depuis tous les hôtes.

   La commande vgs n'acquière le lock global que pour lire la liste de tous les noms VG, mais acquière le lock VG pour chaque VG avant de le lire.

lock LV

   Un lock LV est acquis avant que le LV soit activé, et est relâché après que le LV soit désactivé. Si le lock LV ne peut pas être acquis, le LV n'est pas activé. Les locks LV sont persistant et restent en place une fois l'activation faite. Les locks GL et VG sont transitoires et sont maintenus seulement pendant une commande LVM.

Retentatives de lock

   Si une requête pour un lock GL ou VG échoue à cause d'un conflit de lock avec un autre hôte, lvmlockd retente automatiquement pendant un cour lapse de temps avant de retourner une erreur à la commande LVM. Si ces retentatives sont insuffisantes, la commande LVM va retenter toute la demande de lock un nombre de fois spécifié par global/lvmlockd_retries avant d'échouer. Si une requête pour un lock LV échoue à cause d'un conflit de lock, la commande échoue immédiatemen.

Gérer le lock global dans les VG sanlock

   Le lock global existe dans un des VG sanlock. Le premier VG sanlock créé va contenir le lock global. Les VG sanlock suivant vont chacun contenir des locks global désactivés qui peuvent être activés ultérieurement si nécessaire.

   Le VG contenant le lock global doit être visible à tous les hôtes utilisant les VG sanlock. Cela peut être une raison de créer un petit VG sanlock, visible à tous les hôte, et dédié à maintenir ce lock global. Bien que non requis, cette stratégie peut éviter les problème si des VG sont déplacés ou supprimés.

   La commande vgcreate acquière typiquement le lock global, mais dans le cas du premier VG sanlock, il n'y a pas de lock global à acquérir tant que le premier vgcreate n'est pas complété. Donc, créer le premier VG sanlock est un cas spécial qui ignore le lock global.

   vgcreate pour un VG sanlock détermine qu'il est le premier à exister si aucun autre VG sanlock n'est visible. Il est possible que d'autre VG sanlock existent mais ne sont pas visible à l'hôte que lance vgcreate. Dans ce cas, vgcreate créé un nouveau VG sanlock avec le lock global activé. Quand l'autre VG sanlock avec le lock global apparaît, lvmlockd va voir plus d'un VG avec un lock global activé, et les commandes LVM vont reporter qu'il y a des locks global dupliqués.

Si la situation se produit où plus d'un VG sanlock contient un lock global, le lock global devrait être désactivé manuellement dans tous sauf un avec la commande:
lvmlockctl --gl-disable ‹vgname›

Un problème opposé peut se produire si le VG maintenant le lock global est supprimé. Dans ce cas, aucun lock global n'existe, et les commande LVM échouent à l'acquérir. Dans ce cas, le lock global doit être manuellement activé dans un des VG sanlock restant avec la commande:
lvmlockctl --gl-enable ‹vgname›

   Un petit VG sanlock dédié pour maintenir le lock global peut éviter ce cas.

LV lvmlock interne

   Un VG sanlock contient un LV caché appelé lvmlock qui maintient les locks sanlock. vgreduce ne peut pas supprimer le PV maintenant le LV lvmlock. Pour supprimer ce PV, changer le type de lock VG à none, lancer vgreduce, puis changer le type lock VG à sanlock. Similairement, pvmove ne peut pas être utilisé dans un PV utilisé par le LV lvmlock. Pour placer le LV lvmlock dans un périphérique spécifique, créer le VG avec seulement ce périphérique, puis utiliser vgextend pour ajouter d'autres périphériques.

LV partagés

   Quand un LV est utilisé en concurrence par plusieurs hôtes, le LV peut être activé sur plusieurs hôtes en utilisant un lock partagé. Pour activer le LV avec un lock partagé: lvchange -asy vg/lv

   Avec lvmlockd, une mode d'activation non-spécifié est toujours exclusif, par exemple, -ay vaut -aey.

   Si le type LV ne permet pas au LV d'être utilisé en concurrence par plusieurs hôtes, le lock d'activation partagé n'est pas permis et la commande lvchange va reporter une erreur. Les types LV qui ne peuvent pas être utilisés en concurrence depuis plusieurs hôtes sont les thin, cache, raid, mirror, et snapshot.

   lvextend sur un LV avec des locks partagé n'est pas encore permis. Le LV doit être désactivé, ou activé exclusivement pour lancer lvextend.

Récupérer les locks sanlock des PV perdus

   L'approche générale est de changer le type de lock VG à none, puis remettre à sanlock. Cela recréé le LV lvmlock interne et les locks nécessaires. D'autres étapes peuvent être nécessaire pour gérer les PV manquants.

Erreurs système de lock

lvmlockd Si lvmlockd échoue ou est terminé pendant qu'il maintient les lock, les locks sont orphelins dans le gestionnaire de lock. lvmlockd peut être redémarré avec une options pour adopter les locks dans le gestionnaire de lock qui les maintenait depuis une instance précédente.
dlm/corosync Si dlm ou corosync échoue, le système de clustering va isoler l'hôte en utilisant une méthode configuré dans le cluster. Les commandes LVM sur les autres hôtes ne pourront pas acquérir de lock tant que le procéssus de récupération n'est pas terminé.

Erreur de stockage sanlock

   Si le PV sous un LV lvmlock dans un VG sanlock est déconnecté, ne répond pas ou est trop lent, sanlock ne peut pas renouveler le bail pour les locks des VG. Après un certain temps, le bail expire, et les locks que l'hôte possède dans le VG peuvent être acquis par d'autres hôtes. Le VG doit être désactivé sur l'hôte avec le bail expiré avant que d'autres hôtes puissent acquérir les locks.

   Quand le service sanlock détecte que le bail du stockage est perdu, il lance la commande lvmlockctl --kill ‹vgname›. Cette commande émet un message syslog indiquant que le bail du stockage est perdu pour le VG et les LV doivent être immédiatement désactivés.

   Si aucun LV n'est actif dans le VG, le lockspace avec un bail expiré est supprimé, et les erreurs sont reportés en tantant d'utiliser le VG. Utiliser lvmlockctl --drop pour effacer le lockspace gelé de lvmlockd.

   Si le VG a des LV actifs quand le lock est perdu, les LV doivent être rapidement désactivés avant que le bail lockspace n'expire. Une fois tous les LV désactivés, lvmlockctl --drop ‹vgname› efface le lockspace ede lvmlockd. Si tous les LV dans le VG ne sont pas désactivés dans les 40 secondes, sanlock réinitialise l'hôte en utilisant le watchdog local. La réinitialisation machine est effectivement une forme sévère de désactivation les LV avant de pouvoir être activés dans d'autres hôtes.

   Dans le future, lvmlockctl kill pourra tenter automatiquement de forcer la désactivation des LV avant le que bail n'expire.

Erreur du service sanlock

   Si le service sanlock échoue pou quitte alors que le lockspace est démarré, le watchdog local réinitialise l'hôte. C'est nécessaire pour protéger les ressources d'application qui dépendent des bails sanlock.

Changer le nom du cluster dlm

   Quand un VG dlm est créé, le nom du cluster est sauvegardé dans les métadonnées du VG. Pour utiliser le VG, un hôte doit être dans le cluster dlm nommé. Si le nom change, ou le VG est déplacé dans un nouveau cluster, le nom du cluster dlm sauvegardé dans le VG doit également être changé.

Pour voir le nom du cluster dlm dans le VG, utiliser
vgs -o+locktype,lockargs ‹vgname›
Pour changer le nom du cluster dlm dans le VG:

        - stopper le VG sur tous les hôte
        vgchange --lock-stop ‹vgname›
        - Changer le type de lock VG à none
        vgchange --lock-type none ‹vgname›
        - Changer le nom du cluster dlm sur l'hôte ou déplacer le VG dans le nouveau cluster. Le nouveau cluster dlm doit être actif sur l'hôte
        cat /sys/kernel/config/dlm/cluster/cluster_name
        - Changer le type de lock VG à dlm qui définis le nouveau nom du cluster
        vgchange --lock-type dlm ‹vgname›
        Démarrér le VG sur les hôte qui l'utilisent
        vgchange --lock-start ‹vgname›

   Pour changer le nom du cluster dlm dans le VG quand le nom du cluster dlm a déjà changé, ou le VG a déjà été déplacé dans un autre cluster:

        - S'assurer que le VG n'est pas utilisé par un hôte
        - Le nouveau cluster dlm doit être actif
        cat /sys/kernel/config/dlm/cluster/cluster_name
        - Changer le type de lock VG à none
        vgchange --lock-type none --force ‹vgname›
        - Changer le type de lock à dlm
        vgchange --lock-type dlm ‹vgname›
        Démarrer le VG sur les hôtes qui l'utilisent
        vgchange --lock-start ‹vgname›

Changer un VG local en VG lockd

   Tous les LV doivent être inactifs pour changer le type de lock. lvmlockd doit être configuré et en cours de fonctionnement.

Changer un VG local en VG lockd avec la commande
vgchange --lock-type sanlock|dlm ‹vgname›
Démarrér le VG sur les hôte qui l'utilisent
vgchange --lock-start ‹vgname›

Changer un VG lockd en VG local

   Stopper le VG lockd sur tous les hôtes, puis lancer
   Pour changer un VG d'un type lockd à un autre, le changer d'abord en un VG local, puis dans le nouveau type

Changer un VG clvm en VG lockd

Tous les LV doivent être inactif pour changer le type de lock. Changer d'abord le VG clvm en VG local. Dans un cluster clvm en cours de fonctionnement, changer un VG clvm en VG local avec
vgchange -cn ‹vgname›
Si le cluster clvm n'est plus en cours de fonctionnement sur aucun nœud, des options supplémentaires peuvent être utilisées pour forcer le VG local
vgchange --config 'global/locking_type=0 global/use_lvmlockd=0' -cn ‹vgname›
Une fois le VG en local, suivre les étapes dans changer un VG local en un VG lockd.

Limites des VG lockd

   Listes de ce qui ne fonctionne pas encore dans les VG lockd

        - Créer un nouveau pool thin et un nouveau lv thin en une seule commande
        - Utiliser lvcreate pour créer des pools cache ou des LV cache (utiliser lvconvert)
        - Utiliser des origines externes pour les LV thin
        - Spliter les mirroirs est snapshots des LV
        - vgsplit
        - vgmerge
        - redimensionner un LV qui est actif dans le mode partagé sur plusieurs hôtes.

Changement lvmlockd depuis clvmd

   Bien que lvmlockd et clvmd sont des système entièrement différents, l'utilisation des commande LVM restent similaires. Les différences sont plus notables en utilisant l'option sanlock de lvmlockd. La différence d'utilisation visible entre les VG lockd avec lvmlockd et les VG clvm avec clvmd sont:

        - lvm.conf doit être configuré pour utiliser soit lvmvlockd (use_lvmlockd=1) soit clvmd (locking_type=3), mais pas les 2
        - vgcreate --shared créé un VG lockd, et vgcreate --clustered y créé un VG clvm
        - lvmlockd ajoute l'option pour utiliser sanlock pour le locking, évitant le besoin d'un cluster réseau.
        - lvmlockd utilise le mode d'activation exclusif par défaut quand le mode l'activation n'est pas spécifié. -ay signifie -aey
        - Les commandes lvmlockd s'appliquent toujours à l'hôte local, et n'a pas d'effet sur les hôte distants
        - lvmlockd fonctionne avec les pools thin et cache
        - lvmlockd fonctionne avec lvmetad
        - lvmlockd sauve le nom du cluster dans le VG lockd utilisant dlm
        - lvmlockd nécessite de démarrer/stopper les VG lockd avec vgchange --lock-start et --lock-stop
        - vgremove d'un VG sanlock peut échouer en indiquant que tous les hôtes ne sont pas stoppés dans le lockspace du VG
        - vgreduce ou pvmove d'un PV dans un VG sanlock échoue s'il maintient le LV lvmlock
        - lvmlockd utilise les retentatives lock au lieu de files d'attentes de lock
        - lvmlockd inclus des options de reporting VG lock_type et lock_args, et une options de reporting LV lock_args pour voir les champs de métadonnées correspondants
        - Les les commande vgs, le 6ème champ, "s" pour "shared" est affiché pour les VG lockd
        - Si lvmlockd échoue ou est terminé pendant qu'il est en cours d'utilisation, les locks restent, mais sont orphelins dans le gestionnaire de lock. lvmlockd peut être redémarré avec une option pour adopter les locks orphelins depuis une précédente instance de lvmlockd.
^
23 mai 2016

htmlpdflatexmanmd




lvmpolld

lvmpolld

Service lvm d'interrogation

   lvmpolld est un service de scrutin pour lvm. Le service reçoit des requêtes pour interroger les opérations déjà initialisée dans la commande lvm2. Les requêtes d'interrogation viennent de lvconvert, pvmove, lvchange ou vgchange.

   Le but de lvmpolld est de réduire le nombre de processus en tâche de fond par opération. Il élimine également la possibilité de terminer de manière non-solicitée les processus par des facteurs externes.

   lvmpolld est utilisé par lvm seulement si permis dans lvm.conf en spécifiant le paramètre global/use_lvmpolld.

OPTIONS

   Pour lancer le service dans un environnement de test, pidfile_path et socket_path doivent être changés.

-f, --foreground Ne fork pas, ne lance pas en tâche de fond
-l, --log {all|wire|debug} Sélectionne le type de message de log à générer. Les messages sont loggés par syslog.
-p, --pidfile chemin du fichier pid. défaut: /run/lvmpolld.pid
-s, --socket Chemin du fichier socket. Défaut: /run/lvm/lvmpolld.socket
-t, --timeout Le service s'arrête après le temps donné sans opération. à 0, ne quitte jamais
-B, --binary Chemin alternatif du binaire lvm.
--dump Contacte le service lvmpolld en cour de fonctionnement pour obtenir l'état complet et affiche les données au format brut.

Variables d'environnement

LVM_LVMPOLLD_PIDFILE Chemin du fichier pidfile
LVM_LVMPOLLD_SOCKET Chemin du fichier socket
^
06 juin 2016

htmlpdflatexmanmd




lvmsystemid

lvmsystemid

ID système LVM

   Les VG locaux peuvent exister sur des stockages partagés où ils sont visibles à plusieurs hôtes. Ces VG sont prévus pour être utilisé par une seule machine. Un system_id identifiant un hôte unique peut être assigné à un VG pour indiquer le propriétaire du VG. Ce propriétaire peut utiliser le VG normalement, et tous les autres hôtes vont l'ignorer.

   Le system id n'est pas une propriété dynamique, et peut seulement être changée dans des circonstances très limitées. Ces changements limités ne sont pas parfaitement reflétés via les hôtes. Une vue plus cohérente de stockage partagée nécessite d'utiliser un système de lock inter-hôte pour coordonner l'accès et mettre à jours les caches.

   Le system_id est une chaîne identifiant un hôte de manière unique. Il peut être définis manuellement ou automatiquement par lvm en utilisant un identifiant unique déjà disponible dans l'hôte, par exemple machine-id ou uname.

   Dans vgcreate, le system_id local est sauvé dans les métadonnées du VG. L'hôte local possède le nouveau VG, et les autres hôtes ne peuvent pas l'utiliser.

   Un VG sans system_id peut être utilisé par n'importe quel hôte. un foreign VG est un VG avec un system_id tel que vu par un hôte avec un system_id qui ne matche pas le system_id du VG.

   Les caractères de system_id valides sont les mêmes que les caractères valides pour un nom de VG. Si un system_id contient des caractères invalides, ils sont omis. Si un system_id dépasse la longueur maximale (128), il est tronqué.

Limitations et alertes

   pour bénéficier pleinement du system_id, tous les hôtes doivent avoir un system_id, et les VG également. Un VG sur un stockage partagé peut être endommagé ou détruit dans certains cas.

- Un VG sans system_id peut être utilisé sans restriction par tous les hôtes, même les hôtes qui ont un system_id. Pour vérifier qu'un VG a un system_id, utiliser vgs -o+systemid. Pour ajouter un system_id, utiliser vgchange --systemid
- 2 hôtes ne devraient pas avoir le même system_id.
- Les PV orphelins (ou les périphériques inutilisés) sur des stockages partagés sont complètement non-protégés par le systemid. Les commandes qui utilisent ces PV, tel que vgcreate ou vgextend, peut effectuer des opérations conflictuelles et corrompre les PV.

types d'accès VG

   Un VG local est prévu pour être utilisé par un simple hôte. Un VG partagé ou clusterisé est prévu pour être utilisé par plusieurs hôtes. Ils peuvent être distingués par:

non-restreint: un VG local qui n'a pas de system_id. Ce type de VG n'est pas protégé est accéssible à tous les hôtes
possédé: un VG local qui a un system_id, tel que vu par un hôte anay un system_id correspondant. Ce VG est accessible à l'hôte
Étranger: un VG local qui a un system_id, tel que vu par un hôte ayant un system_id qui ne correspond pas.
Exporté: un VG local qui a été exporté avec vgexport et n'a pas de system_id. Ce type de VG ne peut être accédé que par vgimport.
partagé: un VG partagé ou "lockd" a lock_type définis et pas de system_id. il est utilisé sur un stockage partagé pour plusieurs hôtes, uniquement via lvmlockd
clusterisé: Un VG clusterisé ou "clvm" a le flag clustered mis et pas de system_id. Il est utilisé sur un stockage partagé par plusieurs hôtes, en utilisant clvmd.

system_id_source Le system_id d'un hôte peut être définis de plusieurs manières. lvm.conf global/system_id_source définis la méthode utilisée pour trouver le system_id local:

        none lvm n'utilise pas de system_id
        machineid Le contenu de /etc/machine-id est utilisé comme id système
        uname La chaîne utsname.nodename de uname(2) est utilisé comme system_id.
        lvmlocal Définis dans lvmlocal.conf local/system_id
        file définis dans un fichier spécifié par lvm.conf global/system_id_file

   Changer system_id_source change le system_id, ce qui peut empêcher l'utilisation de VG. Si un system_id_source autre que none échoue à la résolution du system_id, l'hôte sera autorisé à accéder aux VG sans system_id, mais ne sera pas autorisé à accéder aux VG avec un system_id.

extra_system_ids

   Dans certains cas, l'hôte qui lance la commande assigne son propre system_id au nouveau VG. Pour le remplacer par un autre system_id, utiliser: vgcreate --systemid ‹SystemID› ‹VG› ‹Devices›. Si l'argument de --systemid est une chaîne vide, le VG est créé sans system_id.

Rapport/affichage

   Le system_id d'un VG est affiché avec l'option de repporting systemid. Les commandes de rapport/affichage ignorent les VG étrangés par défaut. Pour afficher ces VG, l'option --foreign peut être utilisé. Cela implique que la commande lise les VG sur les disques et non via lvmetad.

vgexport/vgimport

   vgexport efface le system_id. Les autres hôtes continuent à voir le VG nouvellement exporté comme étrangé à cause du caching local (quand lvmetad est utilisé). Mettre à jours manuellement le cache avec pvscan --cache pour reconnaître le nouveau VG exporté.

   vgimport définis le system_id. vgimport scanne automatiquement les nouveaux VG exportés.

vgchange

Un hôte peut changer le system_id de ses propres VG, mais la commande nécessite confirmation du fait que l'hôte perd l'accès à ces VG
vgchange --systemid SystemID VG

   Le system_id peut être supprimé d'un VG en spécifiant une chaîne vide comme nouveau system_id. Un hôte ne peut pas changer directement le system_id d'un VG étranger. Pour déplacer un VG d'un hôte à un autre, vgexport et vgimport doivent être utilisés. Pour devenir propriétaire d'un VG étranger, un hôte peut ajouter le system_id étranger à sa liste extra_system_ids, changer le system_id de ce VG, puis supprimer le system_id de sa extra_system_ids.

VG partagés

   Un VG partagé/lockd n'a pas de system_id, permettant à plusieurs hôte de l'utiliser via lvmlockd. Changer un VG en un type lockd efface le system_id.

VG clusterisés

   Un VG clusterisé/clvm n'a pas de system_id, permettant à plusieurs hôte de l'utiliser via clvmd. Changer un VG en type clustered efface le system_id existant. Changer le VG clustered en non-clustered définis le system_id de l'hôte qui a lancé la commande vgchange.

creation_host

   dans vgcreate, le champ de métadonnées VG creation_host est définis par défaut à uname de l'hôte. Ce champ ne peut pas être changé, et n'est pas utilisé pour contrôler l'accès. Quand system_id_source est "uname", system_id et creation_host sont les même.

Orphelins

   Les VG orphelins sont des périphériques non-utilisé. À cause de celà, il ne sont pas protégés par un system_id, et tous les hôtes peuvent les utiliser. La coordination des changements des changements en VG orphelins est hors du périmètre du system_id.

   Les effets sont spécialement évidents quand lvm utilise lvmetad. Par exemple, si plusieurs hôte voient un VG orphelin, et un hôte créé un VG en utilisant l'orphelin, les autres hôtes continuent de le voir orphelin. Rien n'empêche les autres hôte d'utiliser ce PV et le corrompre. Si les autres hôte lancent une commande de rescan, et mettent à jours lvmetad, ils le reconnaîtront.
^
22 mai 2016

htmlpdflatexmanmd




lvmthin

lvmthin

Provisionning léger lvm

   Les blocks dans un volume logique standard sont alloués quand le LV est créé, mais les blocks dans un provisionning léger sont alloués quand ils sont écris. À cause de celà, un LV thin provisioned a une taille virtuelle, et peut être plus grand que l'espace physique disponible. La quantité de stockage physique fournie pour les LV thin provisioned peut être augmentée ultérieurement en cas de besoin.

   Les blocks dans un LV standard sont alloués (durant la création) dans le VG, mais les blocks dans un LV thin sont alloués (durant l'utilisation) depuis un "thin pool LV" spécial. Ce pool contient des blocks de stockage physique, et les blocks dans les LV thin référencent simplement les blocks dans le pool.

   Un thin pool LV doit être créé avant que les LV thin puissent y être créés. Un thin pool LV est créé en combinant 2 LV standard: Un LV de données qui maintient les blocks pour les LV thin, et un LV de métadonnées, qui maintient les blocks de données associés avec les LV thin.

   Les snapshots de LV thin sont inefficaces parce que les blocks de données communs à un LV thin et un de ses snapshots sont partagés. Les snapshots peuvent être plus de LV thin ou d'autre snapshots thin. Les blocks communs à des snapshots récursifs sont également partagés dans le thin pool. Il n'y a pas de limite ou de dégradation des séquences de snapshots.

   Vu que les LV thin ou les LV snapshot y sont écris, ils consomment des blocks de données dans le pool. À mesure que les blocks de données diminuent dans le pool, il peut être nécessaire d'en fournir. Cela peut être en étandant le pool. Supprimer les LV thin ou les snapshots du pool peut également libérer des blocks dans le pool. Cependant, supprimer les LV n'est pas toujours une manière efficace de libérer de l'espace parce que la quantité est limité au nombre de blocks non partagés avec d'autres LV dans le pool.

   L'allocation de block incrémental de pools thin peut causer les LV à devenir fragmentés. Les LV standard évitent généralement en allouant tous les blocks en une fois durant la création.

Termes Thin

ThinDataLV Grand LV créé dans un VG, utilisé par le pool thin pour stocker les blocks ThinLV
ThinMetaLV Petit LV créé dans un VG, utilisé pour suivre l'utilisation des blocks de données
ThinPoolLV Combinaison de ThinDataLV et ThinMetaLV, contenant les ThinLV et les SnapLV
ThinLV Créé depuis le ThinPoolLV, apparaît blanc après la création
SnapLV Snapshot créé depuis le ThinPoolLV, apparaît comme un snapshot d'un autre LV après la création

Utilisation Thin

   La méthode première pour utiliser le provisionning thin est:

1. Créer ThinDataLV Créer un LV qui va maintenir les données du pool thin
lvcreate -n pool0 -L 10G vg0
2. Créer ThinMetaLV Créer un LV qui va maintenir les métadonnées
lvcreate -n pool0meta -L 1G vg0
3. Créer le ThinPoolLV Combiner les données et métadonnées en un LV pool
lvconvert --type thin-pool --poolmetadata vg0/pool0meta vg0/pool0
4. Créer un ThinLV Créer un nouveau LV thin depuis le pool. Ce LV est créé avec une taille virtuelle
lvcreate -n thin1 -V 1T --thinpool vg0/pool0
lvcreate -n thin2 -V 1T --thinpool vg0/pool0
5. Créer un SnapLV Créer des snapshots d'un ThinLV ou SnapLV existant. Ne pas spécifier -L, --size pour créer un snapshot.
lvcreate -n thin1s1 -s vg0/thin1
lvcreate -n thin1s2 -s vg/thin1
lvcreate -n thin1s1s1 -s vg/thin1s1
6. Activer un SnapLV Les snapshots thin sont créés avec le flag "activation skip", indiqué par l'attribut "k". Utiliser -K avec lvchange ou vgchange pour activer les snapshots avec l'attribut "k"
lvchange -ay -K vg0/thin1s1

Syntaxe alternative pour spécifier le type thin-pool

La syntaxe pour créer un pool est:
lvconvert --type -thin-pool --poolmetadata VG/ThinMetaLV VG/ThinDataLV
Un LV existant est convertis en un pool thin en changeant son type en thin-pool. Une syntaxe alternative peut être utilisée pour la même opération:
lvconvert --thinpool VG/ThinDataLV --poolmetadata VG/ThinMetaLV

   Le type thin-pool est déduit par lvm; l'option --thinpool n'est pas un alias pour --type thin-pool. L'utilisation de l'option --thinpool ici est différente de l'utilisation de l'option --thinpool en créant un LV thin, où il spécifie le pool dans lequel le LV thin est créé.

Automatic pool metadata LV

Un LV thin de données peut être convertis en un LV pool thin sans spécifier de LV metadata. LVM créé automatiquement un LV metadata dans le même VG
lvcreate -n pool0 -L 10G vg0
lvconvert --type thin-pool vg0/pool0

Spécifier des périphériques pour les LV de données et de métadonnées

Les LV de données et de métadonnées dans un thin pool sont mieux créés sur des périphériques physiques séparés. Pour cela, spécifie les nom de périphérique à la fin de la ligne lvcreate. Cela peu être utile pour utiliser des périphériques rapides pour les métadonnées
lvcreate -n pool0 -L 10G vg0 /dev/sdA
lvcreate -n pool0meta -L 1G vg0 /dev/sdB
lvconvert --type thin-pool --poolmetadata vg0/pool0meta vg0/pool0

Tolérance aux panne en utilisant RAID

Pour la tolérance aux panne, utiliser un raid pour le pool de données et de métadonnées. C'est recommandé pour les métadonnées
lvcreate --type raid1 -m 1 -n pool0 -L 10G vg0 /dev/sdA /dev/sdB
lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg0 /dev/sdC /dev/sdD
lvconvert --type thin-pool --poolmetadata vg0/pool0meta vg0/pool0

LV metadata spare

La première fois qu'un LV pool est créé, lvm crée un lv metadata space dans le VG. Ce comportement peut être contrôlé avec l'option --poolmetadataspare y|n.

   Pour créer le LV pmspare (pool metadata spare), lvm crée d'abord un LV avec un nom par défaut, par ex lvol0, puis le convertit en un LV caché avec le suffix _pmspare, par ex, lvol0_pmspare. Un pmspare est conservé dans un VG à utiliser pour tout pool thin. Le pmspare LV ne peut pas être créé explicitement, mais peut être supprimé explicitement.

Exemple

lvcreate -n pool0 -L 10G vg0
lvcreate -n pool0meta -L 1G vg0
lvconvert --type thin-pool --poolmetadata vg0/pool0meta vg0/pool0

Vérification et réparation des métadonnées

Si un thin pool metadata est endommagé, il peut être réparé. Vérifier et réparer un thin pool metadata est analogue à lancer fsck sur un système de fichier.

Quand un thin pool LV est activé, lvm lance la commande thin_check pour vérifier les métadonnées dans le LV de métadonnées du pool.

lvm.conf thin_check_executable peut être définis avec une chaîne vide ("") pour désactiver l'étape thin_check. Ce n'est pas recommandé.
lvm.conf thin_check_options Contrôle les options de commande utilisées pour la commande thin_check

   Si la commande thin_check trouve un problème avec les métadonnées, le LV pool n'est pas activé, et les métadonnées doivent être réparées.

Les commandes de réparation simple ne réussisent pas toujours. La réparation avancée peut nécessiter d'éditer les métadonnée du pool thin et les métadonnées lvm.
lvconvert --repair VG/ThinPoolLV

   La réparation effectue les étapes suivantes:

1. Créer une nouvelle copie réparée des métadonnées lvconvert lance la commande thin_repair pour lire les métadonnées endommagées dans le LV de métadonnées existant, et écrit une nouvelle copie réparée dans le LV pmspare du VG.
2. Remplacer le thin pool metadata LV Si l'étape 1 est réussie, le LV de métadonnées du pool thin est remplacé avec le LV pmspare contenant les métadonnées corrigées. L'ancien devient visible avec le nouveau nom ThinPoolLV_tmetaN (où N est 0, 1, ...).

   Si la réparation fonctionne, le LV pool thin et ses LV thin peuvent être activés, et le LV contenant les métadonnées du pool thin endommagé peut être supprimé. Il peut être utile de déplacer le nouveau LV de métadonnées vers un meilleur PV.

   Si la réparation ne fonctionne pas, le LV du pool thin et ses LV thin sont perdus.

   Si les métadonnées sont restaurées manuellement avec thin_repair directement, le LV de métadonnées du pool peuvent être échangé avec un autre LV contenant les nouvelles métadonnées:

Activation des snapshots thin

Quand un LV snapshot thin est créé, il a le flag "activation skip" par défaut. Ce flag est indiqué par l'attribut 'k' affiché par lvs
lvs vg/thin1s1

   Ce flag indique que le LV snapshot n'est pas activé par des commande d'activation normales. Ce comportement ne s'applique pas aux commandes de désactivation.

   Un LV snapshot avec l'attribut 'k' peut être activé en utilisant -K (ou --ignoreactivationskip) en plus de l'option standard -ay (ou --activate y)

Commande pour activer un LV snapshot thin:
lvchange -ay -K VG/SnapLV

   Le flag persistant "activation skip" peut être désactivé durant lvcreate, ou ultérieurement avec lvchange en utilisant l'option -kn (ou --setactivationskip n). Il peut être activé avec -kv (ou --setactivationskip y).

   Quand le flag 'activation skip' est supprimé, les commandes d'activation normales vont activer le LV, et l'option -K n'est pas nécessaire

La commande pour créer un LV snapshot sans le flag:
lvcreate -kn -n SnapLV -s VG/ThinLV
Commande pour supprimer le flag d'un LV snapshot:
lvchange -kn VG/SnapLV

lvm.conf auto_set_activation_skip Contrôle le paramètre d'activation utilisé par lvcreate

Supprimer les LV pool thin, les LV thin et les snapshots

   Supprimer un LV thin et ses snapshots associés retourne les blocks utilisés au LV pool thin. Ces blocks sont réutilisés pour d'autres LV thin et snapshots.

   Supprimer un LV pool thin supprime le LV de données, et le LV de métadonnées et retourne l'espace au VG.

   La suppression de LV pool thin, LV thin et snapshots avec lvremove, ne peuvent pas être récupérés avec vgcfgrestore. vgcfgbackup ne récupère pas les métadonnées du pool.

Gérer manuellement l'espace libre d'un LV pool thin

   L'espace disponible dans le LV pool thin peut être affiché avec la commande lvs. L'espace libre peut être ajouté en étendant le LV pool thin.

Commande pour étendre l'espace du pool:
lvextend -L Size VG/ThinPoolLV

Exemple

Doubler l'espace physique d'un pool:
lvextend -L+10G vg0/pool0

   D'autres méthodes pour augmenter l'espace dans le pool inclus de supprimer un LV thin et des snapshots associés, ou lancer fstrim dans le système de fichier utilisant un LV thin.

Gérer manuellement l'espace de métadonnées d'un LV pool thin

   L'espace de métadonnées disponible dans un LV pool thin peut être affiché avec la commande lvs -o+metadata_percent

Commande pour étendre l'espace de métadonées du pool:
lvextend --poolmetadatasize Size VG/ThinPoolLV

Utiliser fstrim pour augmenter l'espace libre dans un LV pool thin

   Supprimer des fichiers dans un système de fichier au dessus d'un LV thin ne rajoute pas généralement d'espace libre dans le pool. Lancer manuellement fstrim peut retourner de l'espace dans le pool qui a été utilisé par des fichier supprimés. fstrim ne fonctionne pas si le LV pool thin a le mode discards à ignore.

Exemple

   Un pool thin a 10G d'espace physique, et un LV thin qui a une taille virtuelle 100G. Écrire un fichier 1G dans le système de fichier réduit l'espace libre dans le pool thin de 10% et augmente l'utilisation virtuelle du système de fichier de 1%. Supprimer le fichier de 1G restore les 1% virtuel du système de fichier, me ne restaure pas les 10% physiques. la commande fstrim restore cet espace physique au pool thin.

Étendre automatiquement le LV pool thin

   Le service lvm dmeventd (lvm2-monitor) supervise l'utilisation de données des LV pool thin et les étends quand l'utilisation atteind un certain niveau. L'espace libre nécessaire doit exister dans le VG pour étendre les LV pool thin. Superviser et étendre les LV pool thin sont contrôlés indépendamment.

Supervision

   Quand un LV pool thin est activé, dmeventd va le superviser par défaut. La commande pour démarrer et stopper la supervision dmeventd d'un LV pool thin:
   Le status de supervision actuel peut être affiché avec la commande lvs -o+seg_monitor

autoextension

   dmeventd devrait être configuré pour étendre les LV pool thin avant que tout l'espace soit utilisé. Les alertes sont émises via syslog quand l'utilisation d'un pool thin atteind 80%, 85%, 90% et 95%. Le point auquel dmeventd étend un pool, et la quantité sont contrôlés avec 2 paramètres de configuration:

lvm.conf thin_pool_autoextend_threshold % qui défins quand le pool devrait être étendu. À 100 désactive l'extension automatique. La valeur minimum est 50.
lvm.conf thin_pool_autoextend_percent Définis la quantité d'espace à ajouter, en pourcentage de la taille courante.

Désactivation

   Il y a plusieurs manières où l'extension des pools thin peut être empêché.

- Si le service dmeventd ne fonctionne pas, aucun monitoring ou extension automatique ne va se produire
- Même quand dmeventd fonctionne, toute la supervision peut être désactivée avec le paramètre de monitoring dans lvm.conf
- Pour activer ou créer un LV pool thin sans interagir avec dmeventd, utiliser l'option --ignoremonitoring peut être utilisé.
- Définir thin_pool_autoextend_threshold à 100 désactive l'extension automatique.

Exemple

   Si thin_pool_autoextend_threshold vaut 70 et thin_pool_autoextend_percent vaut 20, quand un pool excède 70% d'utilisation, il est étendu de 20%. Pour un pool de 1G, en utilisant 700M cela déclenche une redimmensionnement à 1,2G. Quand l'utilisation excède 840M, le pool sera étendu à 1,44G, et ainsi de suite.

Épuisement de l'espace

   Proprement géré, l'espace de données des pool thin devraient être étendus avant que tout l'espace soit utilisé. Si l'espace est déjà épuisé, il peut être toutefois être étendus.

   Le comportement d'un pool thin plein est configurable avec l'option --errorwhenfull y|n de lvcreate ou lvchange. Cette option ne s'applique seulement pour les écritures.

La commande pour changer le comportement d'un pool thin complet:
lvchange --errorwhenfull {y|n} VG/ThinPoolLV

lvm.conf error_when_full Contrôle l'erreur dans le fichier de configuration

Le paramètre courant d'un LV pool thin peut être affiché avec
lvs -o+lv_when_full

   Le paramètre errorwhenfull n'affecte pas les paramètre de supervision et autoextension, et ces derniers n'affectent pas non plus le paramètre errorwhenfull. C'est seulement quand la supervision/autoextension ne sont pas effectifs que le pool thin devient plein et que le paramètre errorwhenfull est appliqué.

   Le défaut est 'n'. Les écritures des LV thin sont acceptés et mis en queue, dans l'attente d'espace disponible. Une fois l'espace étendu, les écritures en attente sont traitées.

   En attendant d'être étendus, le pool thin met les écriture en queue pour 60 secondes (le défaut). Si l'espace n'a pas été étendus après ce délai, les écritures en queue retournent une erreur à l'appelant, par ex le système de fichier. Cela peut résulter en une corruption du système de fichier pour les systèmes de fichier non-journalisés qui peut nécessiter fsck. Quand un pool thin retourne des erreurs d'écriture à un LV thin, un système de fichier est sujet à la perte de données utilisateur non-synchronisés.

   Le timeout de 60 secondes peut être changé ou désactivé avec l'option du module kernel dm-thin-pool no_space_timeout.
^
23 mai 2016

htmlpdflatexmanmd




lvm lvpoll

lvm lvpoll

Commande interne utilisée par lvmpolld pour compléter des opérations de volume logique

   lvpoll est utilisé par lvmpolld pour superviser et compléter les opérations lvconvert et pvmove. lvpoll n'initie pas de lui même ces opérations et ne doivent généralement être appelées directement.

OPTIONS

--polloperation {pvmove|convert|merge|merge_thin} Option obligatoire. pvmove réferre à une opération qui déplace des données. convert réferre à une augmentation qui augmente le nombre de copies redondantes des données maintenue par un mirroir. merge indique une opération de fusion qui n'implique pas de volumes thin. merge_thin indique une opération merge implique des snapshots thin.
--abort Annule un pvmove en progression
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
--handlemissingpvs Utilisé quand l'opération doit gérer des PV manquant pour pouvoir continuer. Celà peut se produire quand lvconvert répare un mirroir avec un ou plusieurs périphériques en faute
-i|--interval Seconds Affiche la progression
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Exemples

Relance l'opération pvmove identifié par le volume logique vg00/pvmove0
lvm lvpoll --polloperation pvmove vg00/pvmove0
Annule la même opération
lvm lvpoll --polloperation pvmove --abort vg00/pvmove0
Trouver le nom du LV pvmove résultant d'un pvmove /dev/sda1
lvs -a -S move_pv=/dev/sda1
Relance la conversion mirroir de vg00/lvmirror
lvm lvpoll --polloperation convert vg00/lvmirror
Compléter la réparation du mirroir
lvm lvpoll --polloperation convert vg/damaged_mirror --handlemissingpvs
fusionner les snapshots:
lvm lvpoll --polloperation merge vg/snapshot_old
finir la fusion de snapshot thin
lvm lvpoll --polloperation merge_thin vg/thin_snapshot
^
23 mai 2016

htmlpdflatexmanmd




lvreduce

lvreduce

Réduire la taille d'un volume logique

   lvreduce permet de réduire la taille d'un volume logique. Il est nécessaire d'e s'assure que tout système de fichier dans le volume est redimensionner avant de lancer lvreduce pour que les extents qui sont enlevés ne soient pas utilisés.

   Réduire les volumes logique snapshot est supporté également. Mais pour changer le nombre de copies dans un volume logique en mirroir utiliser lvconvert. Les tailles seront arrondies si nécessaire, par exemple, la taille de volume doit être un nombre exacte d'extents et la taille d'un segment striped doit être un multiple du nombre de stripes.

OPTIONS

-A|--autobackup {y|n} [--commandprofile ProfileName
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux
-f|--force Force la réduction de la taille sans demander.
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-l|--extents [-]LogicalExtentsNumber[%{VG|LV|FREE|ORIGIN} Réduit ou définis la taille du volume logique en unité d'extents logique. avec le signe '-' la valeur est soustraite de la taille actuelle et sans, la valeur est une taille absolue. Le nombre total d'extents physique libérés sera supérieur à cette valeur logique si, par exemple, le volume est mirroré. Le nombre peut également être exprimé en % total de l'espace dans le vg avec le suffixe %VG, relatif à la taille existante du volume logique avec le suffixe %LV, comme pourcentage de l'espace libre restant dans le VG avec les suffixe %FREE, ou (pour un snapshot) comme % de l'espace totale de l'origine avec le suffixe %ORIGIN. La valeur résultante pour la soustraction est arrondie à l'inférieur, pour la taille absolue la taille est arrondie au supérieur.
-L|--size [-]LogicalVolumeSize[bBsSkKmMgGtTpPeE] Réduit ou définis la taille lv en unité spécifiée. avec '-' la valeur est soustraite de la taille actuelle et sans, la valeur est absolue.
-n|--nofsck N'effectue pas de fsck avant de redimmensionner le système de fichier quand le système de fichier le nécessite.
-r|--resizefs Redimmensionne le système de fichier avec le Lv en utilisant fsadm.

Exemples

Réduire la taille du volume logique lvol1 dans le vg vg00 de 3 extents logiques
lvreduce -l -3 vg00/lvol1
^
23 mai 2016

htmlpdflatexmanmd




lvremove

lvremove

Supprimer un volume logique

   lvremove supprime un ou plusieurs volumes logiques. Les volumes logiques ne peuvent pas être désactivé ou supprimés s'ils sont ouverts (s'ils contiennent un système de fichier monté). Supprimer un volume logique origine supprime également tous les snapshots dépendants.

   Si le volume logique est clusterisé il doit être désactivé sur tous les nœuds dans le cluster avant qu'il puisse être supprimé. Un simple lvchange émis depuis un des nœuds peut le faire.

   Si les paramètres de configuration metadata/record lvs history est activé et le volume logique à supprimer forme une partie de l'historique d'au moins un volume logique qui est présent, alors une représentation simplifiée du volume logique sera retenu. Cela inclus le temps de suppression, la date de création, le nom, l'uuid, et le nom du volume group et permet de voir la chaîne des volumes snapshot thin même après que certains volumes logiques intermédiaire aient été supprimés. Les noms de tels volumes logique historique acquièrent un '-' comme préfixe (ex: '-lvol1') et ne peut pas être réactivé. Utiliser lvremove une seconde fois, avec les '-', pour le supprimer completement.

OPTIONS

-f, --force, -ff Supprimer les volumes logiques actifs sans confirmation. Pour traiter des pools endommagés, utiliser -ff
--nohistory Désactive l'enregistrement de l'historique des volumes logique qui sont supprimés.
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-S|--select Selection Ne traite que les lignes qui matchent le critère donné
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Supprimer le volume logique actif lvol1 dans le vg vg00 sans demander de confirmation:
lvremove -f vg00/lvol1
Supprimer tous les volumes logique dans le volume group vg00:
lvremove vg00
^
23 mai 2016

htmlpdflatexmanmd




lvrename

lvrename

Renommer un volume logique

OPTIONS

-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-t|--test Lance en mode test
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
-f|--force Ne demande pas confirmation
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.

Exemples

Renommer lvold dans le volume group vg02 en lvnew
lvrename /dev/vg02/lvold vg02/lvnew
Syntaxe alternative pour renommer ce volume logique
lvrename vg02 lvold lvnew
^
24 mai 2016

htmlpdflatexmanmd




lvresize

lvresize

Redimensionne un volume logique

OPTIONS

--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
--commandprofile ProfileName Sélectionne le profile de configuration de commande
-i|--stripes Stripes Indique le nombre de stripes pour l'extension. Non applicable aux LV utilisant le format de métadonné originel.
-I|--stripesize StripeSize Donne le nombre de ko pour la granularité des stripes.
-l|--extents [+][-]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN} Étend ou définis la taille du volume logique en unités d'extensions logique. avec '+' la valeur est ajoutée à la taille actuelle, '-' la valeur est soustraite, et sans, la valeur est absolue. Le nombre total d'extents physiques alloués sera supérieur, par exemple, si le volume est mirroré. Ce nombre peut également être exprimé en % de l'espace total dans le VG avec %VG, relatif à la taille existante du LV avec %LV, de l'espace restant dans le PV avec %PVS, en pourcentage de l'espace total du volume logique d'origine avec %ORIGIN. La valeur résultante est arrondis au supérieur.
-L|--size [+][-]LogicalVolumeSize[bBsSkKmMgGtTpPeE] Étend ou définis la taille du volume logique en unité spécifiée. Avec un '+', la valeur est ajouté, '-' pour soustraire, sinon elle est prise comme valeur absolue.
--poolmetadatasize [+]MetadataVolumeSize[bBsSkKmMgG] Change ou définis la taille de métadonnées du pool thin. May: 16Gio
-f|--force Ne demande pas confirmation
-n|--nofsck N'effectue pas de fsck avant d'étendre le système de fichier qu'en c'est nécessaire.
-r|--resizefs Redimensionne le système de fichier en même temps que le volume logique en utilisant fsadm

Exemples

Étendre un volume logique vg1/lv1 de 16Mo en utilisant les extents physiques /dev/sda:0-1 et /dev/sdb:0-1 pour l'allocation des extents:
lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1
^
24 mai 2016

htmlpdflatexmanmd




lvs

lvs

Affiche des informations sur les volumes logiques

OPTIONS

--all Inclus des informations sur les volumes logiques internes
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise le valeurs binaire 0 ou 1 au lieu des valeurs litérale pour les colonnes qui ont exactement 2 valeurs valides
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--nameprefixes Ajoute un préfixe LVM2_ plus le nom du champ dans la sortie. Utile avec --neheadings pour produire une liste de paires champ=valeur qui peuvent être utilisées en variable d'environnement.
--noheadings Supprime les lignes d'en-tête
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-o|--options [+|-|#]Field[,Field...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes données. lv_all sélectionne toutes les colonnes de volume logiques, et lvseg_all sélectionne toutes les colonnes de segment de volume logique.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
--rows Affiche les colonnes brutes
--segments Produit une ligne de sortie pour chaque allocation contigue d'espace dans chaque volume physique
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
--unquoted avec --nameprefixes, affiche les valeurs sans guillemets
-v|--verbose Mode verbeux
-H, --history Inclus l'historique des volumes logique dans la sortie
^
23 mai 2016

htmlpdflatexmanmd




lvscan

lvscan

Scan tous les disques à la recherche de volumes logiques

   lvscan scanne tous les volumes group ou tous les périphériques blocks supportés dans le système à la recherche des volumes logiques. La sortie consiste d'une ligne pour chaque volume logique indiquant s'il est actif, un origine ou un snapshot, la taille et sa stratégie d'allocation. Utiliser lvs ou lvdisplay pour obtenir des informations plus compréhensibles.

OPTIONS

--all Inclus des informations sur les volumes logiques interne tel que les mirroirs.
--cache LogicalVolume Uniquement si lvmetad est utilisé. Émet un rescan des labels physiques et des zones de métadonnées de tous les PV que le volume logique utilise. Peut être utilisé quand un volume logique RAID devient dégradé, pour mettre à jours les informations sur les volumes physique indisponible. Seulement nécessaire si le volumen logique n'est pas monitoré par dmeventd
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




pvchange

pvchange

Change les attributs d'un volume physique

OPTIONS

--addtag Tag Ajoute le tag spécifié. Peut être spécifié plusieurs fois
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-f|--force Ne demande pas confirmation
--deltag Tag Supprime le tag spécifié
--metadataignore {y|n} Ignore ou on les zones de métadonnées dans ce volume physique. Si ces zones sont ignorées, LVM ne stocke pas de métadonnées dans ces zones dans ces volumes physiques
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
-t|--test Lance en mode test
-v|--verbose Mode verbeux
-a|--all Si le chemin du PV n'est pas spécifié sur la ligne de commande, tous les volumes physiques sont recherchés
-x|--allocatable {y|n} Active/désactive l'allocation d'extents physique dans ce volume physique
-u|--uuid Génère un nouvel UUID aléatoire pour les volumes physiques spécifiés

Exemples

Désactiver l'allocaction d'extents physiques:
pvchange -x n /dev/sdk1
^
23 mai 2016

htmlpdflatexmanmd




pvck

pvck

Vérifier les métadonnées des volumes physiques

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
--labelsector sector Par défaut, 4 secteurs du volume physique sont scannés pour un label LVM, en commençant au secteur 0. Ce paramètre permet de spécifier un secteur différent de départ. par exemple supposons une table de partition corrompue ou perdu dans /dev/sda, mais vous suspectez qu'il y avait une partition LVM à 100MiB. Cette zone du disque peut être scannée en utilisant la valeur 204800 (100*1024*1024/512)
^
06 juin 2016

htmlpdflatexmanmd




pvcreate

pvcreate

initialiser un disque ou une partition pour LVM

   Initialise le périphériques pour l'utiliser avec LVM. Chaque volume physique peut être un disque, une partition, un fichier loopback ou un périphérique méta. Pour les partitions DOS, l'id de partition devrait être 0x8e. Pour une partition GPT, l'id est E6D6D379-F507-44C2-A23C-238F2A3DF928. Pour les disques entiers, la table de partition doit être effacée.

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux
-f[f]|--force [--force Force la création sans confirmation
-y|--yes Répond yes à toutes les questions
--labelsector Par défaut le PV est labelisé avec un identifiant LVM dans son second secteur. Cette option permet d'utiliser un secteur différent au défaut du disque (entre 0 et 3).
--bootloaderareasize size Créé une zone bootloader séparé de taille spécifiée à côté des données dans laquelle lvm n'alloue pas d'extents. Le début de cette zone est toujours alignée. Pour voir cette zone, utiliser pvs -o +pv_ba_start,pv_ba_size
-M|--metadatatype type Spécifie quel type de métadonnée à utiliser
--[pv]metadatacopies NumberOfCopies Nombre de zones de métadonées à définir dans chaque PV (0, 1 ou 2). à 2, 2 copies des métadonnées du VG sont maintenus dans le PV, une avant, et une à la fin.
--metadatasize size Quantité d'espace approximative à définir pour chaque zone de métadonnées. La taille peut être arrondie.
--metadataignore {y|n} Ignore ou non les zones de métadonnées dans ce volume physique. Si ces zones sont ignorées, LVM ne stocke pas de métadonnées dans ces zones dans ces volumes physiques
--dataalignment alignment Aligne le début des données à un multiple de ce nombre. Ensuite, en créant un VG, physicalExtentSize devrait être spécifié de manière approprié.
--dataalignmentoffset alignment_offset Décale le début de la zone des données
--restorefile file avec --uuid, extrait l'emplacement et la taile des données dans le PV depuis le fichier (produit par vgcfgbackup) et s'assure que les métadonnées que le programme produit est consistant.
--norestorefile Avec --uuid, permet de spécifier un uuid sans fournir un backup des métadonnées
--setphysicalvolumesize size Remplace la taille automatiquement détectée du PV.
-u|--uuid uuid Définis l'uuid pour le périphériques
-Z|--zero {y|n} Spécifie si les 4 premiers secteurs (2048octets) du périphériques devraient être effacés.

Exemples

Initialise la partition 4 sur un disque SCSI et le 5ème disque SCSI:
pvcreate /dev/sdc4 /dev/sde
Si le 2ème disque est un disques avec des secteurs de 4Kio qui compensent pour le partitionnement windows (le secteur 7 est le block logique le plus bas alligné, les serveurs 4Kio commencent à LBA -1, et en consequence le serveur 63 est aligné sur les limites 4Kio), le définir manuellement:
pvcreate --dataalignmentoffset 7s /dev/sdb
^
24 mai 2016

htmlpdflatexmanmd




pvdisplay

pvdisplay

Affiche les attributs d'un volume physique

   pvdisplay permet de voir les attributs d'un ou plusieurs volumes physiques comme la taille, taille d'extents physique, espace utilisé pour les métadonnées, etc.

OPTIONS

-c|--colon Génère une sortie séparée par des ',' pour simplifier le traitement pas des scripts. pvs a un meilleur contrôle sur la sortie.
-C|--columns Affiche la sortie en colonnes, l'équivalent de pvs.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--maps Affiche le mapping des extents physiques aux volumes logiques et extents logiques.
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-s|--short Affiche seulement la taille des volumes physique donné
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
-v[v]|--verbose Mode verbeux
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise le valeurs binaire 0 ou 1 au lieu des valeurs litérale pour les colonnes qui ont exactement 2 valeurs valides
-a|--all Inclus des informations sur les périphériques qui n'ont pas été initialisé avec pvcreate
--noheadings Supprime les lignes d'en-tête
-o|--options [+|-|#]Field[,Field...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes donnéespv_all sélection toutes les colonnes de volume physique, et pvseg_all sélectionne toutes les colonnes de segment de volume physique.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes
^
25 mai 2016

htmlpdflatexmanmd




pvmove

pvmove

Déplacer des extents physiques

   pvmove permet de déplacer des extents physiques alloués dans un PV vers un ou plusieurs auters VG. On peut optionnellement spécifier un volume logique auquel cas seul les extents utilisés par ce LV seront déplacés. Si aucun PV de destination n'est spécifié, les règles d'allocation normales pour le volume group sont utilisés.

   pvmove fonctionne comme suit:

1. Un volume logique temporaire pvmove est créé pour stocké les détails de tous les mouvements de données requis.
2. Tout volume logique dans le volume group est recherché pour les données contigues qui doivent bouger en accord avec les arguments de la ligne de commande. Pour chaque portion de données trouvé, un nouveau segment est ajouté à la fin du LV pvmove. Ce segment prend la forme d'un mirroir temporaire pour copier la donnée depuis l'emplacement original vers le nouvel emplacement. Le LV d'origine est mis à jours pour utiliser le nouveau segment temporaire dans le LV pvmove au lieu d'accéder à la données directement.
3. Les métadonnées du volume group sont mis à jours sur disque
4. Le premier segment du volume logique pvmove est activé et démarré pour mirrorer la première partie des données. Seulement un segment est mirroré à la fois.
5. Un service vérifie la progression. Quand il détecte que le premier mirroir temporaire est in-sync, il casse ce mirroir pour que seul le nouvel emplacement soit utilisé et écrit un checkpoint dans les métadonnées du volume group sur disque. Puis il active le mirroir pour le segment suivant
6. Quand il n'y a plus de segment à mirrorer, le volume logique temporaire est supprimé et les métaddonées du volume group est mis à jours pour que les volumes logique reflètent les nouveaux emplacement.

   Si l'option --atomic est utilisé, une approche légèrement différente est utilisée pour le déplacement. Un volume pvmove temporaire est également créé pour stocker les détails de tous les données en mouvement. Ce LV temporaire contient tous les segments de divers LV qui doivent être déplacés. Cependant cette fois, un volume logique identique est alloué qui contient le même nombre de segments et un mirroire est créé pour copier le contenu du premier LV temporaire vers le second. Quand une copie complète est accomplie, les volume logiques temporaire sont supprimés, laissant derrière les segments sur le volume physique de destinatio. Si une annulation est émis durant le déplacement, tous les volumes logique à déplacer resteront dans le volume physique source.

OPTIONS

--abort Annule tous les déplacement en cours. Si --atomic, tous les volumes logique restent dans le PV source.
--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
--atomic Rend l'opération atomique. Cela s'assure que tous les volumes logiques affectés sont déplacés dans la destination ensemble.
-b|--background Lance le service en tâche de fond
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-i|--interval Seconds interval d'affichage de la progression
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-v|--verbose Mode verbeux
-n|--name Déplace seulement les extents appartenant au volume logique spécifié

Exemples

Déplacer tous les extents physique utilisés par un LV dans /dev/sdb1 vers des extents physique ailleurs dans le volume group:
pvmove /dev/sdb1
Additionnellement, un périphérique de destination peut être spécifié:
pvmove /dev/sdb1 /dev/sdc1
Effectuer l'action seulement sur les extents appartiennent à un volume logique lvol1:
pvmove -n lvol1 /dev/sdb1 /dev/sdc1
Au lieu de déplacer le contenu de tous le périphérique, il est possible de spécifier une plage d'extents physiques, par exemple 1000 à 1999:
pvmove /dev/sdb1:1000-1999
ou
pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999
Si la source et la destination sont sur le même disque, la stratégie d'alloctation anywhere peut être nécessaire:
pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999
La partie d'un volume logique spécifique présent dans une plage d'extents physique peut également être déplacé:
pvmove -n lvol1 /dev/sdb1:1000-1999 /dev/sdc1
^
23 mai 2016

htmlpdflatexmanmd




pvremove

pvremove

Supprimer un volume physique

   pvremove supprime la table dans un périphérique pour que LVM ne le reconnaisse plus comme volume physique.

OPTIONS

-ff, --force --force Force la suppression d'un volume physique appartenant à un volume group existant. Normalement, vgreduce devrait être utilisé au lieu de cette commande. Il n'est pas possible de supprimer un volume physique utilisé par un volume logique actif
-y, --yes Répond oui à toutes les questions
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-t|--test Lance en mode test
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




pvresize

pvresize

Redimensionne un disque ou une partition utilisé par LVM2

   pvresize redimensionne le volume physique qui peut déjà être dans un volume group et avoir des volumes logiques actifs.

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux
--setphysicalvolumesize size Remplace la taille automatiquement détectée du PV

Exemples

Étend le PV sur /dev/sda1 après avoir agrandi la partition avec fdisk:
pvresize /dev/sda1
Réduit le PV sur /dev/sda1 avant de réduire la partition avec fdisk:
pvresize --setphysicalvolumesize 40G /dev/sda1

Restrictions

   pvresize refuse de réduire le volume physique s'il a alloué des extents après l'endroit ou la nouvelle fin devrait être. Dans le future, il devrait les relocaliser ailleurs dans le volume group s'il y a suffisamment d'espace libre, comme le fait pvmove. pvresize ne fonctionne pas correctement dans les volumes LVM1.
^
24 mai 2016

htmlpdflatexmanmd




pvs

pvs

Affiche des informations sur les volumes physiques

OPTIONS

--all Inclus des informations sur les périphériques qui n'ont pas été initialisé avec pvcreate
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise les valeurs binaire 0 ou 1 au lieu des valeurs littérales pour les colonnes qui ont exactement 2 valeurs valides
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--nameprefixes Ajoute un préfixe LVM2_ plus le nom du champ dans la sortie. Utile avec --neheadings pour produire une liste de paires champ=valeur qui peuvent être utilisées en variable d'environnement.
--noheadings Supprime les lignes d'en-tête
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-o|--options [+|-|#]Field[,Field...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes données. pv_all sélectionne toutes les colonnes de volume physique, et pvseg_all sélectionne toutes les colonnes de segment de volume physique.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
--rows Affiche les colonnes brutes
--segments Produit une ligne de sortie pour chaque allocation contigue d'espace dans chaque volume physique
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
--unquoted avec --nameprefixes, affiche les valeurs sans guillemets
-v|--verbose Mode verbeux
^
25 mai 2016

htmlpdflatexmanmd




pvscan

pvscan

Scanne tous les disques à la recherche des volumes physiques

   pvscan opère différemment quand il est utilisé avec lvmetad

   Scanner des disques est nécessaire pour lire les métadonnées LVM et identifier les PV. Une fois lu, lvmetad met en cache ces métadonnées pour que les commandes lvm puis les lire sans scanner les disques à nouveau.

   Quand lvmetad est utilisé, les nouveaux disques doivent être scannés avec vpscan --cache.

Notes

- En donnant des périphériques en argument, pvscan --cache ne scanne que ceux spécifiés
- Les règle udev LVM et services systemd sont utilisés pour initier le scan automatique
- l'option devices/global_filter de lvm.conf permet de filtrer les disques à scanner.
- Si lvmedat est démarré ou redémarré, tous les périphériques doivent être rescannés
- lvmetad ignore les anciens formats de métadonnées
- Pour notifier lvmetad sur un périphérique qui n'est plus présent, les numéros mineur et majeur doivent être donnés

Activation automatique

   Quand les services système détectent un nouveau périphérique LVM, la première étape est de scanner automatiquement et de mettre en cache les métadonnée du périphérique, avec pvscan --cache. La seconde étape est d'activer automatiquement les LV qui sont présent dans le nouveau périphérique. Cette auto-activation est faite par la même commande pvscan --cache quand l'option -a|--activate ay est inclus.

auto-activation des VG ou LV peut être activé/désactivé en utilisant:
lvm.conf activation/auto_activation_volume_list

   Quand ce paramètre est non-définis, tous les LV sont auto-activés.

   Quand un VG ou un LV n'est pas auto-activé, l'activation traditionnelle en utilisant vgchange ou lvchange -a|--activate est nécessaire.

Notes

- l'auto-activation de pvscan peut être faite seulement en combinaison avec --cache
- L'auto-activation est désignée par un argument "a" dans "-a|--activate ay". Cela signifie de distinguer les commandes générées par le système des commandes utilisateur, bien qu'elle peut être utilisée dans une commande d'activation. Quand utilisé, l'auto-activation volume_list est appliqué.
- L'auto-activation n'est pas encore supporté pour les LV qui font partie de volumes groupe partiel ou clusterisé.

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
-e|--exported Affiche seulement les volumes physique appartenant à un volume group exporté
-n|--novolumegroup Affiche seulement les volumes physiques n'appatenant pas à un volume group
-s|--short Format court
-u|--uuid Affiche les UUID en plus des noms de périphérique
-a|--activate ay Active automatiquement les volumes logiques
-b|--background Lance en tâche de fond
--cache --major major --minor minor Scanne un ou plusieurs périphériques et envoie les métadonnées à lvmetad
^
25 avril 2017

htmlpdflatexmanmd




thin_check

thin_check

Valide les métadonnées de provisionnement léger dans un périphérique ou fichier

   thin_check vérifie les métadonnées de provisionning créé par DM dans un périphérique ou un fichier

OPTIONS

-q, --quiet mode silencieux
--clear-needs-check-flag efface le flage needs_check-flag au cas où la vérification a réussie.
--super-block-only Ne vérifie que la présence du superbloc
--skip-mappings ne vérifie pas le mappage de block qui constitue la majeur partie des métadonnées
--ignore-non-fatal-errors Ignore certaines erreurs non-fatales
^
25 avril 2017

htmlpdflatexmanmd




thin_dump

thin_dump

dump les métadonnées de provisionnement léger sur stdout

   thin_dump dump les métadonnées de provisionnement légier créé par la cible de provisionnement léger device-mapper sur stdout pour l'analyse ou post-traitement au format XML ou human-readable. Cet outil ne peut pas être lancé sur des métadonnées live sauf si --metadata-snap est utilisé.

OPTIONS

-f, --format {xml|human-readable} Format de sortie
-r, --repair Répare les métadonnée durant le dump
-m, --matadata-snap [block#] dump le snapshot de métadonnées.
^
25 avril 2017

htmlpdflatexmanmd




thin_metadata_size

thin_metadata_size

calculateur de taille de périphérique de métadonnées de provisionnement léger

   thin_metadata_size calcule la taille des métadonnées de provisionnement léger basé sur la taille de block des périphériques de provisionnement léger. La taille du pool et le nombre maximum de tous les périphériques provisionnés et snapshots. Parce que les pools de provisionnement léger maintiennent une grande variété de variables, cet outil est nécessaire pour fournir une taille initiale par défaut.

OPTIONS

-b, --block-size BLOCKSIZE[bskKmMgGtTpPeEzZyY] Taille de block des périphériques.
-s, --pool-size POOLSIZE[bskKmMgGtTpPeEzZyY] Taille du pool
-m, --max-thins #[bskKmMgGtTpPeEzZyY] Somme maximum de tous les périphériques et snapshots
-u, --unit {bskKmMgGtTpPeEzZyY} Unité à afficher pour la sortie
-n, --numeric-only [short|long] Limite la sortie à la taille avec optionnellement l'unité

Exemples

Calculer la taille pour une taille de block de 64Kio, une taille de pool de 1Tio et un nombre max de périphériques et snapshots de 1000:
thin_metadata_size -b64k -s1t -m1000
avec les options longues pour une taille de block de 1Gio, taille de pool de 1Po et un nombre max de périphériques et snapshots de 1 million:
thin_metadata_size --block-size=1g --pool-size=1P --max-thins=1M --unit=G --numeric-only
Idem avec les unités complètes
thin_metadata_size --block-size=1gibi --pool-size=1petabytes --max-thins=1mega --unit=G --numeric-only=short
avec une chaîne spécifiant l'unité
thin_metadata_size --block-size=1gibi --pool-size=1petabytes --max-thins=1mega --unit=G -nlong
^
25 avril 2017

htmlpdflatexmanmd




thin_repair

thin_repair

Répare les métadonnées de provisionnement léger

   thin_repair lit les métadonnées de provisionnement léger, les répares et les écrit dans un autre périphérique ou fichier. Cet outil ne peut être lancé sur des metadonnées live

OPTIONS

-i, --input {device|file} Fichier ou périphérique d'entrée
-o, --output {device|file} fichier ou périphérique de sortie. Si un fichier est utilisé, il doit être préalloué et suffisamment grand pour maintenir les métadonnées

Exemples

Lit les métadonnées dans le fichier metadata, le répare et l'écrit dans /dev/vg/metadata:
thin_repair -i metadata -o /dev/vg/metadata
^
25 avril 2017

htmlpdflatexmanmd




thin_restore

thin_restore

Restore les métadonnées de provisionnement léger d'un fichier vers un périphérique ou fichier

   thin_restore restaure les métadonnées de provisionnement léger créés par la cile DM dumpée au format XML, peut optionnellement être pré-traité avant de le restaurer.

OPTIONS

-q, --quiet mode silencieux
-i, --input {device|file} Fichier ou périphérique d'entrée
-o, --output {device|file} fichier ou périphérique de sortie. Si un fichier est utilisé, il doit être préalloué et suffisamment grand pour maintenir les métadonnées
^
25 avril 2017

htmlpdflatexmanmd




thin_rmap

thin_rmap

Affiche un map inversé d'une région de provisionnement léger de blocks depuis le périphérique de métadonnées

OPTIONS

--region ‹block range› Affiche la map inversée

Exemples

Affiche la map inversé pour les blocks de pool 5..45 (==5..44 inclusif)
thin_rmap --region 5..45 /dev/pool-metadata
^
23 mai 2016

htmlpdflatexmanmd




vgcfgbackup

vgcfgbackup

Sauvegarde l'aire descripteur du volume group

   Permet de backuper les métadonnées des volumes group. Sans nom de volume group, tous sont sauvegardés. Dans une installation par défaut, chaque volume group et sauvegardé dans un fichier séparé portant le nom du volume group dans /etc/lvm/backup.

OPTIONS

-f, --file spécifie un fichier alternatif pour le backup. Sans nom de vg spécifié, %s est remplacé par le nom du VG.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule tel que lvchange -ay et vgchange -ay même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




vgcfgrestore

vgcfgrestore

Restaure l'aire de descripteur de volume group

   vgcfgrestore permet de restaurer les métadonnées du volumes group depuis un fichier de sauvegarde produit par vgcfgbackup. Si aucun backup n'est spécifié, le plus récent est utilisé. Utiliser --list pour lister les sauvegardes disponible et les fichiers archives

OPTIONS

-l, --list Liste les fichiers de sauvegarde et archive pertinent pour le VG spécifié.
-f, --file filename Nom d'un fichier de sauvegarde, généralement créé avec vgcfgbackup.
--force Nécessaire pour restaurer les métadonnées avec les volumes thin. note: de nombreux changements ne peut pas être inversé dans les métadonnées thin, on peut perdre des données si la restoration ne matche par les métadonnées du pool thin précisemment.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-M|--metadatatype 1|2 Spécifie quel type de métadonnée utiliser
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Remplacer des volumes physiques

   vgdisplay --partial --verbose affiche les UUID et tailles de tout PV qui ne sont plus présents. Si un PV dans le VG est perdu et que l'on souhaite substituer un autre de même taille, utiliser vpcreate --restorefile filename --uuid uuid pour l'initialiser avec le même UUID que le PV manquant. Puis utiliser vgcfgrestore --file filename pour restaurer les métadonnées du VG.
^
08 juin 2016

htmlpdflatexmanmd




vgchange

vgchange

Changer les attributs d'un volume group

OPTIONS

--addtag Tag Ajoute le tag spécifié. Peut être spécifié plusieurs fois
--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
-a|--activate [a|e|s|l] {y|n} Contrôle la disponibilité des volumes logiques dans le volume groupe. Si l'autoactivation est utilisée (-aay), chaque volume logique est activé seulement s'il match un élément dans le jeu activation/auto_activation_volume dans lvm.conf. L'activation d'un volume logique créé un lien /dev/VolumeGroupName/LogicalVolumeName pointant vers le nœud. Ce lien est supprimé à la désactivation. Dans un VG clusterisé, clvmd est utilisé pour l'activation, -aey active le LV en mode exclusive, permettant à un seul nœud d'activer le LV. -asy active le LV en mode partagé. -ay, active le LV en mode partagé si le type de LV permet l'accès concurrent, sinon en mode exclusif. Avec -an, clvmd tente de désactiver le LV sur tous les nœuds. -aly active le LV seulement sur le nœud local.
--activationmode {complete|degraded|partial} Le mode d'activation détermine si les volumes logiques sont autorisés à être activés quand il y a des volumes physiques manquant. complete est le plus restrictif. degraded autorise les LV RAID même si des PV sont manquant (mirror n'est pas considéré comme LV raid). partial permet d'activer tout LV même si des portions sont manquants
-K|--ignoreactivationskip Ignore le flag skip des LV durant l'activation.
--monitor {y|n} Démarre/arrête la supervision d'un volume logique mirroré ou snapshot avec dmeventd, si installé. Si un périphérique utilisé par un mirroir supervisé reporte une erreur d'E/S, l'erreur est gérée en accord avec mirror_image_fault_policy et mirror_log_fault_policy dans lvm.conf
--poll {y|n} Sans le polling de transformation en tâche de fond d'un volume logique le processus ne se complète jamais. S'il y a un pvmove ou lvconvert incomplet, utiliser --poll y pour relancer le processus.
-c|--clustered {y|n} Si le lock clustered est activé, indique si ce VG est partagé avec d'autres nœuds dans le cluster ou s'il contient seulement des disques locaux non visible aux autres nœuds.
-u|--uuid Génère un nouvel UUID aléatoire pour les volumes groups spécifiés
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--deltag Tag Supprime le tag spécifié
--detachprofile Détache tous les profiles de configuration de métadonnées attachés aux VG donnés.
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul.
--ignoremonitoring Ne tente pas d'interragir avec dmeventd sauf si --monitor est spécifié.
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés.
--sysinit Indique que vgchange est invoqué à l'initialisation du système, avant que les systèmes de fichier soient accessibles. Est équivalent à --ignorelockingfailure --ignoremonitoring --poll n et définir la variable d'environnement LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES.
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
--lock-start Démarrare le lockspace du VG partagé dans lvmlockd. les locks lvmlockd deviennent disponibles pour le VG, permettant à LVM d'utiliser le vg.
--lock-stop Stop le lockspare du VG partagé dans lvmlockd.
--lock-type LockType Change le type de lock VG
-l|--logicalvolume MaxLogicalVolumes Change le nombre maximum de LV d'un VG inactif
-p|--maxphysicalvolumes MaxPhysicalVolumes Change le nombre maximum de volumes physiques qui peuvent appartenir à ce VG. Pour les VG avec un format de métadonnées lvm1, la limite est 255. Au format lvm2, 0 supprime cette restriction.
--metadataprofile ProfileName Sélectionne le profile de configuration des métadonnées à utiliser
--[vg]metadatacopies NumberOfCopies|unmanaged|all Définis le nombre de copies de métadonnées dans le volume group. à une valeur autre que 0, lvm gère automatiquement le flag 'metadataignore' dans les volumes physique pour obtenir le nombre de copies des métadonnées. 'unmanaged', lvm ne gère pas automatiquement le flag. 'all', lvm efface tous les flags dans toutes les zones de métadonnées dans le vg, puis passe en unmanaged.
-P|--partial Définis, les outils fond de leur mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement. Quand un partie d'un volume logique est manquant, /dev/ioerror est substitué, et dmsetup peut être utilisé pour retourner les erreurs I/O.
-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE] Change la taille d'extent physique dans les volumes physiques de ce VG. Avant d'augmenter la taille d'extent, utiliser lvresize, pvresize et/ou pvmove.
-S|--select Selection Critère de sélection
--systemid SystemID Change le system_id du VG.
--refresh Si un volume logique dans le volume group est actif, recharge ses métadonnées. Ce n'est pas nécessaire dans une opération normale, mais est utile si quelque-chose ne va pas ou en faisant un cluster manuellement.
-t|--test Lance en mode test
-v|--verbose Mode verbeux
-x|--resizeable {y|n} Active/désactive l'extension/réduction de ce volume group avec/par les volumes physique

Exemples

Active tous les VG connus dans le système
vgchange -a y
Change le nombre maximum de volumes logique du VG inactif vg00 à 128
vgchange -l 128 /dev/vg00
^
23 mai 2016

htmlpdflatexmanmd




vgck

vgck

Vérifie les métadonnées de volume group

   vgck vérifie les métadonnées LVM pour chaque VG.

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




vgconvert

vgconvert

Convertisseur de format des métadonnées

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux
--labelsector Par défaut, 4 secteurs du volume physique sont scannés pour un label LVM, en commençant au secteur 0. Ce paramètre permet de spécifier un secteur différent de départ
--bootloaderareasize size Créé une zone bootloader séparée à la taille spécifiée à côté de la zone de données
-M|--metadatatype type Spécifie quel type de métadonnée à utiliser
--pvmetadatacopies NumberOfCopies Nombre de zones de métadonnées à définir dans chaque PV (0,1 ou 2)
--metadatasize size Quantité d'espace approximative à définir pour chaque zone de métadonnées. La taille peut être arrondie.

Exemples

Convertis le volume group vg1 du format LVM1 vers LVM2:
vgconvert -M2 vg1

Récupération

   Utiliser pvscan pour voir quels PV ont perdu leur métadonnées. Lancer pvcreate avec --uuid et --restorefile dans chaque PV pour le reformater, en utilisant le fichier archive que vgconvert a créé au début de la procédure. Finalement, lancer vgcfgrestore avec ce fichier archive pour restaurer les métadonnées d'origine.
^
08 juin 2016

htmlpdflatexmanmd




vgcreate

vgcreate

Créer un volume group

OPTIONS

--addtag Tag Ajoute le tag spécifié. Peut être spécifié plusieurs fois
--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
-c|--clustered {y|n} Si le locking est activé, est à yes par défaut, indiquant que ce volume group est partagé avec d'autres nœuds dans le cluster.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-l|--maxlogicalvolumes MaxLogicalVolumes Définis le nombre maximum de LV du VG
-M|--metadatatype type Spécifie quel type de métadonnée utiliser
--metadataprofile ProfileName Sélectionne le profile de configuration des métadonnées à utiliser
-p|--maxphysicalvolumes MaxPhysicalVolumes Définis le nombre maximum de volumes physiques qui peuvent appartenir à ce VG. Pour les VG avec un format de métadonnées lvm1, la limite est 255. Au format lvm2, 0 supprime cette restriction.
--[vg]metadatacopies NumberOfCopies|unmanaged|all Définis le nombre de copies de métadonnées dans le volume group. à une valeur autre que 0, lvm gère automatiquement le flag 'metadataignore' dans les volumes physique pour obtenir le nombre de copies des métadonnées. 'unmanaged', lvm ne gère pas automatiquement le flag. 'all', lvm efface tous les flags dans toutes les zones de métadonnées dans le vg, puis passe en unmanaged.
-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE] Définis la taille d'extent physique dans les volumes physiques de ce VG
--shared Créé un VG partagé en utilisant lvmlockd
--systemid SystemID Définis le system_id du VG.
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Exemples

Créer un VG "test_vg" utilisant les volumes physiques /dev/sdk1 et /dev/sdl1 avec une taille d'extents physique par défaut de 4Mio
vgcreate test_vg /dev/sdk1 /dev/sdl1
^
24 mai 2016

htmlpdflatexmanmd




vgdisplay

vgdisplay

Affiche les attributs des volume group

   vgdisplay permet de voir les attributs des volumes group avec ses volumes logiques et physique et leur taille. vgs est une alternative qui fournis les même informations dans le style de ps.

OPTIONS

-A|--activevolumegroups Ne sélectionne que les volumes groupe actifs. Le volume group est considéré actif si au moins un de ses volume logique est actif.
-c|--colon Affiche la sortie en colonne.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-s|--short Donne un listing court affichant l'existance du volume group
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
-v|--verbose Mode verbeux
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
-C|--columns Sortie séparée par des ':'
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise les valeurs binaire 0 ou 1 au lieu des valeurs littérales pour les colonnes qui ont exactement 2 valeurs valides
--noheadings Supprime les lignes d'en-tête
-o|--options [+|-|#]Field1[,Field2...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes données. gv_all sélectionne toutes les colonnes de volume group.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes
^
23 mai 2016

htmlpdflatexmanmd




vgexport

vgexport

Créer des volumes inconnus du système

   vgexport permet de créer des Volumes Group inactifs inconnus du système. Il permet ainsi de déplacer tous les volumes physiques dans ce VG vert un système différent pour un import ultérieur (vgimport). La plupart des outils LVM2 ignorent les VG exportés. vgexport efface l'ID système et vgimport le définis.

OPTIONS

-a, --all Exporte tous les VG inactifs
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
-v|--verbose Mode verbeux
^
06 juin 2016

htmlpdflatexmanmd




vgextend

vgextend

Ajouter des volumes physiques à un groupe de volume

   vgextend permet d'ajouter des volumes physiques à des volumes groupe pour l'étendre. De plus, il permet de ré-ajouter un volume physique qui était manquant dû à une erreur.

   Si le chemin du périphérique physique n'a pas été précédemment configuré pour LVM avec pvcreate, le périphérique est initialisé avec les même valeurs par défaut qu'utilisées par pvcreate. Si d'autres valeurs sont souhaitées, elles peuvent être données sur la ligne de commande avec les même options de pvcreate. Noter que les options de restauration ne sont pas disponibles. Si une opération de restauration est nécessaire, utilise pvcreate et vgcfgrestore.

OPTIONS

-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--command-profile ProfileName Sélectionne le profile de configuration de commande à utiliser
--restoremissing Permet de réajouter un volume physique sans le ré-initialiser
-f|--force Ne demande pas confirmation
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Options d'initialisation du périphérique

   Les options de suivis sont disponible pour l'initialisation des périphériques physique dans le volume groupe.

-f, --force Ne demande pas confirmation
-y, --yes Répond oui à toutes les questions
-Z, --zero {y|n} Spécifie les 4 premiers secteurs (2048octets) du périphérique devraient être supprimés
--labelsector sector Permet d'utiliser un secteur différent près du début du disque (entre 0 et 3) où placer l'identifiant LVM2 du PV
--metadatasize size Quantité d'espace approximative d'espace à définir pour chaque zone de métadonnée (la taille peut être arrondie)
--metadataignore {y|n} Ignore les zones de métadonnée sur le volume physique
--pvmetadatacopies copies Nombre de zones de métadonnées à définir dans chaque PV (0, 1 ou 2)
--dataalignment alignment Aligne le début des données à un multiple de ce nombre.
--dataalignmentoffset alignment_offset Décale de début de la zone de données par l'offset spécifié

Exemples

Étendre le volume group vg00 en ajoutant /dev/sda4 et /dev/sdn1
vgextend vg00 /dev/sda4 /dev/sdn1
^
23 mai 2016

htmlpdflatexmanmd




vgimport

vgimport

les volumes group exportés sont connus du système

   vgimport permet de créer un volume group qui a été précédemment exportés avec vgexport et les rend connus du système. vgexport supprime l'ID système VG et vgimport de définis.

OPTIONS

-a, --all importe tous les VG exportés
--force Importe les VG exportés même s'il y a des volumes physique manquant.
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




vgimportclone

vgimportclone

importe et renomme des volumes group dupliqués

   vgimportclone est utilisé pour importer un VG dupliqué (ex: un snapshot hardware). Les VG et PV dupliqués ne peuvent pas être utilisés tant qu'ils ne peuvent pas coexister avec les VG et PV d'origine. vgimportclone renome le VG associé avec les PV spécifiés et change les uuid de VG et PV associés.

OPTIONS

-n, --basevgname VolumeGroupName Par défaut le snapshot VG sera renommé au nom original + un suffixe numérique. Cette option spécifie un autre nom.
-i, --import Importe les VG exportés. Sinon les VG qui ont été exporté ne seront pas changés (ni leur PV associés)

Variables d'environnement

LVM_BINARY Le binaire LVM2 à utiliser. Défaut: lvm

Exemples

le VG d'origine vg00 a les PV d'origine /dev/sda et /dev/sdb, et les snapshots respectifs sont /dev/sdc et /dev/sdd. Pour renommer le VG associé en vg00_snap:
vgimportclone --basevgname vg00_snap /dev/sdc /dev/sdd
^
23 mai 2016

htmlpdflatexmanmd




vgmerge

vgmerge

fusionne 2 volumes groupes

   Le second volume group spécifié inactif sera fusionné dans le premier si la taille d'extent physique sont identiques et que les sommaires de volume physique et logique des 2 volumes groupe rentrent dans les limites.

OPTIONS

-l, --list Affiche le volume fusionné comme vgdisplay -v
-t, --test Fait un test sans effecter de changement
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug définis le niveau de débug, de 1 à 6 fois pour augmenter les détails.è
-v|--verbose Mode verbeux

Exemples

fusionne le volume inactif 'my_vg' dans le volume group 'database':
vgmerge -v databases my_vg
^
23 mai 2016

htmlpdflatexmanmd




vgmknodes

vgmknodes

recréé un répertoire VG et les fichiers spéciaux LV

   Vérifie les fichiers spéciaux LVM2 dans /dev qui sont nécessaire pour les volumes logiques actifs et créé ceux qui manque et supprime ceux inutilisés.

OPTIONS

--refresh Si un volume logique dans le volume group est actif, recharge ses métadonnées. Ce n'est pas nécessaire dans une opération normale, mais est utile si quelque-chose ne va pas ou en faisant un cluster manuellement.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




vgreduce

vgreduce

Réduire un volume group

   vgreduce permet de supprimer un ou plusieurs volumes physiques non-utilisés d'un volume group

OPTIONS

-a|--all Supprime tous les volume physiques vide si aucun n'est donné sur la ligne de commande
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
--removemissing Supprime tous les volumes physique manquant du volume group, s'il n'y a pas de volumes logique alloué dessus. Cela permet de retourner en mode d'opération normal pour le volume group.
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

   S'il n'est pas possible de spécifier les volumes physiques manquant avec --removemissing et qu'on ne peut/veut pas les supprimer manuellement, on peut lancer cette option avec --force pour supprimer tous LV partiel.

  Tous volumes logique et snapshots dépendants qui font partie de disques manquant sont supprimés completement. Cela inclus ces parties qui sont présent sur les disques qui sont présents.

  Si vos volumes logiques sont répartis sur de nombreux disques incluant ceux qui sont perdus, vous pourriez souhaiter essayer de sauver les données en activant les volumes logiques avec --partial.
^
23 mai 2016

htmlpdflatexmanmd




vgremove

vgremove

Supprimer un volume group

   vgremove permet de supprimer un ou plusieurs volume group. Si un ou plusieurs volumes physiques dans le volume group sont perdus, utiliser vgreduce --removemissing pour recréer une consistance des métadonnées. S'il y a des volumes logique qui existent dans le volume group, un confirmation est demandée.

OPTIONS

-f, --force Force la suppression de la confirmation si des LV existent dans le VG
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-f|--force Ne demande pas confirmation
--noudevsync Désactive la synchronisation udev. Le processus n'attend pas de notification udev.
-S|--select Selection Ne traite que les lignes qui matchent le critère donné
-t|--test Lance en mode test
-v|--verbose Mode verbeux
^
23 mai 2016

htmlpdflatexmanmd




vgrename

vgrename

Renommer un volume group

   vgrename renomme un volume group existant. Tous les volumes group visible au système doivent avoir un nom différent. Sinom de nombreuses commandes LVM2 vont refuser de fonctionner.

OPTIONS

-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux

Exemples

Renomme le volume group vg02 en my_volume_group:
vgrename /dev/vg02 /dev/my_volume_group
ou
vgrename vg02 my_volume_group
Changer le nom du volume group avec un uuid en VolGroup00_tmp
vgrename Zvlifi-Ep3t-e0Ng-U42h-o0ye-KHu1-nl7Ns4 VolGroup00_tmp
^
24 mai 2016

htmlpdflatexmanmd




vgs

vgs

Affiche des informations sur les volumes group

OPTIONS

--all Inclus tous les volumes group
--aligned Utiliser avec --separator pour aligner les colonnes de sortie
--binary Utilise les valeurs binaire 0 ou 1 au lieu des valeurs littérales pour les colonnes qui ont exactement 2 valeurs valides
--nameprefixes Ajoute un préfixe LVM2_ plus le nom du champ dans la sortie. Utile avec --neheadings pour produire une liste de paires champ=valeur qui peuvent être utilisées en variable d'environnement.
--noheadings Supprime les lignes d'en-tête
--nosuffix Supprime le suffixe pour les tailles. Utiliser avec --units si besoin
-o|--options [+|-|#]Field[,Field...] Liste de colonnes à afficher (-) ou enlever (-). '#' compacte les colonnes données. gv_all sélectionne toutes les colonnes de volume group.
-O|--sort [+|-]Key1[,[+|-]Key2...] Liste de colonnes pour l'ordre de trie.
-S|--select Selection Affiche seulement les lignes qui matchent le critère donné
--separator Separator Chaîne à utiliser pour séparer chaque colonne
--unbuffered Produit une sortie immédiatement sant trier ou aligner les colonnes
--units hHbBsSkKmMgGtTpPeE Toutes les tailles affichée sont exprimé avec l'unité spécifiée.
--unquoted avec --nameprefixes, affiche les valeurs sans guillemets
-v|--verbose Mode verbeux
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--ignoreskippedcluster Permet de quitter avec un status non-zero si la commande est lancé sans lockup clusterisé et que certains vg clusterisés doivent être ignorés
--rows Affiche les colonnes brutes
^
23 mai 2016

htmlpdflatexmanmd




vgscan

vgscan

Scanne tous les disques à la recherche des volumes group et reconstruit les caches

   vgscan scanne tous les disques SCSI, (E)IDE, md et d'autres types de disques dans le système à la recherche de volumes physiques LVM et de volumes groupe. Définir un filtre dans lvm.conf pour restreindre le scanne et éviter un cd-rom par exemple. Dans LVM2, vgscan est automatique, mais il peut être nécessaire de le lancer après un changement hardware.

OPTIONS

--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-v|--verbose Mode verbeux
--ignorelockingfailure Permet de traiter des opérations de métadonnées lecture-seule même si le module de lock échoue. Utile dans un script init si le répertoire de lock est monté en lecture seul
--mknodes Vérifie également le fichiers spéciaux LVM dans /dev qui sont nécessaires pour les volumes logiques actifs et créé tous ceux qui manques et supprime ceux non-nécessaire
--notifydbus Envoie une notification à d-bus
-P|--partial Fait de son mieux pour fournir un accès aux volumes group qui sont seulement disponible partiellement
--cache scanne le périphériques à la recherche de volumes physique et de volume groupe et instruit lvmetad de mettre à jours son état en cache en fonction.
^
08 juin 2016

htmlpdflatexmanmd




vgsplit

vgsplit

split un volume group en 2

   vgsplit déplace un ou plusieurs volumes physique depuis un VG vers un autre. Le volume physque déplacé explicitement ou implicitement avec -n ‹lvname›, auquel cas seules les PV sous-jacents au LV spécifié seront déplacés.

   Si le VG de destination n'existe pas, un nouveau volume group est créé. Les attributs par défaut peuvent être spécifiés avec --alloc, --clustered, --maxlogicalvolumes, --metadatatype, --maxphysicalvolumes et --[vg]metadatacopies. Si une de ces options n'est pas spécifiée, sa valeur est prise du VG source. Si un type de métadonnée non-lvm2 (ex: lvm1) est utilisé, il faut utiliser l'option -M pour spécifier le type de métadonnées directement.

   Si le VG de destination existe, il est vérifié pour sa compatibilité avec le VG source avant que les volumes physiques soient déplacés. Les volumes logiques ne peuvent pas être splittés entre les volumes groupe. vgsplit ne déplace que les volumes physiques complet. Utiliser pvmove si nécessaire. un vgsplit dans un VG existant garde la valeur vgmetadatacopies du VG existant. Utiliser vgchange pour changer cette valeur.

   Les volumes logique ne peuvent pas être splittés entre les volumes groups, vgsplit ne déplace que les volumes physiques complet: Pour déplacer une partie d'un volume physique, utiliser pvmove. Chaque volume logique existant doit être entièrement sur les volumes physique formant soit la source soit la destination. Pour cette raison, vgsplit peut échouer avec une erreur si un split résulte en un volume logique splité entre les volumes groupe.

   Un vgsplit en un vg existant retient la valeur du vg existant de vgmetadatacopies. Pour changer la valeur de vgmetadatacopies, utiliser vgchange.

OPTIONS

--alloc AllocationPolicy Sélectionne la stratégie d'allocation (anywhere|contiguous|cling|inherit|normal)
-A|--autobackup {y|n} Backup automatiquement les métadonnées après un changement
-c|--clustered {y|n} Si le locking est activé, est à yes par défaut, indiquant que ce volume group est partagé avec d'autres nœuds dans le cluster.
--commandprofile ProfileName Sélectionne le profile de configuration de commande à utiliser
-l|--maxlogicalvolumes MaxLogicalVolumes Définis le nombre maximum de LV du VG
-M|--metadatatype type Spécifie quel type de métadonnée utiliser
-p|--maxphysicalvolumes MaxPhysicalVolumes Définis le nombre maximum de volumes physiques qui peuvent appartenir à ce volume group. 0 = illimité
--[vg]metadatacopies NumberOfCopies|unmanaged|all Définis le nombre de copies de métadonnées dans le volume group. à une valeur autre que 0, lvm gère automatiquement le flag 'metadataignore' dans les volumes physique pour obtenir le nombre de copies des métadonnées. 'unmanaged', lvm ne gère pas automatiquement le flag. 'all', lvm efface tous les flags dans toutes les zones de métadonnées dans le vg, puis passe en unmanaged.
-n|--name LogicalVolumeName Spécifie le nom du volume logique au lieu du chemin du volume physique (seuls les volumes physiques sous le LV spécifié sont déplacés)
-d|--debug Définis le niveau de débug, de 1 à 6 fois pour augmenter les détails
-t|--test Lance en mode test
-v|--verbose Mode verbeux