"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?
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
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)
[...]
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
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.
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.
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] ~]#
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).
muhtemelen gerekmiyor ama burada biraz kendimi öğrendim http://www.linuxconfig.org/Linux_lvm_-_Logical_Volume_Manager
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
#
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