Cách tìm (các) âm lượng vật lý chứa âm lượng hợp lý trong LVM


47

Tôi có một nhóm âm lượng (VG) có chứa hai khối vật lý (PV). Một số khối lượng logic (LV) trong VG có khả năng sử dụng phạm vi trên cả hai PV.

Có cách nào để biết LV nào chiếm không gian trên PV nào không?


1
Dưới đây là tất cả các lệnh bạn sẽ cần bắt đầu với lvm: lvdisplay, pvdisplay, vgdisplay

Câu trả lời:


61

Các pvdisplaylệnh có một -mtùy chọn để hiển thị các bản đồ của mức độ vật lý khối lượng hợp lý và mức độ logic.

Tôi đã thiết lập tình huống sau đây trên máy thử nghiệm:

  • 3 đĩa 1 GB được thêm vào hệ thống và được sử dụng làm ổ đĩa vật lý cho vg_test
  • 6 khối lượng logic được thực hiện với các kích thước khác nhau (từ 300M đến 1.1G) để chúng được trải đều trên các khối vật lý

Chạy pvdisplay -mtrên máy này cho kết quả đầu ra sau:

[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

Như bạn có thể thấy, Bạn có được một cái nhìn tổng quan tuyệt vời về vị trí của mỗi trong số 6 khối logic.


7
Ồ, tôi đã sử dụng LVM trong nhiều năm và hoàn toàn không biết về việc -mchuyển đổi. Cảm ơn!
Paul

NB: nó không hiển thị vị trí của trình ánh xạ thiết bị của các phân đoạn khi sử dụng phân chia. Có vẻ như dmsetup table <dev>có thể giúp với điều đó.
eckes

41

Tôi sử dụng:

lvs -o +devices

... mà tôi thấy dễ giải thích hơn một chút.


4
Một điều, nó không hoạt động với gương lvm được kích hoạt. Ở đó, nó sẽ chỉ hiển thị "lvname_rimage0, lvname_rimage1" thay vì các đĩa bên dưới. (không phải lỗi của bạn, lệnh và phản chiếu chính nó được thiết kế xấu). Ngay cả sau đó vẫn tốt để phát hiện ra lv chưa được kiểm duyệt. Chỉ cần cẩn thận không hoàn toàn dựa vào đầu ra vì ở trên.
Florian Heigl

2
Tôi cũng khuyên bạn nên lvs --segments -o +devices/ thay vào đó, bằng cách đó bạn có thể thấy các phân đoạn trên PV nào, nếu bạn có LV kéo dài nhiều PV
kbolino

Gợi ý này là một trong những mẹo đã làm cho tôi: D cảm ơn !!
BanjoFox

14

LVM là lớp trừu tượng linh hoạt giữa đĩa vật lý cho đến hệ thống tệp (phân vùng đĩa volume Khối lượng vật lý của LVM [PV] Nhóm âm lượng LVM [VG]] Khối lượng logic LVM [LV] hệ thống tệp).

Do một số tính năng LVM (tổng hợp, gương, sọc, ảnh chụp nhanh ...), bố cục vật lý có thể trở nên phức tạp ... do đó một số cảnh báo:

  • Sử dụng trang chủ lvs--all để xem chi tiết nội bộ (của khối lượng nhân đôi), nếu muốn.
  • Rõ ràng, khi bạn chạy một lệnh cho một objet nhất định, chỉ có cha mẹ và con cái của đối tượng đó được hiển thị (có thể không đầy đủ, nếu LV đang mở rộng trên nhiều PV chẳng hạn)

Để có cái nhìn tổng quan nhanh, tôi khuyên dùng lsblk (là một công cụ tiêu chuẩn, không phải LVM cụ thể).

$ 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

Công cụ cụ thể LVM

Để có được thông tin và chi tiết nội bộ của LVM, hãy sử dụng các lệnh LVM:

  • Danh sách: sử dụng các lệnh lvspvsvới tùy chọn--segments
  • Xem chi tiết: sử dụng các lệnh lvdisplaypvdisplayvới tùy chọn-m

Công cụ LVM exmples

Liệt kê các phân đoạn vật lý được sử dụng bởi một khối hợp lý:

$ 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

cùng với nhiều chi tiết hơn:

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

Liệt kê các phạm vi vật lý của một LV nhất định. Hữu ích để di chuyển các phân đoạn (sử dụng pvmove):

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

Theo cách ngược lại, liệt kê khối lượng logic (phân đoạn) bên trong một Khối vật lý nhất định:

$ 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 

Liệt kê các phân đoạn vật lý của một khối lượng logic nhất định, trong số các thông tin khác:

$ 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

Hiển thị khối lượng logic được liên kết với một khối vật lý nhất định, cùng với các thông tin khác:

$ 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

Lệnh phức tạp, nhưng danh sách đầy đủ:

$ 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 sẽ liệt kê các phân đoạn vật lý của nó:

# 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

Bằng cách thêm -atùy chọn, bạn cũng có thể thấy các tập được thiết lập theo các raid1tập được ghi:

# 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

Đối với mỗi máy nhân bản, bạn sẽ thấy hai tập, {volume_name}_rmeta_{n}(chứa dữ liệu meta đột kích) và {volume_name}_rimage_{n}(chứa dữ liệu thực tế), trong đó {volume_name}tên của khối lượng logic và {n}là số của gương (bắt đầu từ 0).


Và đi sâu vào các phân đoạn vớidmsetup table /dev/vg/swap
eckes

sudo lvdisplay -amnó cho tôi xác định chính xác: phụ của chân gương dự phòng để điều tiết ghi trong cgroup, bây giờ hãy kiểm tra nó, thx! unix.stackexchange.com/q/306827/30352
Sức mạnh Bảo Bình
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.