it-swarm-tr.com

"fdisk -l" gibi bölümler ve LVM mantıksal birimler için türleri?

"Fdisk -l" sürücüsünün bölüm tablolarını nasıl listelediğini ve her bölüm için bölüm kimliğini/türlerini nasıl gösterdiğini biliyor musunuz?

LVM mantıksal birimleri için bölüm kimliği almanın benzer bir yolu var mı?

DÜZENLEME: "lvs" farkındayım, çoğunlukla aradığım şey budur (bana mantıksal ciltlerin listesini verir, "fdisk -l" gibi bir şey verir ... ancak bunun ne olduğunu bilmek de yararlı olacaktır mantıksal birimlerin bölüm türleri ("sanal bölümler" olarak düşünmeyi seviyorum) Bu sağdaki son iki sütunda "fdisk -l" nin listelediği bilgidir. (Fiziksel olarak "8e" gibi) LVM bölümü veya Linux ext vb. İçin "83").

Aradığım araç LVM'nin bir parçası olmayabilir; belki sadece bir bölüm verilen bölüm kimlikleri/türleri yazdırabilirsiniz başka bir yardımcı program?

22
arcanex

Linux LVM için bölüm kimliği, fdisk tarafından bildirilen 8e'dir.

$ 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, depolama cihazının üst kısmında, yönetmenizi kolaylaştırmak için bir soyutlama katmanıdır. LVM için bölüm kimliği görüntülendiğinden, fdisk'in ötesinde hangi bilgilerin olmasını istediğinizden emin değilim. Ancak, LVM mantıksal hacimleri hakkında ek bilgi için 'lvscan', 'lvs' ve 'lvdisplay' kullanabilirsiniz.

$ 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

Benzer şekilde, 'vgscan', 'vgs' ve 'vgdisplay' ile ses grubu hakkında bilgi edinebilirsiniz.

$ 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
16
jtimberman

Mantıksal birimlerde eski DOS bölümleri gibi bir "tür" yoktur. Unix dosyaları gibi, ne olduklarını öğrenmek için bunları okumalısınız. Böyle bir şey hile yapmalıdır:

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

Bu komutun vereceği çıktıya bir örnek (biraz kesilmiş):

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

LVM, fiziksel disklerin üzerinde bir soyutlamadır.

Mantıksal birimler (dosyaları biçimlendirebileceğiniz ve yerleştirebileceğiniz), bir veya daha fazla fiziksel uzantıdan (gerçek fiziksel disk bölümleri) oluşabilecek birim gruplarından ayrılır.

Sorunuz biraz belirsiz. Bir Mantıksal Birimin fiziksel olarak hangi disk bölümlerinde bulunduğunu göstermek istiyorsanız, lvdisplay --maps yardımcı olabilir:

 # lvdisplay --maps 
 --- Mantıksal hacim --- 
 LV Adı /dev/VolGroup00/root
 VG Adı VolGroup00 [.____. LV UUID xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx 
 LV Yazma Erişim okuma/yazma 
 LV Durumu mevcut 
 # Açık 1 
 LV Boyutu 5.00 GB 
 Mevcut LE 160 
 Segment 1 
 Tahsis devralma 
 İleri sektörleri oku otomatik 
 - şu anda 256 
 Blok cihazı 253 olarak ayarlandı: 0 
 
 --- Segmentler --- 
 Mantıksal kapsam 0 ila 159: 
 Doğrusal yazın 
 Fiziksel hacim /dev/sda2
 Fiziksel uzantılar 0 ila 159 
6
tfh1985

Mantıksal ciltlerin bir "tür" kavramı yoktur, sadece blok cihazlarıdır. Bir blok aygıtının içeriğini incelemek ve içinde ne olduğunu belirlemek istiyorsanız, tam olarak bunu yapan blkid aracına bakmak isteyebilirsiniz.

6
womble

1) Mantıksal birim (fiziksel) disk bölümü DEĞİLDİR. Aygıt Eşleyici ile Linux çekirdeği içinde oluşturulan sanal bir blok cihazdır. Bu, iki disk bölümü kullanarak tek bir blok aygıtı ve tek bir disk bölümü kullanan iki blok aygıtı ve çok daha fazlasını kurmak için kullanabileceğiniz bir teknolojidir.

# dmsetup targets 

DM ziyaret onun ana sayfa hakkında daha fazla bilgi edinmek istiyorsanız, manuel sayfalar , RedHat manuel = veya örneğin this makale.Bu sadece harika bir teknolojidir bahsedilen Wikipedia'da.

2) Örneğin ev bilgisayarımda fiziksel disk bölümlerimin yanı sıra DM cihazlar (mantıksal birimler)) var.

# cat /proc/partitions

büyük küçük # blok adı

   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

Öncelikle herhangi bir türü veya kimliği yoktur, sadece başlangıç ​​sektörü numarası ve uzunluğu ile tanımlanırlar.

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

Dolayısıyla dm-0, bazı fiziksel cihazların 34865152 sektöründen oluşan bir parçadır.

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

Ve bu cihaz/dev/hdb2 bölümüdür!

# 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

Ve kereste adam tarafından belirtilen LVM (8e) tipi bölümdür.

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

Bu tek (fiziksel) disk bölümü, bir grup içinde mantıksal birimleri tutabilir. İki diskim var, böyle iki grup var ve her grup iki mantıksal aygıta sahip.

# 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 

Yani dm-0 ve dm-1, ilk diskimin/Cent/hdb2 bölümümde (CentOS ile) oluşturulan iki LV (lvroot ve lvswap), dm-2 ve dm-3 ise/dev/hda2 bölümümde oluşturulan LV'ler benim ikinci diskim (Fedora ile).

Mantıksal cihazlarda etiketler (UUID'ler) olabilir. Bunları yukarıda belirtilen lvdisplay komutuyla kontrol edebilirsiniz. Ancak bunlar, büyük, küçük sayılar (-j -m anahtarları) yerine (-u) kullanabileceğiniz etiketlerdir.

5

Lsblk ihtiyacınız olan bilgileri sağlıyor mu?

[[email protected] ~]# 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
[[email protected] ~]# 
4
Mark V

Mantıksal birimlerin bir bölüm kimliği veya türü yoktur. Bunlar, her biri bir bölüm (ör./Dev/sda2) olabilen fiziksel uzantılar (PE) 'den birden fazla yayılabilir fiziksel hacimler (PV) veya tam bir disk (örn./dev/sdb).

0
pgs

muhtemelen gerekmiyor ama burada biraz kendimi öğrendim http://www.linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager

0
Ken

Bölüm türü kimliği, bölümün kendisinde değil, yalnızca bölüm tablosunda depolanır. Öte yandan, LVM mantıksal hacimleri normalde disk olarak değil ayrı ayrı bölümler olarak ele alınır, bu nedenle bölümleme tablosu ve dolayısıyla aranacak bölüm tipi kimliği yoktur.

Ayrıca, id türünün Linux'ta yalnızca bilgilendirme amaçlı olduğunu da unutmayın (bu Windows için geçerli değildir). Bu bölümün içeriği ve dosya sistemi üzerinde hiçbir etkisi yoktur.

"Mark V" den önceki gönderiye bakarsanız, lsblk komutunun kullanıldığını göreceksiniz.

Bu harika bir seçenektir, ancak OP cevapların çoğundan çıkarılmış olan türü istedi. Yukarıdaki lsblk kullanarak ve "FSTYPE" ekleyerek beklenen türü alırsınız:

# lsblk -o TYPE,NAME,KNAME,UUID,MOUNTPOINT,SIZE,FSTYPE
TYPE NAME               KNAME UUID                                   MOUNTPOINT  SIZE FSTYPE
disk fd0                fd0                                                        4K
disk sda                sda                                                      100G
part ├─sda1             sda1  a6f1731f-e2bf-4dae-a443-269b079388a6   /boot         1G xfs
part ├─sda2             sda2  6CCtv5-HHYq-aXDm-m4jj-IpD3-rfv7-AI57D9              49G 
LVM2_member
lvm  │ ├─cl_hadron-root dm-0  0c8bfb8b-ec32-4152-9abd-b6bc5c475b00   /            97G xfs
lvm  │ └─cl_hadron-swap dm-1  8aeeadab-69da-49ff-991d-dad8857fb82b   [SWAP]        2G 
swap
# 
0
Ed Davison

Bence bu tek satırlık komut yardımcı olabilir:

for i in $(df -h | grep mapper | cut -d" " -f1); do echo $i; lvdisplay --maps $i | grep "Physical volume"; done

Çıktı buna benzer:

/dev/mapper/myserver-root
    Physical volume /dev/sda5
/dev/mapper/SambaShares
    Physical volume /dev/sdb1
    Physical volume /dev/sdo1
    Physical volume /dev/sdp
/dev/mapper/Test--Disc
    Physical volume /dev/sdf1
    Physical volume /dev/sdg1
    Physical volume /dev/sdh1
    Physical volume /dev/sdi1
/dev/mapper/Clonezilla-partimag
    Physical volume /dev/sdk1
    Physical volume /dev/sdj1
    Physical volume /dev/sdl1
    Physical volume /dev/sdm1
    Physical volume /dev/sdn1
    Physical volume /dev/sdq1
0
bLuEdDy