lvm |
Gestionnaire de volumes logiques |
---|---|
Linux | Externe |
Syntaxe
lvm [command | file] |
Paramètres
Nom | Description |
---|---|
-A {y|n} | Ce paramètre permet d'indiquer si les méta-données doivent ou non être sauvegardées automatiquement après une modification. Il est fortement déconseillé de désactiver cette option ! Voir vgcfgbackup. |
--addtag Tag | Ce paramètre permet d'ajouter la balise Tag à un PV, VG ou LV. Vous pouvez fournir ce paramètre plusieurs fois pour ajouter plusieurs balises à la fois. Une balise est un mot pouvant être utilisé pour regrouper des objets LVM2 du même type. Des balises peuvent être données sur la ligne de commande à la place des paramètres PV, VG ou LV. Les balises doivent être précédées du caractère «@» pour éviter toute ambiguïté. Chaque balise est développée en la remplaçant par tous les objets possédant cette balise et dont le type est attendu par sa position sur la ligne de commande. Les PV ne peuvent posséder des balises que si elles font partie d'un groupe de volumes : les balises PV sont supprimées si le PV est supprimée du VG. Par exemple, vous pouvez marquer certains volumes logiques en tant que base de données et d'autres en tant que données utilisateur, puis les activer avec «lvchange -ay @database». Les objets peuvent posséder plusieurs étiquettes simultanément. Le nouveau format de méta-données LVM2 prend en charge le balisage : les objets utilisant le format de méta-données LVM1 ne peuvent pas être balisés, car le format sur disque ne le prend pas en charge. Les caractères autorisés dans les balises sont les suivants : «A-Z a-z 0-9 _ + . -» et à partir de la version 2.02.78, les caractères suivants sont également acceptés : «/ = ! : # &». |
--alloc AllocationPolicy | Ce paramètre permet d'indiquer la politique d'allocation à utiliser : contiguous, cling, normal, anywhere ou inherit. Lorsqu'une commande doit allouer des étendues physiques à partir du groupe de volumes, la stratégie d'allocation contrôle leur mode de sélection. Chaque groupe de volumes et volume logique possède une stratégie d'allocation définie. La valeur par défaut pour un groupe de volumes est normal et applique des règles de bon sens, telles que le fait de ne pas placer de bandes parallèles sur le même volume physique. La valeur par défaut pour un volume logique est inherit, appliquant la même stratégie que pour le groupe de volumes. Ces stratégies peuvent être modifiées à l'aide de lvchange et vgchange ou remplacées sur la ligne de commande de toute commande effectuant une allocation. La politique contiguous exige que les nouvelles étendues physiques soient adjacentes aux étendues physiques existantes. La politique cling place les nouvelles Extents physiques sur le même volume physique que les Extents physiques existantes dans la même bande que le volume logique. S'il existe suffisamment d'Extents physiques libres pour répondre à une demande d'allocation mais que normal ne les utilise pas, il le fera n'importe où, même si cela réduit les performances en plaçant 2 bandes sur le même volume physique. |
--autobackup {y|n} | Ce paramètre permet d'indiquer si les méta-données doivent ou non être sauvegardées automatiquement après une modification. Il est fortement déconseillé de désactiver cette option ! Voir vgcfgbackup. |
-d | Ce paramètre permet de définir le niveau de débogage. Répétez de 1 à 6 fois pour augmenter le détail des messages envoyés au fichier journal de bord et/ou à journal de bord système (syslog) (si configuré). Remplace le réglage du fichier de configuration. |
--debug | Ce paramètre permet de définir le niveau de débogage. Répétez de 1 à 6 fois pour augmenter le détail des messages envoyés au fichier journal de bord et/ou à journal de bord système (syslog) (si configuré). Remplace le réglage du fichier de configuration. |
--deltag Tag | Ce paramètre permet de supprimer la balise Tag d'un PV, VG ou LV, si elle est présente. Vous pouvez fournir ce paramètre plusieurs fois pour supprimer plus d'une balise à la fois. |
--driverloaded {y|n} | Ce paramètre permet d'indiquer si le pilote du noyau device-mapper est chargé ou non. Si vous définissez ceci sur n, aucune tentative ne sera faite pour contacter le pilote. |
-h | Ce paramètre permet de fournir de l'aide sur la commande. |
--help | Ce paramètre permet de fournir de l'aide sur la commande. |
--ignorelockingfailure | Ce paramètre permet de procéder à des opérations de méta-données en lecture seule telles que «lvchange -ay» et «vgchange -ay» même si le module de verrouillage échoue. Une utilisation de ce paramètre est dans un script d'initialisation du système si le répertoire de verrouillage est monté en lecture seule lors de l'exécution du script. |
-M Type | Ce paramètre permet de spécifier le type de méta-données sur disque à utiliser, tel que lvm1 ou lvm2, pouvant être abrégé en 1 ou 2 respectivement. La valeur par défaut (lvm2) peut être modifiée en définissant le format dans la section globale du fichier de configuration. |
--metadatatype Type | Ce paramètre permet de spécifier le type de méta-données sur disque à utiliser, tel que lvm1 ou lvm2, pouvant être abrégé en 1 ou 2 respectivement. La valeur par défaut (lvm2) peut être modifiée en définissant le format dans la section globale du fichier de configuration. |
-P | Ce paramètre, une fois définis, permet d'indiquer que les outils feront de leur mieux pour fournir un accès aux groupes de volumes n'étant que partiellement disponibles (un ou plusieurs volumes physiques appartenant au groupe de volumes sont absents du système). Là où une partie d'un volume logique est manquante, /dev/ioerror sera substitué et vous pourrez utiliser dmsetup pour le configurer afin de renvoyer les erreurs d'entrée/sortie lors de l'accès, ou le créer sous la forme d'un gros bloc de périphérique null. Les méta-données ne peuvent pas être modifiées avec ce paramètre. Pour insérer un volume physique de remplacement de taille identique ou supérieure, utilisez pvcreate -u pour que l'uuid corresponde à l'original suivi de vgcfgrestore. |
--partial | Ce paramètre, une fois définis, permet d'indiquer que les outils feront de leur mieux pour fournir un accès aux groupes de volumes n'étant que partiellement disponibles (un ou plusieurs volumes physiques appartenant au groupe de volumes sont absents du système). Là où une partie d'un volume logique est manquante, /dev/ioerror sera substitué et vous pourrez utiliser dmsetup pour le configurer afin de renvoyer les erreurs d'entrée/sortie lors de l'accès, ou le créer sous la forme d'un gros bloc de périphérique null. Les méta-données ne peuvent pas être modifiées avec ce paramètre. Pour insérer un volume physique de remplacement de taille identique ou supérieure, utilisez pvcreate -u pour que l'uuid corresponde à l'original suivi de vgcfgrestore. |
-q | Ce paramètre permet de supprimer les messages de sortie et de journal de bord. Dérogations des paramètres «-d» et «-v». |
--quiet | Ce paramètre permet de supprimer les messages de sortie et de journal de bord. Dérogations des paramètres «-d» et «-v». |
-t | Ce paramètre permet d'exécuter un mode test. Les commandes ne mettront pas à jour les méta-données. Il est intégré en désactivant l'écriture de toutes les méta-données mais en renvoyant néanmoins le succès à la fonction appelante. Il peut entraîner des messages d'erreur inhabituels dans les opérations multi-étapes si un outil repose sur la lecture de méta-données qu'il estime avoir changées mais n'a pas changé. |
--test | Ce paramètre permet d'exécuter un mode test. Les commandes ne mettront pas à jour les méta-données. Il est intégré en désactivant l'écriture de toutes les méta-données mais en renvoyant néanmoins le succès à la fonction appelante. Il peut entraîner des messages d'erreur inhabituels dans les opérations multi-étapes si un outil repose sur la lecture de méta-données qu'il estime avoir changées mais n'a pas changé. |
-v | Ce paramètre permet de définir le niveau de détails. Répétez de 1 à 3 fois pour augmenter le détail des messages envoyés à stdout et stderr. Remplace le réglage du fichier de configuration. |
--verbose | Ce paramètre permet de définir le niveau de détails. Répétez de 1 à 3 fois pour augmenter le détail des messages envoyés à stdout et stderr. Remplace le réglage du fichier de configuration. |
--version | Ce paramètre permet d'afficher les informations de version. |
Description
Cette commande permet de fournir les outils de ligne de commande pour LVM2, soit un outil de gestion des volumes logiques. Si lvm est appelé sans paramètres, il affiche un prompt de lecture (en supposant qu'il ait été compilé avec le support readline). Les commandes LVM peuvent être entrées de manière interactive à ce prompt avec les fonctions readline, notamment l'historique, le nom de la commande et la complétion des des paramètres. Si lvm est appelé avec argv[0] défini sur le nom d'une commande LVM spécifique (par exemple, à l'aide d'un lien matériel ou physique), il agit en tant que commande. Lors de l'appel, LVM requiert que seuls les descripteurs de fichier standard stdin, stdout et stderr soient disponibles. Si d'autres sont trouvés, ils se ferment et des messages sont émis pour avertir de la fuite. Lorsque les commandes prennent comme paramètres des noms VG ou LV, le nom de chemin complet est facultatif. Un LV appelé «lvol0» dans un VG appelé «vg0» peut être spécifié en tant que «vg0/lvol0». Là où une liste de VG est requise mais est laissée vide, une liste de tous les VG sera remplacée. Lorsqu'une liste de LV est requise mais qu'un VG est spécifié, une liste de tous les LV de ce VG sera remplacée. Donc, lvdisplay vg0 affichera tous les LV dans «vg0». Les balises peuvent également être utilisés. L'utilisation de l'interpréteur de commande intégré présente un avantage: les informations de configuration sont mises en cache en interne entre les commandes. Un fichier contenant un script simple avec une commande par ligne peut également être spécifié sur la ligne de commande. Le script peut également être exécuté directement si la première ligne #! est suivi du chemin absolu de lvm.
Commandes intégrées
Les commandes suivantes sont intégrées à lvm sans liens créés normalement dans le système de fichiers :
Nom | Description |
---|---|
dumpconfig | Cette commande permet d'afficher les informations de configuration après le chargement de lvm.conf et de tout autre fichier de configuration. |
formats | Cette commande permet d'afficher les formats de méta-données reconnus. |
help | Cette commande permet d'afficher le texte d'aide. |
pvdata | Cette commande n'est pas intégré dans LVM2. |
segtypes | Cette commande permet d'afficher les types de segment de volume logique reconnus. |
version | Cette commande permet d'affiche les informations de version. |
Les commandes
Les commandes de LVM peuvent être entrée directement sur l'interpréteur de commande bash ou précédé du nom de la commande «lvm». Les commandes suivantes intègre les fonctionnalités LVM principale :
Nom | Description |
---|---|
pvchange | Cette commande permet de changer les attributs d'un volume physique. |
pvck | Cette commande permet de vérifier les méta-données du volume physique. |
pvcreate | Cette commande permet d'initialiser un disque ou une partition pour utilisation par LVM. |
pvdisplay | Cette commande permet d'afficher les attributs d'un volume physique. |
pvmove | Cette commande permet de déplacer des Extents physiques. |
pvremove | Cette commande permet de supprimer un volume physique. |
pvresize | Cette commande permet de redimensionner un disque ou une partition utilisé par LVM2. |
pvs | Cette commande permet de rapporter des informations sur les volumes physiques. |
pvscan | Cette commande permet d'analyser tous les disques pour rechercher les volumes physiques. |
vgcfgbackup | Cette commande permet d'indiquer la zone de descripteur du groupe de volumes de sauvegarde. |
vgcfgrestore | Cette commande permet de restaurer la zone de descripteur de groupe de volumes. |
vgchange | Cette commande permet de changer les attributs d'un groupe de volumes. |
vgck | Cette commande permet de vérifier les méta-données du groupe de volumes. |
vgconvert | Cette commande permet de convertir le format de méta-données du groupe de volumes. |
vgcreate | Cette commande permet de créer un groupe de volumes. |
vgdisplay | Cette commande permet d'afficher les attributs des groupes de volumes. |
vgexport | Cette commande permet de créer des groupes de volumes inconnus du système. |
vgextend | Cette commande permet d'ajouter des volumes physiques à un groupe de volumes. |
vgimport | Cette commande permet de faire connaître les groupes de volumes exportés au système. |
vgimportclone | Cette commande permet d'importer et renommer le groupe de volumes dupliqué (par exemple, une capture d'une instantanée matérielle). |
vgmerge | Cette commande permet de fusionner deux groupes de volumes. |
vgmknodes | Cette commande permet de recréer le répertoire du groupe de volumes et les fichiers spéciaux de volume logique. |
vgreduce | Cette commande permet de réduire un groupe de volumes en supprimant un ou plusieurs volumes physiques. |
vgremove | Cette commande permet de supprimer un groupe de volumes. |
vgrename | Cette commande permet de renommer un groupe de volumes. |
vgs | Cette commande permet de rapporter des informations sur les groupes de volumes. |
vgscan | Cette commande permet d'analyser tous les disques pour les groupes de volumes et reconstruit les caches. |
vgsplit | Cette commande permet de diviser un groupe de volumes en deux, déplaçant n'importe quelle logique volumes d'un groupe de volumes à un autre en déplaçant des volumes physiques entiers. |
lvchange | Cette commande permet de changer les attributs d'un volume logique. |
lvconvert | Cette commande permet de convertir un volume logique linéaire en miroir ou en instantané. |
lvcreate | Cette commande permet de créer un volume logique dans un groupe de volumes existant. |
lvdisplay | Cette commande permet d'afficher les attributs d'un volume logique. |
lvextend | Cette commande permet d'augmenter la taille d'un volume logique. |
lvmchange | Cette commande permet de modifier les attributs du gestionnaire de volumes logiques. |
lvmdiskscan | Cette commande permet d'analyser tous les périphériques visibles par LVM2. |
lvmdump | Cette commande permet de créer des vidages d'informations de lvm2 à des fins de diagnostic. |
lvreduce | Cette commande permet de réduire la taille d'un volume logique. |
lvremove | Cette commande permet de supprimer un volume logique. |
lvrename | Cette commande permet de renommer un volume logique. |
lvresize | Cette commande permet de redimensionner un volume logique. |
lvs | Cette commande permet de rapporter des informations sur les volumes logiques. |
lvscan | Cette commande permet d'analyser (tous les disques) les volumes logiques. |
Les commandes suivantes ne sont pas intégrées dans LVM2 mais pourraient l'être à l'avenir: lvmsadc, lvmsar, pvdata.
Variables d'environnement
Nom | Description |
---|---|
HOME | Cette variable d'environnement contient le répertoire contenant «.lvm_history» si l'interpréteur de commande readline interne est appelé. |
LVM_SYSTEM_DIR | Cette variable d'environnement permet d'indiquer le répertoire contenant «lvm.conf» et d'autres fichiers système LVM. La valeur par défaut est «/etc/lvm». |
LVM_VG_NAME | Cette variable d'environnement permet d'indiquer le nom du groupe de volumes utilisé pour toute référence à un volume logique ne spécifiant pas de chemin. Par défaut, cette variable d'environnement n'est pas définit. |
Remarques
- Noms valides : Les caractères suivants sont valides pour les noms VG et LV: «a-z A-Z 0-9 + _ . -». Les noms VG et LV ne peuvent pas commencer par un trait d'union. Il existe également divers noms réservés utilisés en interne par LVM ne pouvant pas être utilisés en tant que noms LV ou VG. Un VG ne peut pas appelé tout ce qui existe dans /dev/ au moment de la création, ni ne peut appelé «.» ou «..». Un LV ne peut pas appelé «.», «..», «snapshot» ou «pvmove». Le nom LV ne peut pas non plus contenir les chaînes de caractères «_mlog», «_mimage», «_rimage», «_tdata» ou «_tmeta».
- Allocation : Lorsqu'une opération doit allouer des Extents physiques pour un ou plusieurs volumes logiques, les outils procèdent comme suit : Tout d'abord, ils génèrent l'ensemble complet d'Extents physiques non allouées dans le groupe de volumes. Si des intervalles d'Extents physiques sont fournies à la fin de la ligne de commande, seuls les Extents physiques non allouées comprises dans ces intervalles des volumes physiques spécifiés sont pris en compte. Ils testent ensuite chaque politique d'allocation, en commençant par la politique la plus stricte (contiguous) et se terminant par la politique d'allocation spécifiée à l'aide de --alloc ou définie comme valeur par défaut pour le volume logique ou le groupe de volumes concerné. Pour chaque stratégie, en partant de l'Extents logique au numéro le plus bas de l'espace de volume logique vide à remplir, ils allouent autant d'espace que possible en fonction des restrictions imposées par la politique. Si plus d'espace est nécessaire, ils passent à la politique suivante. Les restrictions sont les suivantes : contiguous signifie que l'emplacement physique de toute Extent logique autre que la première Extent logique d'un volume logique soit adjacent à l'emplacement physique de l'Extent logique le précédant immédiatement. cling nécessite que le volume physique utilisé pour toute Extent logique à ajouter à un volume logique existant soit déjà utilisé par au moins une Extent logique précédemment dans ce volume logique. Si le paramètre de configuration «allocation/cling_tag_list» est défini, 2 volumes physiques sont considérés comme correspondant si l'une des balises répertoriées est présente sur les 2 volumes physiques. Cela permet aux groupes de volumes physiques ayant des propriétés similaires (telles que leur emplacement physique) d'être balisés et traités comme équivalents à des fins d'allocation. Lorsqu'un volume logique est agrégé en bandes ou en miroir, les restrictions ci-dessus sont appliquées indépendamment à chaque image en bande ou en miroir (leg) nécessitant de l'espace. Le normal ne choisira pas une Extent physique partageant le même volume physique qu'une Extent logique déjà allouée à un volume logique parallèle (c'est-à-dire une bande ou une image/leg miroir différente) au même déplacement dans ce volume logique parallèle. Lorsque vous affectez un journal de bord miroir en même temps que les volumes logiques pour contenir les données miroir, normal essaie d'abord de sélectionner différents volumes physiques pour le journal et les données. Si cela n'est pas possible et que le paramètre de configuration allocation/mirror_logs_require_separate_pvs est défini sur 0, le journal de bord pourra alors partager des volumes physiques avec une partie des données. Lors de l'allocation des méta-données de thin pool, des considérations similaires à celles d'un journal de bord miroir du dernier paragraphe s'appliquent en fonction de la valeur du paramètre de configuration allocation/thin_pool_metadata_require_separate_pvs. Si vous vous basez sur un comportement de présentation autre que celui décrit ici, sachez qu'il pourrait changer dans les futures versions du code. Par exemple, si vous indiquez sur la ligne de commande 2 volumes physiques vides pour lesquels un nombre identique d'Extent physiques libres sont disponibles à l'attribution, le code actuel considère l'utilisation de chacun d'entre eux dans l'ordre dans lequel ils sont répertoriés, mais rien ne garantit que les versions futures maintiendra cette propriété. S'il est important d'obtenir une présentation spécifique pour un volume logique particulier, vous devez la construire en suivant une séquence d'étapes lvcreate et lvconvert, de sorte que les restrictions décrites ci-dessus s'appliquent à chaque étape sans laisser de marge. sur la mise en page. Pour afficher le fonctionnement actuel du processus d'allocation dans un cas spécifique, lisez le résultat du journal de bord du débogage, en ajoutant par exemple -vvvv à une commande.
- Diagnostique : Tous les outils LVM renvoient un code d'état égal à zéro en cas de succès ou différent de zéro en cas d'échec.
Fichiers
Nom | Description |
---|---|
/etc/lvm/lvm.conf | Ce fichier contient les configurations de LVM. |
$HOME/.lvm_history | Ce fichier contient l'historique de LVM. |
Exemples
L'exemple suivant permet de vérifier les volumes disponibles :
lvm vgscan |
on obtiendra un semblable à celui-ci :
Reading all physical volumes. This may take a while... Found volume group "VolGroup01" using metadata type lvm2 Found volume group "VolGroup00" using metadata type lvm2 |
L'exemple suivant permet d'activer les volumes :
lvm vgchange -a y |
on obtiendra un semblable à celui-ci :
4 logical volume(s) in volume group "VolGroup01" now active 8 logical volume(s) in volume group "VolGroup00" now active |
L'exemple suivant permet de demander les informations actuels des volumes physiques :
lvm pvs |
on obtiendra un semblable à celui-ci :
PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup00 lvm2 a-- 63.84g 11.62g /dev/sdb1 VolGroup01 lvm2 a-- 14.97g 992.00g |