USB를 통해 연결된 1TB 드라이브가 있습니다. 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은 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일 수도 있음)의 일부인 것을 볼 수 있는데, 이것이 바로 범위가 free가 아닌 이유입니다.
다음 출력을 제공할 수 있습니까?
vgscan;pvscan;vgdisplay;vgs
익스텐트의 크기와 무료 익스텐트 수에 따라 400MB를 추가로 확보할 수 있습니다.