為什麼驅動器大小有兩個不同的值以及如何使它們與設備映射器和 LVM 協調一致?

為什麼驅動器大小有兩個不同的值以及如何使它們與設備映射器和 LVM 協調一致?

我有一個透過 USB 連接的 1 TB 硬碟。它包含一個LVM物理體積填充整個設備(沒有任何分區表)。當我試圖延長邏輯磁碟區透過使用整個PV,裝置映射器開始抱怨LVM在PV上分配的部分比設備大。來自裝置映射器的錯誤訊息(如圖所示dmesg)報告的大小為1953320367[dm] 部門:

device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367

但是LVM創建了一個PV為238467物理範圍,即1953521664[lvm] 扇區(約多出 100 MB):

$ pvdisplay /dev/sdf
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               apu-vg1
  PV Size               931.51 GiB / not usable 1.71 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238467
  Free PE               100
  Allocated PE          238367
  PV UUID               LrKDDW-4dXz-kDgh-CK78-OWhY-4sCH-rKT0e4

現在,如果我hdparm -gI在設備上運行,我可以看到設備大小的兩個值。在下面幾何學,設備映射器報告的值與設備大小相同。但下LBA48 用戶可尋址磁區,有這個值1953525168[lba],比 PV 的 PE 的組合大小大不到一個 PE。這讓我覺得這就是LVM看到的價值:

$ hdparm -Ig /dev/sdf

/dev/sdf:
 geometry      = 121588/255/63, sectors = 1953320367, start = 0

ATA device, with non-removable media
          Model Number:       ST1000LM024 HN-M101MBB                  
          Serial Number:      S2RUJ9BC702524      
          Firmware Revision:  2AR10001
          Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
          Used: unknown (minor revision code 0x0028) 
          Supported: 8 7 6 5 
          Likely used: 8
Configuration:
          Logical         max     current
          cylinders       16383   16383
          heads           16      16
          sectors/track   63      63
          --
          CHS current addressable sectors:   16514064
          LBA    user addressable sectors:  268435455
          LBA48  user addressable sectors: 1953525168
...

現在回答我的問題:

  • 為什麼內核的不同部分使用兩個不同的設備大小值?
  • 而且,我該如何處理/修復這種情況,以便 LVM 不會產生大於裝置映射器願意/能夠存取的空間的 PV?

答案1

這裡的關鍵問題是你的Free PE價值。請注意它是如何表示只有 100 個擴充區是可用的嗎?這意味著您將無法擴展它。如果您執行 vgscan、pvscan,然後執行 vgdisplay(也稱為 vgs),您可能會看到您的裝置已經是 vg 的一部分(也可能是 lv),這就是範圍不是免費的原因。

您能否提供以下輸出:

vgscan;pvscan;vgdisplay;vgs

根據擴展區的大小和免費的數量,您應該能夠獲得額外的 400MB。

相關內容