
USB를 통해 1TB 드라이브가 연결되어 있습니다. LVM이 포함되어 있습니다.물리적 볼륨(파티션 테이블 없이) 전체 장치를 채웁니다. 연장하려고 했을 때논리 볼륨PV 전체를 사용하여장치 매퍼PV에서 LVM이 할당한 섹션이 장치보다 크다고 불평하기 시작했습니다. 장치 매퍼의 오류 메시지(다음에 표시됨)dmesg
)는 다음과 같은 크기를 보고합니다.1953320367[dm] 부문:
device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367
그러나 LVM은 238467로 PV를 생성했습니다.물리적 범위, 이는1953521664[lvm] 섹터(약 100MB 이상):
$ 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 1개 미만입니다. 이것은 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(s)도 가능)의 일부인 것을 볼 수 있습니다. 이것이 바로 익스텐트가 비어 있지 않은 이유입니다.
다음의 출력을 제공할 수 있습니까?
vgscan;pvscan;vgdisplay;vgs
익스텐트 크기와 사용 가능한 익스텐트 수에 따라 추가로 400MB를 얻을 수 있습니다.