"Fdisk -l" विभाजन की सूची और LVM तार्किक संस्करणों के लिए उनके प्रकारों की तरह?


22

आप जानते हैं कि "fdisk -l" कैसे ड्राइव विभाजन तालिका को सूचीबद्ध करता है और प्रत्येक विभाजन के लिए विभाजन आईडी / प्रकार दिखाता है?

क्या LVM लॉजिकल वॉल्यूम के लिए विभाजन आईडी प्राप्त करने का एक समान तरीका है?

संपादित करें: मैं "lvs" से अवगत हूं, जो कि ज्यादातर वही है जो मैं ढूंढ रहा हूं (यह मुझे तार्किक संस्करणों की सूची देता है, "fdisk -l" की तरह ... सिवाय इसके कि यह जानना भी उपयोगी होगा कि क्या तार्किक वॉल्यूम के विभाजन प्रकार (जो मुझे "वर्चुअल विभाजन" के रूप में सोचना पसंद है) हैं। यह जानकारी है कि दाईं ओर अंतिम दो कॉलमों पर "fdisk -l" सूची है (जैसे कि भौतिक के लिए "8e")। एलवीएम विभाजन, या लिनक्स एक्सट आदि के लिए "83")।

मैं जिस टूल की तलाश कर रहा हूं वह LVM का हिस्सा नहीं हो सकता है; शायद सिर्फ कुछ अन्य उपयोगिता जो विभाजन आईडी / प्रकार को एक विभाजन को मुद्रित कर सकते हैं?


1
cat /etc/fstabफ़ाइल सिस्टम के प्रकार को प्रदर्शित करने का प्रयास करें , यहाँ तक कि lvm के साथ ... स्पष्ट लगता है, लेकिन यह प्रश्न का उत्तर देता है ...

जवाबों:


16

लिनक्स LVM के लिए विभाजन आईडी 8e है, जिसे 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 स्टोरेज डिवाइस के शीर्ष पर एक अमूर्त परत है, जिससे आपको इसे प्रबंधित करना आसान हो जाता है। मुझे यकीन नहीं है कि fdisk आपको क्या प्रदान करता है से परे क्या जानकारी है, क्योंकि LVM के लिए विभाजन आईडी प्रदर्शित होता है। हालांकि, LVM तार्किक संस्करणों के बारे में अतिरिक्त जानकारी के लिए, आप 'lvscan', 'lvs' और 'lvdisplay' का उपयोग कर सकते हैं।

$ 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

इसी प्रकार, आप वॉल्यूम समूह के बारे में 'vgscan', 'vgs' और 'vgdisplay' के साथ स्वयं जानकारी प्राप्त कर सकते हैं।

$ 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

4
इसके अलावा: पी वी एस, pvdisplay और शारीरिक मात्रा के बारे में डेटा प्राप्त करने के लिए pvscan ...
Freiheit

9

लॉजिकल वॉल्यूम में पुराने डॉस विभाजन जैसे "प्रकार" नहीं होते हैं। यूनिक्स फ़ाइलों की तरह, आपको यह जानने के लिए उन्हें पढ़ना होगा कि वे क्या हैं। कुछ इस तरह करना चाहिए ट्रिक:

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

यहां आउटपुट के लिए एक उदाहरण है जो यह कमांड देगा (थोड़ा छोटा किया गया):

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

2
बहुत बढ़िया जवाब। ऐसा लगता है जैसे कोई और नहीं समझ पाया कि ओपी क्या पूछ रहा था। मुझे आपकी स्क्रिप्ट में एक बदलाव करना था: मैंने फ़ाइल कमांड में --dereference विकल्प जोड़ा। प्रत्येक एलवी डिवाइस मैपर द्वारा / डीएम-एक्स से जुड़ा हुआ है।
कोडेवगल

1
@codewaggle धन्यवाद; विकल्प जोड़ा गया। जब मैंने जवाब वापस '09 में लिखा, तो विकल्प की जरूरत नहीं थी, लेकिन समय बदल गया।
टेडी

2
यह स्वीकृत उत्तर होना चाहिए!
लैंक्सक्स

1
जब आप अपने वीजी नाम में डैश होते हैं तो काम नहीं करते हैं, ये दोगुना हो जाता है, जवाब अपडेट किया जाता है। संभवतः वही समस्या LV नामों के लिए लागू होती है, लेकिन मैंने उसका परीक्षण नहीं किया।
sjas

6

LVM भौतिक डिस्क के ऊपर एक अमूर्त है।

लॉजिकल वॉल्यूम (जिस पर आप फ़ाइलों को फॉर्मेट और प्लेस कर सकते हैं) को वॉल्यूम समूहों से आवंटित किया जाता है, जो एक या अधिक भौतिक विस्तार से बना हो सकता है - वास्तविक भौतिक डिस्क विभाजन।

आपका प्रश्न थोड़ा अस्पष्ट है। यदि आप दिखाना चाहते हैं कि कौन सा डिस्क विभाजन एक तार्किक आयतन भौतिक रूप से निवास कर रहा है, तो lvdisplay --maps मदद कर सकता है:

# लवडिस्प्ले - मैप्स
  --- तार्किक मात्रा ---
  LV नाम / देव / VolGroup00 / रूट
  वीजी नाम VolGroup00
  LV UUID xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx
  LV लिखने / पढ़ने के लिए एक्सेस लिखें
  LV स्थिति उपलब्ध है
  # खुला 1
  LV आकार 5.00 GB
  वर्तमान ले 160
  खंड 1
  आवंटन विरासत में मिला
  आगे पढ़िए सेक्टरों के ऑटो
  - वर्तमान में 256 पर सेट है
  ब्लॉक डिवाइस 253: 0

  --- खंड ---
  तार्किक सीमा 0 से 159:
    रैखिक लिखें
    भौतिक मात्रा / देव / sda2
    भौतिक विस्तार 0 से 159

सवाल का जवाब नहीं, लेकिन यह जांचने का एकमात्र तरीका है कि आपका एलवी खंडित है या नहीं। Upvote, इसे अभी तक कहीं और नहीं देखा है।
साजा

6

तार्किक संस्करणों में "प्रकार" की अवधारणा नहीं है, वे केवल ब्लॉक डिवाइस हैं। यदि आप किसी ब्लॉक डिवाइस की सामग्री की जांच करना चाहते हैं और यह निर्धारित करना चाहते हैं कि इसमें क्या है, तो आप उस blkidटूल को देखना चाहते हैं , जो वास्तव में ऐसा करता है।


5

1) एक तार्किक आयतन एक (भौतिक) डिस्क विभाजन नहीं है। यह डिवाइस मैपर के साथ लिनक्स कर्नेल के अंदर बनाया गया एक वर्चुअल ब्लॉक डिवाइस है। यह एक ऐसी तकनीक है जिसका उपयोग एक एकल डिवाइस को दो डिस्क विभाजन और साथ ही एक डिस्क विभाजन का उपयोग करके दो ब्लॉक डिवाइस को सेटअप करने के लिए किया जा सकता है, और भी बहुत कुछ।

# dmsetup targets 

यदि आप डीएम की यात्रा के बारे में अधिक जानना चाहते हैं तो यह होम पेज है , इसे मैनुअल पेज देखें , रेडहैट मैनुअल पढ़ें या उदाहरण के लिए इस लेख को देखें। यह केवल विकिपीडिया में उल्लिखित महान तकनीक है ।

2) मेरे घर के कंप्यूटर पर उदाहरण के लिए मेरे पास भौतिक डिस्क विभाजन और साथ ही डीएम डिवाइस (तार्किक वॉल्यूम) हैं।

# cat /proc/partitions

प्रमुख नाबालिग # नाम का नाम

   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

मुख्य रूप से उनके पास कोई प्रकार या आईडी नहीं है, उन्हें केवल प्रारंभ क्षेत्र संख्या और लंबाई के साथ परिभाषित किया गया है।

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

तो dm-0 एक टुकड़ा है जिसमें कुछ भौतिक उपकरण के 34865152 सेक्टर शामिल हैं।

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

और यह डिवाइस / देव / एचडीबी 2 विभाजन है!

# 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

और यह LVM (8e) प्रकार का विभाजन है, जिसका उल्लेख टिम्बरमैन ने किया है।

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

यह एकल (भौतिक) डिस्क विभाजन एक समूह के भीतर तार्किक वॉल्यूम पकड़ सकता है। मेरे पास दो डिस्क हैं इसलिए दो ऐसे समूह हैं और प्रत्येक समूह में दो तार्किक उपकरण हैं।

# 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 

तो dm-0 और dm-1 दो LVs (lvroot और lvswap) हैं जो मेरी पहली डिस्क (/ CentOS के साथ) के मेरे / dev / hdb2 विभाजन पर बनाए गए हैं जबकि dm-2 और dm-3 LVV मेरे / dev / hda2 विभाजन पर बनाए गए हैं मेरी दूसरी डिस्क (फेडोरा के साथ)।

तार्किक उपकरणों में लेबल (यूयूआईडी) हो सकते हैं। आप उन्हें ऊपर बताए गए lvdisplay कमांड से जांच सकते हैं। लेकिन वे सिर्फ लेबल हैं, जिन्हें आप प्रमुख, लघु संख्या (-j -m स्विच) के बजाय (-यू) का उपयोग कर सकते हैं।


4

क्या lsblk आपको आवश्यक जानकारी प्रदान करता है?

[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 ~]# 

0

लॉजिकल वॉल्यूम में एक विभाजन आईडी या प्रकार नहीं है। वे भौतिक विस्तार (पीई) से बने होते हैं जो कई भौतिक संस्करणों (पीवी) में फैले हो सकते हैं , जिनमें से प्रत्येक विभाजन (उदाहरण के लिए / dev / sda2) या एक पूर्ण डिस्क (जैसे / dev / sdb) हो सकता है।



0

विभाजन प्रकार आईडी केवल विभाजन तालिका में संग्रहीत की जाती है, विभाजन पर ही नहीं। दूसरी ओर, LVM तार्किक संस्करणों को आम तौर पर अलग-अलग विभाजन की तरह माना जाता है, डिस्क के रूप में नहीं, इसलिए कोई विभाजन तालिका नहीं है और इसलिए देखने के लिए कोई विभाजन प्रकार आईडी नहीं है।

यह भी ध्यान दें कि टाइप आईडी केवल लिनक्स में सूचनात्मक उद्देश्यों के लिए है (यह विंडोज के लिए सच नहीं है, हालांकि)। इसका उस विभाजन की सामग्री और फाइल सिस्टम पर कोई असर नहीं है।


0

मुझे लगता है कि यह एक-लाइन कमांड मदद कर सकती है:

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

आउटपुट इस के समान है:

/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

यदि आप "मार्क V" के पिछले पोस्ट को देखेंगे तो आप देखेंगे कि lsblk कमांड का उपयोग किया गया था।

यह एक बढ़िया विकल्प है, हालांकि ओपी ने उस प्रकार के लिए कहा जो अधिकांश उत्तरों से हटा दिया गया था। ऊपर से lsblk का उपयोग करना और "FSTYPE" जोड़ना आपको अपेक्षित प्रकार मिलेगा:

# 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
# 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.