LVM에서 논리적 볼륨을 보유하는 물리적 볼륨을 찾는 방법


47

두 개의 물리적 볼륨 (PV)을 포함하는 볼륨 그룹 (VG)이 있습니다. VG의 여러 논리 볼륨 (LV)은 두 PV 모두에서 범위를 사용합니다.

어떤 LV가 어떤 PV의 공간을 차지하는지 알 수있는 방법이 있습니까?


1
lvm으로 시작하는 데 필요한 모든 명령은 다음과 같습니다. lvdisplay, pvdisplay, vgdisplay

답변:


60

pvdisplay명령에는 -m물리적 범위와 논리적 볼륨 및 논리적 범위의 매핑을 표시 하는 옵션이 있습니다.

테스트 머신에서 다음 상황을 설정했습니다.

  • 각각 1GB의 디스크 3 개가 시스템에 추가되고 vg_test의 물리 볼륨으로 사용됩니다.
  • 다양한 크기 (300M에서 1.1G까지)로 만들어진 6 개의 논리 볼륨으로 물리 볼륨에 분산

pvdisplay -m이 머신에서 실행 하면 다음과 같은 결과가 나타납니다.

[root@centos6 ~]# pvdisplay -m
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               vg_test
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              255
  Free PE               5
  Allocated PE          250
  PV UUID               eR2ko2-aKRf-uCfq-O2L0-z6em-ZYT5-23YhKb

  --- Physical Segments ---
  Physical extent 0 to 74:
    Logical volume  /dev/vg_test/one
    Logical extents 0 to 74
  Physical extent 75 to 149:
    Logical volume  /dev/vg_test/two
    Logical extents 0 to 74
  Physical extent 150 to 249:
    Logical volume  /dev/vg_test/four
    Logical extents 0 to 99
  Physical extent 250 to 254:
    FREE

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               vg_test
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              255
  Free PE               10
  Allocated PE          245
  PV UUID               rByjXK-NA6D-ifnY-lKdF-eFWg-Ndou-psGJUq

  --- Physical Segments ---
  Physical extent 0 to 124:
    Logical volume  /dev/vg_test/three
    Logical extents 0 to 124
  Physical extent 125 to 224:
    Logical volume  /dev/vg_test/five
    Logical extents 0 to 99
  Physical extent 225 to 244:
    Logical volume  /dev/vg_test/six
    Logical extents 255 to 274
  Physical extent 245 to 254:
    FREE

  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               vg_test
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV UUID               TCJnZM-0ss9-o5gY-lgD3-7Kq6-18IH-sN04To

  --- Physical Segments ---
  Physical extent 0 to 254:
    Logical volume  /dev/vg_test/six
    Logical extents 0 to 254

보다시피, 6 개의 논리적 볼륨 각각의 익스텐트가 어디에 있는지에 대한 훌륭한 개요를 얻을 수 있습니다.


7
와우, 나는 몇 년 동안 LVM을 사용해 왔으며 -m스위치를 완전히 알지 못했습니다 . 감사!
Paul

NB : 스트라이핑을 사용할 때 세그먼트의 장치 매퍼 배치를 표시하지 않습니다. dmsetup table <dev>도움이 될 것 같습니다 .
eckes

40

나는 사용한다:

lvs -o +devices

... 해석하기가 조금 더 쉽습니다.


4
우선 lvm 미러가 활성화 된 상태에서는 작동하지 않습니다. 기본 디스크 대신 "lvname_rimage0, lvname_rimage1"만 표시됩니다. (당신의 잘못이 아니라, 명령과 미러링 자체는 잘못 설계되었습니다). 그럼에도 불구하고 여전히 미러되지 않은 lv를 발견하는 것이 좋습니다. 위와 같은 이유로 출력에 완전히 의존하지 않도록주의하십시오.
Florian Heigl

2
내가 권하고 싶습니다 lvs --segments -o +devices당신이 LV이있는 경우, 대신에 / 또한 세그먼트가 무엇 PV를에있는 당신이 볼 수있는 방법을 그 스팬 여러 PV를
kbolino

14

LVM은 파일 시스템 (디스크 ⇒ 파티션 ⇒ LVM의 물리 볼륨 [PV] ⇒ LVM의 볼륨 그룹 [VG] ⇒ LVM 논리 볼륨 [LV] ⇒ 파일 시스템)까지 물리 디스크 간의 유연한 추상화 계층입니다.

일부 LVM 기능 (집계, 미러, 스트라이프, 스냅 샷 등)으로 인해 실제 레이아웃이 복잡해질 수 있습니다.

  • 원하는 경우 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 명령을 사용하십시오.

  • 목록 : 옵션과 함께 lvspvs명령 사용--segments
  • 상세보기 : 옵션과 함께 lvdisplaypvdisplay명령 사용-m

LVM 도구 모범 사례

논리 볼륨에 사용 된 물리 세그먼트를 나열하십시오.

$ 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

자세한 내용과 동일 :

$ 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) 

주어진 LV의 물리적 범위를 나열하십시오. 해당 세그먼트를 이동하는 데 유용합니다 (을 사용하여 pvmove).

$ lvs  /dev/vg_ssd/lv_videos -o seg_pe_ranges
  PE Ranges
  /dev/sdb1:12729-18090
  /dev/sdb1:3534-5339  

반대의 방법으로, 주어진 물리 볼륨 내부의 논리 볼륨 (세그먼트)을 나열하십시오.

$ pvs  /dev/sdb1  --segments  -o +lv_name,lv_size
  PV         VG     Fmt  Attr PSize  PFree  Start SSize LV            LSize 
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g     0  3534                   0 
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g  3534  1806 lv_videos     28,00g
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g  5340  1316                   0 
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g 11776   953 lv_swap_solid  3,72g
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g 12729  5362 lv_videos     28,00g
  /dev/sdb1  vg_ssd lvm2 a--  74,53g 22,80g 18091   988                   0 

다른 정보 중에서 주어진 논리적 볼륨의 물리적 세그먼트를 나열하십시오.

$ 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

복잡한 명령이지만 전체 목록 :

$ pvs   --segments  -o pv_name,pv_size,seg_size,vg_name,lv_name,lv_size,seg_pe_ranges
  PV         PSize   SSize   VG     LV            LSize   PE Ranges            
  /dev/sda5  193,79g   9,31g vg_ssd lv_root_solid  13,31g /dev/sda5:0-2383     
  /dev/sda5  193,79g   3,72g vg_ssd lv_home_solid 107,00g /dev/sda5:2384-3336  
  /dev/sda5  193,79g  46,56g vg_ssd lv_srv_solid   46,56g /dev/sda5:3337-15256 
  /dev/sda5  193,79g  60,00g vg_ssd lv_home_solid 107,00g /dev/sda5:15257-30616
  /dev/sda5  193,79g 200,00m vg_ssd lv_home_solid 107,00g /dev/sda5:30617-30666
  /dev/sda5  193,79g   1,05g vg_ssd                    0                       
  /dev/sda5  193,79g   8,00g vg_ssd lv_home_solid 107,00g /dev/sda5:30937-32984
  /dev/sda5  193,79g   4,00g vg_ssd lv_root_solid  13,31g /dev/sda5:32985-34008
  /dev/sda5  193,79g  20,00g vg_ssd lv_home_solid 107,00g /dev/sda5:34009-39128
  /dev/sda5  193,79g   9,80g vg_ssd lv_home_solid 107,00g /dev/sda5:41689-44198
  /dev/sda5  193,79g   1,28g vg_ssd lv_home_solid 107,00g /dev/sda5:44199-44525
  /dev/sda5  193,79g  15,86g vg_ssd                    0                       
  /dev/sda5  193,79g   4,00g vg_ssd lv_home_solid 107,00g /dev/sda5:48587-49610
  /dev/sdb1   74,53g  13,80g vg_ssd                    0                       
  /dev/sdb1   74,53g   7,05g vg_ssd lv_videos      28,00g /dev/sdb1:3534-5339  
  /dev/sdb1   74,53g   5,14g vg_ssd                    0                       
  /dev/sdb1   74,53g   3,72g vg_ssd lv_swap_solid   3,72g /dev/sdb1:11776-12728
  /dev/sdb1   74,53g  20,95g vg_ssd lv_videos      28,00g /dev/sdb1:12729-18090
  /dev/sdb1   74,53g   3,86g vg_ssd                    0                       


5

lvdisplay -m 물리적 세그먼트를 나열합니다.

# 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미러 미러 볼륨으로 설정된 볼륨도 볼 수 있습니다 .

# 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}(레이드 메타 데이터 포함)과 {volume_name}_rimage_{n}(실제 데이터 포함)이 표시됩니다. 여기서 {volume_name}논리 볼륨의 이름은 {n}미러 수입니다 (에서 시작 0).


그리고 함께 세그먼트로 드릴 다운dmsetup table /dev/vg/swap
eckes

sudo lvdisplay -amcgroup에서 쓰기를 조절할 백업 미러 레그의 마이너를 결정하고 테스트 해 봅시다! unix.stackexchange.com/q/306827/30352
물병 자리 전원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.