논리 볼륨(LVM의 lv)에 있는 모든 파티션을 지웠습니다(장치에서 제거했습니다). 그런 다음 나는 그랬습니다 partprobe -s
(그리고 다른유사한 명령: & 를 나타내는 partprobe
출력이 반환되지 않습니다 . 내가 겪고 있는 문제는 다음 중 하나를 수행할 수 없다는 것입니다.partx
partition: none
failed to read partition table
mkfs /dev/vg/lv
왜냐하면/dev/vg/lv is apparently in use by the system; will not make a filesystem here!
lvremove /dev/vg/lv
이 장치는Logical volume vg/lv is used by another device.
이는 커널이 여전히 lv 블록 장치에 파티션을 표시하기 때문입니다.
# grep dm /proc/partitions
254 0 85852160 dm-0
254 1 84850688 dm-1
그리고
# ls -lh /dev/dm-*
brw-rw---T 1 root disk 254, 0 May 23 14:32 /dev/dm-0
brw-rw---T 1 root disk 254, 1 May 23 14:08 /dev/dm-1
결국 머신을 재부팅했고 문제가 해결되었습니다(커널은 더 이상 존재하지 않는 파티션을 보지 못했습니다).
재부팅하지 않고 이 문제를 해결하는 방법을 알고 있습니까?
3.2 커널에서 테스트되었습니다.
답변1
LVM 장치(또는 일반적으로 장치 매퍼)는 sd
장치와 동일한 의미에서 파티션을 지원하지 않습니다. 를 사용하면 partx
일반 유형의 파티션만 관리할 수 있습니다. LVM 장치에서는 다음과 같은 방법으로 파티션을 관리해야 합니다 kpartx
.
kpartx -d /dev/vg/lv
맨페이지가 kpartx
좀 간결합니다. 이를 확인하기 위해 내 가설과 일치하는 사용 예를 찾았습니다.https://bugzilla.redhat.com/show_bug.cgi?id=187781