LUKS 파티션을 축소하려면 어떻게해야합니까? 'cryptsetup 크기 조정'의 기능은 무엇입니까?


14

단일 ext4 파일 시스템 (LVM 등)이 포함 된 LUKS 암호화 파티션의 크기를 조정하는 중입니다. 으로 cryptsetup 자주 묻는 질문은 기존의 파티션을 제거하고 다시 작성하지만, 많은 시간을 낭비 같은 소리 것을하는 것이 좋습니다. 따라서 파티션의 크기를 신중하게 조정하여 수동으로 진행하고 싶습니다.

지금까지 나는 다음을 수행해야한다고 생각합니다.

  1. 파일 시스템의 (암호화 된) 백업을 만듭니다. 중대한! 다음 작업을 수행하는 동안 데이터를 잃어버린 사람은 처음이 아닙니다.
  2. 기존 ext4 파일 시스템을 마운트 해제합니다 (예 : Live CD로 부팅). Live CD에서 부팅하는 경우 다음을 사용하여 암호화 된 파티션을 마운트하십시오.cryptsetup luksOpen /dev/sdXY ExistingExt4
  3. 기존 ext4 파일 시스템의 크기를 조정하십시오 .
  4. cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
  5. 다음을 사용하여 LUKS 파티션 닫기 / "마운트 해제" cryptsetup luksClose ExistingExt4
  6. 파티션 크기를 줄입니다.

위의 단계가 정확합니까?

4 단계에서 무엇을 선택해야 $SECTORS합니까? 이 단계가 필요합니까? cryptsetup매뉴얼 페이지 정말에 설명적인되지 않는 resize옵션 :

resize <name>
    resizes an active mapping <name>.
    If --size (in sectors) is not specified, the size of the underlying
    block device is used.

마지막으로 ext4 파티션을 15GiB로 줄이면 parted? 그렇다면 어떻게합니까? 중요한 경우 내 디스크는 GPT 파티션입니다.


1
cryptsetup의 크기 조정 옵션에 대해서도 항상 궁금했습니다. cryptsetup FAQ에도 "2.15 dm-crypt 또는 LUKS 파티션의 크기를 조정할 수 있습니까? 그렇습니다. dm-crypt 나 LUKS는 파티션 크기를 저장할 수 없습니다." 파티션 크기와 관련이없는 경우 왜 크기 조정 옵션이
있습니까

답변:


15

백업 (1 단계) 및 마운트 해제 (2와 3 사이) fsck후 파일 시스템이 정상인지 확인하십시오.

e2fsck -f /dev/mapper/ExistingExt4

그 외에는 단계가 정상입니다.

$ SECTORS를 위해 무엇을 선택해야합니까? 이 단계가 필요합니까?

이 단계가 필요합니다. 그렇지 않으면 파티션이 여전히 구측에 나타납니다. 이는 노틸러스에서 확인되었으며,로 크기를 조정 한 후에도 resize2fsLUKS 파티션이 이전 크기로 표시되었습니다. 를 실행 한 후 cryptsetup resize올바른 번호가 표시됩니다. 이 단계는 필요하지 않습니다. 파일 브라우저에 표시된대로 현재 크기 상태에만 영향을줍니다. 크기를 변경하고 파티션을 다시 열고 닫으면 번호가 복원됩니다. 따라서 나중에 표시된 것처럼 LUKS 파티션을 닫을 때이 기능이 더 이상 사용되지 않습니다.

$SECTORS의 출력을 확인하여 결정할 수 있습니다 cryptsetup status ExistingExt4.

    / dev / mapper / ExistingExt4가 활성화되었습니다.
      유형 : LUKS1
      암호 : aes-cbc-essiv : sha256
      키 크기 : 256 비트
      장치 : / dev / sda2
      오프셋 : 2056 섹터
      크기 :     156049348 분야
      모드 : 읽기 / 쓰기

한 섹터는 항상 512 바이트입니다 ( cryptsetup매뉴얼 페이지 에서 언급 ). 따라서 15GiB를 빼려면 섹터 크기를 156049348 - 15 * 1024 * 1024 * 2 = 124592068다음 과 같이 사용하십시오 .

cryptsetup resize ExistingExt4 -b 124592068

파티션 크기 조정에 관해서는 partedGPT 파티션에서 잘 작동합니다. resize명령은, 그러나 일을 해결 (또는 솔루션)으로, 파티션 정보를 제거하고 영감으로 새 파티션을 생성하지 않습니다 http://ubuntuforums.org/showthread.php?p=8721017#post8721017 :

# cryptsetup luksCloseExistingExt4 
# parted / dev / sda2
GNU Parted 2.3
/ dev / sda 사용
GNU Parted에 오신 것을 환영합니다! 명령 목록을 보려면 'help'를 입력하십시오.
(부분) 단위 s 
(부분) p
모델 : ATA INTEL SSDSA2CW08 (scsi)
디스크 / dev / sda : 156301488s
섹터 크기 (논리 / 물리) : 512B / 512B
파티션 테이블 : gpt

번호 시작 끝 크기 파일 시스템 이름 플래그
 1 34s 2082s 2049s 부팅 bios_grub
 3 2083s 250034s 247952s ext2 루트 부트
 2 250035s 156301438s 156051404s 모두

15GiB를 면도해야하므로 새로운 끝이됩니다 156301438 - 15 * 1024 * 1024 * 2 = 124844158. 파티션 2를 변경하고 싶기 때문에 먼저 파티션 2를 제거한 다음 "Everything"레이블로 다시 만들어야합니다 (원하는 경우 변경 될 수 있음). 참고 :이 디스크에는 GPT 레이아웃이 있습니다. MBR를 들어, 교체해야합니다 Everything에 의해 primary또는 extended(검증되지 않은, MBR에 파티션이있다 크기를 조정 하지 테스트하고 하지 가 검증되지 않은 있기 때문에 권장).

경고 : 다음 명령으로 인해 데이터손상되었습니다 . 무슨 일이 일어나고 있는지 이해하지 않고 복사하지 마십시오. 섹터 크기 변경 해야 합니다. 그렇지 않으면 파티션 이 손상 됩니다. 나는 당신의 어리 석음에 대해 책임을지지 않습니다 . 데이터를 위험에 빠뜨리기 전에 데이터를 두 번째 저장 매체에 백업 하십시오 .

(일부) rm 2 
(부분) mkpart Everything 250035s 124844158s
경고 : 결과 파티션이 최상의 성능을 위해 올바르게 정렬되지 않았습니다.
무시 / 취소? 무시 
(부분) p
모델 : ATA INTEL SSDSA2CW08 (scsi)
디스크 / dev / sda : 156301488s
섹터 크기 (논리 / 물리) : 512B / 512B
파티션 테이블 : gpt

번호 시작 끝 크기 파일 시스템 이름 플래그
 1 34s 2082s 2049s 부팅 bios_grub
 3 2083s 250034s 247952s ext2 루트 부트
 2 250035s   124844158s 124594124s                모든 것
(부분) 종료

위의 parted예에서 초기 설치로 인한 실수 인 섹터가 정렬되지 않았으므로주의를 기울이지 마십시오.

그게 다야! 및를 사용 cryptsetup status하여 file -Ls /dev/...모든 것이 정상인지 확인한 다음 다시 부팅 할 수 있습니다 .


1
이 솔루션은 잘못 백업 될 가능성이 있으므로 전체 백업없이 사용하지 않는 것이 좋습니다. 그러나 전체 백업이있는 경우 새 파티션을 만드는 것이 훨씬 쉽습니다.

인간이 이것을 했습니까? 어쨌든 나는 이것을 재생하기 전에 백업을 수행해야한다는 것을 분명히 강조했습니다. 수동으로 백업을 수행하기 전에 백업을 수행해야한다는 것이 분명하다고 생각했습니다. 심지어 명확한 지침과 검증 방법을 사용하여 누군가가 어떻게 이것을 망칠 수 있습니까?
Lekensteyn

또한 언급 한 실패의 원인이 있습니까? 제공된 정보가 정확하지 않다고 주장 할 수는 있지만 확인하고 싶습니다. 나중에 다른 사용자에게 도움이 될 수 있습니다 ...
Lekensteyn

Arno는 메일 링리스트에서이 게시물에 대해 이야기했습니다 : saout.de/pipermail/dm-crypt/2013-September/003521.html
Philipp Wendler

rm 2및 대신에 이름이나 시작 오프셋을 변경하지 않고 파티션 크기를 조정할 mkpart [part-type] [start] [end]수도 있습니다 resizepart 2 [end].
Rob W

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.