Comment trouver le ou les volumes physiques qui contiennent un volume logique dans LVM
47
J'ai un groupe de volumes (VG) qui contient deux volumes physiques (PV). Plusieurs volumes logiques (VG) du VG sont susceptibles d'utiliser des étendues sur les deux PV.
Existe-t-il un moyen de savoir quels LV occupent de l'espace sur quels PV?
Wow, j'utilise LVM depuis des années et je n'étais absolument pas au courant du -mchangement. Merci!
Paul
Remarque: il ne montre pas le positionnement des segments du mappeur de périphérique lorsque la répartition est utilisée. Il semble que cela dmsetup table <dev>pourrait aider avec ça.
eckes
41
J'utilise:
lvs -o +devices
... que je trouve un peu plus facile à interpréter.
Une chose, cela ne fonctionne pas avec les miroirs LVM activés. Là, il ne vous montrera que "lvname_rimage0, lvname_rimage1" au lieu des disques sous-jacents. (pas de votre faute, la commande et la mise en miroir est mal conçue). Même dans ce cas, il est toujours bon de repérer les LV sans miroir. Veillez simplement à ne pas vous appuyer entièrement sur la sortie, car ce qui précède.
Florian Heigl
2
Je recommanderais lvs --segments -o +devicesaussi / au lieu de cela, de cette façon, vous pourrez voir quels sont les segments sur quels PV, si vous avez un LV qui s'étend sur plusieurs PV
kbolino
Cette suggestion est celle qui a fait le tour pour moi: D merci !!
BanjoFox
14
LVM est une couche d'abstraction flexible entre le disque physique et le système de fichiers (disque ⇒ partition ⇒ volume physique de LVM [PV] ⇒ groupe de volumes de LVM [VG] ⇒ volume logique LVM [LV] ⇒ système de fichiers).
En raison de certaines fonctionnalités de LVM (agrégation, miroir, bandes, instantané, etc.), la mise en page physique peut devenir complexe ... d'où certaines mises en garde:
Utilisez la page de manuel lvs sur --allpour afficher les détails internes (des volumes en miroir), si vous le souhaitez.
Évidemment, lorsque vous exécutez une commande pour un objet donné, seuls les parents et les enfants de cet objet sont affichés (ce qui peut être incomplet, si LV couvre plusieurs PV par exemple).
Pour un aperçu rapide, je recommande lsblk (un outil standard, non spécifique à LVM).
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 350M 0 part
├─sda2 8:2 0 29G 0 part
├─sda3 8:3 0 488M 0 part /boot
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 193,8G 0 part
├─vg_ssd-lv_root_solid 254:0 0 13,3G 0 lvm /
├─vg_ssd-lv_srv_solid 254:2 0 46,6G 0 lvm /srv
└─vg_ssd-lv_home_solid 254:3 0 107G 0 lvm /home
sdb 8:16 0 74,5G 0 disk
└─sdb1 8:17 0 74,5G 0 part
├─vg_ssd-lv_swap_solid 254:1 0 3,7G 0 lvm [SWAP]
└─vg_ssd-lv_videos 254:4 0 28G 0 lvm /mnt/videos
Outils spécifiques LVM
Pour obtenir la vue interne et les détails de LVM, utilisez les commandes LVM:
Listes: utilisez les commandes lvset pvsavec l'option--segments
Vue détaillée: utilisez les commandes lvdisplayet pvdisplayavec l'option-m
Exemples d'outils LVM
Répertoriez les segments physiques utilisés par un volume logique:
$ lvs --segments /dev/vg_ssd/lv_videos
LV VG Attr #Str Type SSize
lv_videos vg_ssd -wi-ao---- 1 linear 20,95g
lv_videos vg_ssd -wi-ao---- 1 linear 7,05g
idem avec plus de détails:
$ lvs --segments /dev/vg_ssd/lv_videos -o +lv_size,devices
LV VG Attr #Str Type SSize LSize Devices
lv_videos vg_ssd -wi-ao---- 1 linear 20,95g 28,00g /dev/sdb1(12729)
lv_videos vg_ssd -wi-ao---- 1 linear 7,05g 28,00g /dev/sdb1(3534)
Énumérer les étendues physiques d'un LV donné. Utile pour déplacer ces segments (en utilisant pvmove):
$ lvs /dev/vg_ssd/lv_videos -o seg_pe_ranges
PE Ranges
/dev/sdb1:12729-18090
/dev/sdb1:3534-5339
Inversement, listez le volume logique (segments) à l’intérieur d’un volume physique donné:
Répertoriez les segments physiques d'un volume logique donné, parmi d'autres informations:
$ lvdisplay -m /dev/vg_ssd/lv_videos
[..]
--- Segments ---
Logical extents 0 to 5361:
Type linear
Physical volume /dev/sdb1
Physical extents 12729 to 18090
Logical extents 5362 to 7167:
Type linear
Physical volume /dev/sdb1
Physical extents 3534 to 5339
Affichez le volume logique associé à un volume physique donné, entre autres informations:
$ pvdisplay -m /dev/sdb1
[..]
--- Physical Segments ---
Physical extent 0 to 3533:
FREE
Physical extent 0 to 5339:
Logical volume /dev/vg_ssd/lv_videos
Logical extents 5362 to 7167
Physical extent 5340 to 11775:
FREE
Physical extent 11776 to 12728:
Logical volume /dev/vg_ssd/lv_swap_solid
Logical extents 0 to 952
Physical extent 12729 to 18090:
Logical volume /dev/vg_ssd/lv_videos
Logical extents 0 to 5361
Physical extent 18091 to 19078:
FREE
# lvdisplay -m
--- Logical volume ---
LV Path /dev/vg/swap
LV Name swap
VG Name vg
LV UUID TlxZzz-11Z3-u3K3-0ULD-AZV6-c4ug-jp7YVP
LV Write Access read/write
LV Creation host, time edeltraud, 2015-03-12 12:43:09 +0100
LV Status available
# open 0
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 512
Block device 254:21
--- Segments ---
Logical extents 0 to 511:
Type striped
Stripes 2
Stripe size 64.00 KiB
Stripe 0:
Physical volume /dev/sdc1
Physical extents 2561 to 2816
Stripe 1:
Physical volume /dev/sda1
Physical extents 241027 to 241282
En ajoutant cette -aoption, vous pouvez également voir les volumes configurés par les raid1volumes -mirrored:
# lvdisplay -am
--- Logical volume ---
Internal LV Name srv_rimage_0
VG Name vg
LV UUID IJTT9w-2aX5-aqR5-VY4Z-Lqtp-L3cP-jkzNnx
LV Write Access read/write
LV Creation host, time edeltraud, 2015-12-13 00:10:03 +0100
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:39
--- Segments ---
Logical extents 0 to 12799:
Type linear
Physical volume /dev/sdb4
Physical extents 7683 to 20482
--- Logical volume ---
Internal LV Name srv_rmeta_0
VG Name vg
LV UUID YyyVAa-dab7-8Jxg-JzpS-Yf3k-4SDH-654cqf
LV Write Access read/write
LV Creation host, time edeltraud, 2015-12-13 00:10:03 +0100
LV Status available
# open 1
LV Size 4.00 MiB
Current LE 1
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:38
--- Segments ---
Logical extents 0 to 0:
Type linear
Physical volume /dev/sdb4
Physical extents 7682 to 7682
Pour chaque miroir, vous verrez deux volumes {volume_name}_rmeta_{n}(contenant les métadonnées du raid) et {volume_name}_rimage_{n}(contenant les données réelles), où {volume_name}est le nom du volume logique et {n}le numéro du miroir (commençant à 0).
Et le forage dans les segments avecdmsetup table /dev/vg/swap
eckes
sudo lvdisplay -amil me laisse déterminer le majeur majeur: mineur de la jambe de miroir de sauvegarde pour étrangler écrit dans cgroup, laisse maintenant le tester, merci! unix.stackexchange.com/q/306827/30352
Réponses:
La
pvdisplay
commande a une-m
option pour afficher le mappage des extensions physiques sur les volumes et les extensions logiques.J'ai configuré la situation suivante sur une machine de test:
L'exécution
pvdisplay -m
sur cette machine génère le résultat suivant:Comme vous pouvez le constater, vous obtenez un bon aperçu de la position des étendues pour chacun des 6 volumes logiques.
la source
-m
changement. Merci!dmsetup table <dev>
pourrait aider avec ça.J'utilise:
... que je trouve un peu plus facile à interpréter.
la source
lvs --segments -o +devices
aussi / au lieu de cela, de cette façon, vous pourrez voir quels sont les segments sur quels PV, si vous avez un LV qui s'étend sur plusieurs PVLVM est une couche d'abstraction flexible entre le disque physique et le système de fichiers (disque ⇒ partition ⇒ volume physique de LVM [PV] ⇒ groupe de volumes de LVM [VG] ⇒ volume logique LVM [LV] ⇒ système de fichiers).
En raison de certaines fonctionnalités de LVM (agrégation, miroir, bandes, instantané, etc.), la mise en page physique peut devenir complexe ... d'où certaines mises en garde:
--all
pour afficher les détails internes (des volumes en miroir), si vous le souhaitez.Pour un aperçu rapide, je recommande lsblk (un outil standard, non spécifique à LVM).
Outils spécifiques LVM
Pour obtenir la vue interne et les détails de LVM, utilisez les commandes LVM:
lvs
etpvs
avec l'option--segments
lvdisplay
etpvdisplay
avec l'option-m
Exemples d'outils LVM
Répertoriez les segments physiques utilisés par un volume logique:
idem avec plus de détails:
Énumérer les étendues physiques d'un LV donné. Utile pour déplacer ces segments (en utilisant
pvmove
):Inversement, listez le volume logique (segments) à l’intérieur d’un volume physique donné:
Répertoriez les segments physiques d'un volume logique donné, parmi d'autres informations:
Affichez le volume logique associé à un volume physique donné, entre autres informations:
Commande complexe, mais liste complète:
la source
lvdisplay -m
listera ses segments physiques:En ajoutant cette
-a
option, vous pouvez également voir les volumes configurés par lesraid1
volumes -mirrored:Pour chaque miroir, vous verrez deux volumes
{volume_name}_rmeta_{n}
(contenant les métadonnées du raid) et{volume_name}_rimage_{n}
(contenant les données réelles), où{volume_name}
est le nom du volume logique et{n}
le numéro du miroir (commençant à0
).la source
dmsetup table /dev/vg/swap
sudo lvdisplay -am
il me laisse déterminer le majeur majeur: mineur de la jambe de miroir de sauvegarde pour étrangler écrit dans cgroup, laisse maintenant le tester, merci! unix.stackexchange.com/q/306827/30352