LVM PV 및 LUKS 컨테이너/파티션 최소화 [닫기]

LVM PV 및 LUKS 컨테이너/파티션 최소화 [닫기]

swap현재 LUKS 컨테이너에서 LVM LV를 제거하고 암호화되지 않게 만들고 싶습니다 .

gparted나는 프로세스의 모든 단계를 통제하는 것과 같은 것을 피하고 싶습니다 .

  1. lvremoveLV에서 작업을 완료 swap하고 pvmove인접한 PV 범위를 얻은 후 에 전달할 최소 크기를 어떻게 파악합니까 pvresize?

  2. 이제 줄어든 PV를 고려하여 LUKS 파티션을 그에 맞게 축소할 수 있도록 LUKS 컨테이너에 포함해야 하는 섹터 또는 MiB 수를 어떻게 알 수 있습니까?

  3. LUKS 컨테이너는 길이가 없고 파티션만 축소하면 축소된다고 생각하는 것이 맞나요?

  4. PV의 최종 범위에 여전히 액세스할 수 있는지, 즉 실제로 축소된 파티션의 주소 지정 가능한 섹터 내에 있는지 LVM 수준에서 확인할 수 있는 방법이 있습니까?

답변1

1.)

매뉴얼 페이지에서:

pvresize 물리 볼륨의 새 끝 위치 이후에 익스텐트가 할당되면 물리 볼륨 축소가 거부됩니다.

그래서 시행착오를 통해 작업을 수행합니다. 사실, pvresize그 일부를 말씀드리겠습니다:

/dev/dm-7: cannot resize to 17564 extents as 18620 are allocated.

정확한 크기를 확인하려면 PE 크기(예: 4MiB)와 첫 번째 PE 오프셋(예: 1MiB)을 알아야 합니다. 물론 마지막으로 할당된 범위의 번호도 마찬가지입니다.

pvs -o pv_name,pe_start,vg_extent_size,seg_pe_ranges

따라서 총 크기는 1MiB(첫 번째 PE) + 18620 * 4MiB(PE 크기)가 될 수 있습니다.

2.)

LUKS 헤더 크기/데이터 오프셋을 알아야 합니다. 일반적으로 이는 4096개 섹터, 즉 2MiB입니다. 확인하시기 바랍니다 cryptsetup luksDump, Payload offset.

따라서 새 파티션 크기는 LUKS 페이로드 오프셋에 PV 자체 크기를 조정한 크기를 더한 값입니다.

삼.)

예, 아니오. LUKS는 메타데이터의 크기를 유지하지 않으므로 LUKS 컨테이너를 종료하거나 다시 시작하는 경우 블록 장치 자체의 크기만 사용합니다.

cryptsetup resize그러나 온라인 크기 조정의 경우 를 사용 하고 에서 사용하는 크기로 설정 해야 합니다 pvresize.

4.)

때로는 읽기 전용 모드에서 문제가 있는 장치를 qemu/KVM 인스턴스에 전달하여 일부 Linux 복구 시스템을 실행하여 이 작업을 수행합니다. LVM은 중복된 PV UUID 또는 VG/LV 이름을 보는 것을 좋아하지 않기 때문에 호스트를 확인하기가 어렵습니다(예: 읽기 전용 루프 장치 사용). PV가 예상보다 작으면 LVM은 활성화를 거부합니다.

답변2

고려하다pvshrink대부분의 계산을 수행합니다.프로스트슈츠의 답변, --test변경하지 않는 모드가 있습니다.

관련 정보