Saya memiliki drive 1 TB yang terpasang melalui USB. Ini berisi volume fisik LVM yang mengisi seluruh perangkat (tanpa tabel partisi). Ketika saya mencoba memperluas volume logis dengan menggunakan seluruh PV, the mapper-perangkat mulai mengeluh bahwa bagian yang dialokasikan oleh LVM pada PV lebih besar dari perangkat. Pesan kesalahan dari device-mapper (seperti yang ditunjukkan oleh dmesg
) melaporkan ukuran sektor 1953320367 [dm]:
device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367
Tapi LVM membuat PV dengan 238467 luasan fisik , yaitu 1953521664 [ lvm ] sektor (yaitu sekitar 100 MB lebih banyak):
$ 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
Sekarang jika saya menjalankan hdparm -gI
perangkat, saya bisa melihat dua nilai untuk ukuran perangkat. Di bawah geometri , ada nilai yang sama yang dilaporkan oleh device-mapper dengan ukuran perangkat. Tapi di bawah LBA48 sektor yang dapat dialamatkan pengguna , ada nilai 1953525168 [lba], yang kurang dari satu PE lebih besar dari ukuran gabungan PE dari PV. Ini membuat saya berpikir bahwa ini adalah nilai yang dilihat 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
...
Sekarang untuk pertanyaan saya:
- Mengapa ada dua nilai berbeda untuk ukuran perangkat yang digunakan oleh berbagai bagian kernel?
- Dan, bagaimana saya menangani / memperbaiki situasi ini sehingga LVM tidak akan membuat PV yang lebih besar dari ruang yang bersedia / dapat diakses oleh perangkat-mapper?
hdparm
adalah angka terbesar yang merupakan kelipatan dari 255 * 63 sektor dan kurang dari ukuran sebenarnya. Kendala ini disebabkan oleh format silinder / kepala / sektor dari antarmuka BIOS yang berusia 30 tahun. Antarmuka LBA48 yang lebih baru dapat melaporkan ukuran disk Anda dengan baik. Saya tidak tahu mengapa Linux menggunakan ukuran CHS untuk apa pun.
vgextend <vg-name> /dev/sdf
. LVM melakukan apa yang saya harapkan. pvdisplay
bahkan mengatakan bahwa 1,71 MiB tidak dapat digunakan, yang persis berukuran perbedaan antara [lvm] dan [lba].