Как найти физический том (ы), которые содержат логический том в LVM
47
У меня есть группа томов (VG), которая содержит два физических тома (PV). Несколько логических томов (LV) в VG, вероятно, будут использовать экстенты на обоих PV.
Есть ли способ определить, какие ЛВ занимают место на каких ЛВ?
Ух ты, я годами использовал LVM и совершенно не знал о -mпереключателе. Спасибо!
Пол
Примечание: он не показывает расположение сегментов устройства отображения при использовании чередования. Похоже, dmsetup table <dev>может помочь с этим.
eckes
41
Я использую:
lvs -o +devices
... который я нахожу немного легче для интерпретации.
Во-первых, он не работает с включенными зеркалами lvm. Там он просто покажет «lvname_rimage0, lvname_rimage1» вместо базовых дисков. (не ваша вина, команда и само зеркалирование плохо спроектированы). Даже тогда все еще хорошо, чтобы разглядеть незагрязненных львов. Просто будьте осторожны, чтобы не полностью полагаться на вывод, потому что выше.
Флориан Хейгл
2
Я бы lvs --segments -o +devicesтакже рекомендовал / вместо этого, чтобы вы могли видеть, какие сегменты на каких PV, если у вас есть LV, который охватывает несколько PV
kbolino
Это предложение, которое помогло мне: D спасибо !!
BanjoFox
14
LVM - это гибкий уровень абстракции между физическим диском и файловой системой (диск ⇒ раздел ⇒ физический том LVM [PV] ⇒ группа томов LVM [VG] ⇒ логический том LVM [LV] ⇒ файловая система).
Из-за некоторых функций LVM (агрегация, зеркало, полосы, снимок ...), физическая раскладка может стать сложной ... таким образом, некоторые предостережения:
При необходимости используйте man-страницу lvs--all для просмотра внутренних деталей (зеркальных томов).
Очевидно, что когда вы запускаете команду для данного объекта, отображаются только родители и дети этого объекта (что может быть неполным, например, если LV охватывает несколько PV)
Для быстрого обзора я рекомендую lsblk (это стандартный инструмент, не специфичный для 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
Специальные инструменты LVM
Чтобы получить внутреннее представление и подробности LVM, используйте команды LVM:
Списки: использовать lvsи pvs команду с опцией--segments
Детальный просмотр: использовать lvdisplayи pvdisplay команду с опцией-m
Перечислите физические сегменты данного логического тома среди другой информации:
$ 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
Отобразите логический том, связанный с данным физическим томом, среди другой информации:
$ 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
Добавив этот -aпараметр, вы также можете увидеть тома, которые настроены raid1томами -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
Для каждого зеркала вы увидите два тома {volume_name}_rmeta_{n}(содержащие метаданные raid) и {volume_name}_rimage_{n}(содержащие фактические данные), где {volume_name}указано имя логического тома и {n}номер зеркала (начиная с 0).
sudo lvdisplay -amон позволил мне определить точную мажорную часть: младшую часть ветви резервного зеркала для регулирования записи в cgroup, теперь давайте проверим это, спасибо! unix.stackexchange.com/q/306827/30352
Ответы:
У
pvdisplay
команды есть-m
возможность показать соответствие физических экстентов логическим томам и логическим экстентам.Я установил следующую ситуацию на тестовой машине:
Работа
pvdisplay -m
на этой машине приводит к следующему выводу:Как видите, вы получите хороший обзор того, где находятся экстенты для каждого из 6 логических томов.
источник
-m
переключателе. Спасибо!dmsetup table <dev>
может помочь с этим.Я использую:
... который я нахожу немного легче для интерпретации.
источник
lvs --segments -o +devices
также рекомендовал / вместо этого, чтобы вы могли видеть, какие сегменты на каких PV, если у вас есть LV, который охватывает несколько PVLVM - это гибкий уровень абстракции между физическим диском и файловой системой (диск ⇒ раздел ⇒ физический том LVM [PV] ⇒ группа томов LVM [VG] ⇒ логический том LVM [LV] ⇒ файловая система).
Из-за некоторых функций LVM (агрегация, зеркало, полосы, снимок ...), физическая раскладка может стать сложной ... таким образом, некоторые предостережения:
--all
для просмотра внутренних деталей (зеркальных томов).Для быстрого обзора я рекомендую lsblk (это стандартный инструмент, не специфичный для LVM).
Специальные инструменты LVM
Чтобы получить внутреннее представление и подробности LVM, используйте команды LVM:
lvs
иpvs
команду с опцией--segments
lvdisplay
иpvdisplay
команду с опцией-m
Инструменты LVM exmples
Перечислите физические сегменты, используемые логическим томом:
то же самое с более подробной информацией:
Перечислите физические размеры данного LV. Полезно для перемещения этих сегментов (используя
pvmove
):Обратным способом перечислите логический том (сегменты) внутри данного физического тома:
Перечислите физические сегменты данного логического тома среди другой информации:
Отобразите логический том, связанный с данным физическим томом, среди другой информации:
Сложная команда, но полный список:
источник
lvdisplay -m
перечислим его физические сегменты:Добавив этот
-a
параметр, вы также можете увидеть тома, которые настроеныraid1
томами -mirrored:Для каждого зеркала вы увидите два тома
{volume_name}_rmeta_{n}
(содержащие метаданные raid) и{volume_name}_rimage_{n}
(содержащие фактические данные), где{volume_name}
указано имя логического тома и{n}
номер зеркала (начиная с0
).источник
dmsetup table /dev/vg/swap
sudo lvdisplay -am
он позволил мне определить точную мажорную часть: младшую часть ветви резервного зеркала для регулирования записи в cgroup, теперь давайте проверим это, спасибо! unix.stackexchange.com/q/306827/30352