Frage "Fdisk -l" wie eine Liste von Partitionen und deren Typen für logische LVM-Datenträger?


Sie wissen, wie "fdisk -l" Laufwerke Partitionstabellen listet und zeigt die Partition ID / Typen für jede Partition?

Gibt es eine ähnliche Möglichkeit, die Partitions-ID für logische LVM-Datenträger abzurufen?

EDIT: Ich bin mir bewusst "LVS", die meisten was ich suche (es gibt mir die Liste der logischen Volumes, ähnlich wie "fdisk -l" ... außer es wäre auch nützlich, was zu wissen die Partitionstypen der logischen Volumes (die ich gerne als "virtuelle Partitionen" bezeichne) sind. Das ist die Information, die "fdisk -l" in den letzten beiden Spalten auf der rechten Seite auflistet (zB "8e" für ein Physical) LVM-Partition oder "83" für Linux ext, usw.).

Das Tool, nach dem ich suche, ist möglicherweise nicht Teil von LVM. vielleicht nur ein anderes Dienstprogramm, das Partitions-IDs / -Typen bei einer Partition ausgeben kann?


21
2018-06-20 00:23


Ursprung


Versuchen cat /etc/fstab um den Typ des Dateisystems anzuzeigen, sogar mit LVM ... Klingt offensichtlich, aber es beantwortet die Frage ...


Antworten:


Die Partitions-ID für Linux LVM ist 8e, gemeldet von fdisk.

$ sudo fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00008ec7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1013     8136891   8e  Linux LVM
/dev/sda2            1014        1044      249007+   5  Extended
/dev/sda5            1014        1044      248976   83  Linux

LVM ist eine Abstraktionsschicht über dem Speichergerät, um die Verwaltung zu vereinfachen. Ich bin mir nicht sicher, welche Informationen über was fdisk hinaus will, weil die Partitions-ID für LVM angezeigt wird. Für zusätzliche Informationen zu logischen LVM-Volumes können Sie jedoch 'lvscan', 'lvs' und 'lvdisplay' verwenden.

$ sudo lvscan 
  ACTIVE            '/dev/ops1test/root' [7.35 GB] inherit
  ACTIVE            '/dev/ops1test/swap_1' [388.00 MB] inherit

$ sudo lvs 
  LV     VG       Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  root   ops1test -wi-ao   7.35G                                      
  swap_1 ops1test -wi-ao 388.00M                                      

$ sudo lvdisplay
  --- Logical volume ---
  LV Name                /dev/ops1test/root
  VG Name                ops1test
  LV UUID                BfKOpy-L7Ql-905o-7tFk-nnsV-0c7I-w4g9y6
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                7.35 GB
  Current LE             1881
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Name                /dev/ops1test/swap_1
  VG Name                ops1test
  LV UUID                8SNfQ9-Hlfk-Edsb-vmL1-DeE3-nBRR-YAM1dV
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                388.00 MB
  Current LE             97
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

In ähnlicher Weise können Sie Informationen über die Volume-Gruppe selbst mit 'vgscan', 'vgs' und 'vgdisplay' lernen.

$ sudo vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "ops1test" using metadata type lvm2

$ sudo vgs
  VG       #PV #LV #SN Attr   VSize VFree 
  ops1test   1   2   0 wz--n- 7.76G 32.00M

$ sudo vgdisplay
  --- Volume group ---
  VG Name               ops1test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.76 GB
  PE Size               4.00 MB
  Total PE              1986
  Alloc PE / Size       1978 / 7.73 GB
  Free  PE / Size       8 / 32.00 MB
  VG UUID               ofpvks-2EDZ-limu-0wAh-tYUN-ISG3-mSS65O

15
2018-06-20 00:48



Außerdem: pvs, pvdisplay und pvscan, um Daten über die physischen Volumes zu erhalten ... - freiheit


Logische Volumes haben keinen "Typ" wie alte DOS-Partitionen. Wie Unix-Dateien müssen Sie sie lesen, um herauszufinden, was sie sind. So etwas sollte den Trick machen:

lvs --all --noheadings | while read lv vg rest; do file --dereference --special-files "/dev/mapper/$(echo $vg | sed 's/-/--/')-$lv"; done

Hier ist ein Beispiel für die Ausgabe, die dieser Befehl geben würde (etwas abgeschnitten):

[...]
/dev/mapper/VolGroup00-LogVol00: Linux rev 1.0 ext4 filesystem data, UUID=b000000e-00f0-0cde-b000-fa0d000ddc00 (extents) (64bit) (large files) (huge files)
[...]

9
2017-07-05 10:12



Gute Antwort. Es scheint, als hätte niemand anders verstanden, wonach das OP verlangte. Ich musste eine Änderung an Ihrem Skript vornehmen: Ich fügte dem Dateibefehl die Option --dereference hinzu. Jeder LV ist mit dem Device-Mapper mit / dm-X verbunden. - codewaggle
@codewaggle Danke; Option hinzugefügt. Als ich die Antwort in '09 schrieb, wurde die Option nicht benötigt, aber die Zeiten ändern sich. - Teddy
Dies sollte die akzeptierte Antwort sein! - lanoxx
Funktioniert nicht, wenn Sie in Ihrem VG-Namen Bindestriche haben, diese werden verdoppelt, die Antwort aktualisiert. Möglicherweise gilt das gleiche Problem für LV-Namen, aber ich habe das nicht getestet. - sjas


LVM ist eine Abstraktion über physischen Festplatten.

Logische Volumes (auf denen Sie Dateien formatieren und ablegen können) werden aus Volume-Gruppen zugewiesen, die aus einem oder mehreren physischen Extents bestehen können - den tatsächlichen physischen Festplattenpartitionen.

Deine Frage ist ein wenig unklar. Wenn Sie zeigen möchten, auf welchen Festplattenpartitionen sich ein logisches Volume befindet, kann lvdisplay --maps helfen:

# lvdisplay --Maps
  --- Logisches Volumen ---
  LV-Name / dev / VolGroup00 / root
  VG Name VolGroup00
  LV-UUID xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx
  LV Schreibzugriff Lesen / Schreiben
  LV-Status verfügbar
  # öffnen 1
  LV Größe 5,00 GB
  Aktuelle LE 160
  Segmente 1
  Zuordnung erben
  Lesen Sie die Sektoren automatisch vor
  - Derzeit auf 256 gesetzt
  Blockiere Gerät 253: 0

  --- Segmente ---
  Logisches Ausmaß 0 bis 159:
    Geben Sie linear ein
    Physisches Volumen / dev / sda2
    Physische Extents 0 bis 159

6
2018-06-20 00:57



Nicht die Frage zu beantworten, aber die einzige Möglichkeit zu überprüfen, ob Ihr LV fragmentiert ist oder nicht. Upvote, habe das noch nirgendwo anders gesehen. - sjas


Logische Volumen haben kein Konzept eines "Typs", sie sind nur Blockgeräte. Wenn Sie den Inhalt eines Blockdevices untersuchen und bestimmen möchten, was darin enthalten ist, sollten Sie sich die blkid Werkzeug, das genau das tut.


6
2018-06-20 01:39





1) Ein logisches Volume ist KEINE (physische) Festplattenpartition. Es ist ein virtuelles Blockgerät, das im Linux-Kernel mit Device Mapper erstellt wurde. Es ist eine Technologie, die man verwenden kann, um ein einzelnes Blockgerät mit zwei Festplattenpartitionen sowie zwei Blockdevices mit einer einzigen Festplattenpartition einzurichten, und vieles mehr.

# dmsetup targets 

Wenn Sie mehr über DM wissen wollen, besuchen Sie es Startseite, überprüfe es Handbuchseiten, lies RedHat Handbuch oder zum Beispiel diese Artikel. Es ist nur eine großartige Technologie erwähnt in Wikipedia.

2) Zum Beispiel auf meinem Heimcomputer habe ich physische Festplattenpartitionen sowie DM-Geräte (logische Volumes).

# cat /proc/partitions

Major kleiner #Blocks Name

   3     0   80043264 hda
   3     1     204800 hda1
   3     2   79831029 hda2
   3    64   19589976 hdb
   3    65     104391 hdb1
   3    66   19478812 hdb2
 253     0   17432576 dm-0
 253     1    2031616 dm-1
 253     2   77762560 dm-2
 253     3    2064384 dm-3

In erster Linie haben sie keinen Typ oder keine ID, sie sind nur mit der Nummer des Startsektors und der Länge definiert.

# dmsetup status -j 253 -m 0
0 34865152 linear

Also ist dm-0 ein Fragment, das aus 34865152 Sektoren eines physikalischen Geräts besteht.

# dmsetup deps -j 253 -m 0
1 dependencies  : (3, 66)

Und dieses Gerät ist / dev / hdb2 Partition!

# fdisk /dev/hdb
Command (m for help): p
   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1          13      104391   83  Linux
/dev/hdb2              14        2438    19478812+  8e  Linux LVM

Und es ist LVM (8e) Typ Partition, von Timberman erwähnt.

# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/hda2  VolGroup   lvm2 a-   76,13G    0 
  /dev/hdb2  VolGroup00 lvm2 a-   18,56G    0 

Diese einzelne (physische) Festplattenpartition kann logische Datenträger innerhalb einer Gruppe enthalten. Ich habe zwei Festplatten, also gibt es zwei solche Gruppen und jede Gruppe enthält zwei logische Geräte.

# lvs
  LV       VG         Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  lv_root  VolGroup   -wi-a- 74,16G                                      
  lv_swap  VolGroup   -wi-a-  1,97G                                      
  LogVol00 VolGroup00 -wi-ao 16,62G
  LogVol01 VolGroup00 -wi-ao  1,94G 

Also dm-0 und dm-1 sind zwei LVs (lvroot und lvswap), die auf meiner / dev / hdb2 Partition meiner ersten Platte (mit CentOS) erstellt wurden, während dm-2 und dm-3 LVs sind, die auf meiner / dev / hda2 Partition erstellt wurden meiner zweiten Festplatte (mit Fedora).

Logische Geräte können Labels (UUIDs) haben. Sie können sie mit dem oben genannten Befehl lvdisplay überprüfen. Aber sie sind nur Labels, die Sie (-u) anstelle von Major-, Minor-Nummern (-j -m-Schalter) verwenden können.


5
2017-08-28 23:36





Stellt lsblk die benötigten Informationen zur Verfügung?

[root@localhost ~]# lsblk -o TYPE,NAME,KNAME,UUID,MOUNTPOINT,SIZE                                                                                                                                                                        
TYPE NAME                KNAME UUID                                   MOUNTPOINT  SIZE
rom  sr0                 sr0   2014-07-04-15-59-23-00                             362M
disk vda                 vda                                                        1G
part └─vda1              vda1  7eadd712-6571-4722-8a5e-5d419176f6dc   /boot      1023M
disk vdb                 vdb   eVbl9d-dxf0-yqiV-evZC-FHPB-RrZb-eb1897              20G
lvm  ├─vg_system-lv_swap dm-0  44bb22f8-d8c6-482c-8763-36ee58c2528e   [SWAP]        1G
lvm  ├─vg_system-lv_usr  dm-1  c1f9ac62-17a3-4dfa-88b6-6a26394dd270   /usr          2G
lvm  ├─vg_system-lv_root dm-2  6724461a-2401-42ec-8180-fb7582040b68   /            10G
lvm  ├─vg_system-lv_var  dm-3  f2044fb7-5a64-4ae3-8407-891f75aba534   /var          2G
lvm  └─vg_system-lv_home dm-4  8ad80cce-bdf4-43e9-b755-b987169ed062   /home         2G
[root@localhost ~]# 

4
2018-01-21 04:58





Logische Volumes haben keine Partitions-ID oder einen Partitions-Typ. Sie bestehen aus physische Ausmaße (PE), die über mehrere verteilt sein können physische Volumes (PV), von denen jede eine Partition (z. B. / dev / sda2) oder eine vollständige Festplatte (z. B. / dev / sdb) sein könnte.


0
2018-06-20 02:52





Wahrscheinlich nicht nötig, aber ich habe hier ein wenig selbst gelernt http://www.linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager


0
2018-06-20 04:02