Luks 드라이브의 암호를 해독할 때마다 파티션이 표시되지 않습니다.
cryptsetup -v luksOpen /dev/md0 md0_crypt
lsblk
sdb 8:16 0 3,7T 0 disk
└─sdb1 8:17 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
sdc 8:32 0 3,7T 0 disk
└─sdc1 8:33 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
sdd 8:48 0 3,7T 0 disk
└─sdd1 8:49 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
partprobe를 실행할 때
partprobe
lsblk
sdb 8:16 0 3,7T 0 disk
└─sdb1 8:17 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
└─md0_crypt1 253:12 0 7,3T 0 part
sdc 8:32 0 3,7T 0 disk
└─sdc1 8:33 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
└─md0_crypt1 253:12 0 7,3T 0 part
sdd 8:48 0 3,7T 0 disk
└─sdd1 8:49 0 3,7T 0 part
└─md0 9:0 0 7,3T 0 raid5
└─md0_crypt 253:11 0 7,3T 0 crypt
└─md0_crypt1 253:12 0 7,3T 0 part
디스크 드라이브:
Disk /dev/mapper/md0_crypt: 7,3 TiB, 8001299677184 bytes, 15627538432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disklabel type: gpt
Disk identifier: A599A15F-07DA-B340-ADDC-AA56AE2E9249
Device Start End Sectors Size Type
/dev/mapper/md0_crypt-part1 2048 15627536383 15627534336 7,3T Linux
부팅할 때마다 md0_crypt1 파티션을 마운트하고 싶습니다. 하지만 매번 partprobe를 실행할 필요는 없습니다.
내가 놓친 게 무엇입니까?
답변1
LUKS/LVM 장치를 분할하는 것은 일반적이지 않으므로 대부분의 표준 도구에서는 이를 다루지 않습니다. 실제로 논리 볼륨을 백업 장치로 사용하는 가상 머신에 이러한 파티션이 있지만 해당 파티션이 호스트에 표시되는 것을 원하지 않기 때문에 장치 매퍼 장치에서 파티션을 숨기는 기능이 있습니다.
부팅할 때마다 md0_crypt1 파티션을 마운트하고 싶습니다. 하지만 매번 partprobe를 실행할 필요는 없습니다.
당신은 그것에 거의 갇혀 있습니다. 초기화 스크립트 어딘가에 넣으면 차이점을 눈치 채지 못할 것입니다... (즉, 자동화하세요)
이 지점 이하의 작업을 시도하기 전에 백업을 만드십시오.
아무것도 설치되지 않은 LiveCD에서도 이 작업을 수행할 수 있습니다.
옵션 1)
중복 파티션 테이블을 완전히 삭제할 수 있습니다(모든 데이터 이동 2048초, 이는 첫 번째이자 유일한 파티션의 오프셋임). 매우 위험한 dd
명령:
dd status=progress bs=1M if=/dev/mapper/md0_crypt1 of=/dev/mapper/md0_crypt
참고: 이와 같이 추가하면 읽지 않은 데이터를 덮어쓰게 되므로 다른 방향에서는 작동하지 않습니다.
옵션 2)
파티션 테이블을 LVM으로 변환하는 것도 가능할 수 있지만(데이터를 재배치하지 않고), 이제 LVM은 더 큰 메타데이터 영역과 0 및 서명 삭제를 선호합니다. 따라서 이러한 상황을 피하도록 주의해야 하며 첫 번째 PE가 2M 또는 다른 더 큰 기본값이 아닌 1M에서 시작하는지 확인해야 합니다.
[ replace /dev/loop0 with /dev/mapper/md0_crypt ]
# vgcreate --dataalignment 1M --metadatasize 128K vgname /dev/loop0
[ this step will wipe GPT signature ]
# pvs -o +pe_start /dev/loop0
PV VG Fmt Attr PSize PFree 1st PE
/dev/loop0 foobar lvm2 a-- 1020.00m 0 1.00m
^^^^^^^
[ 1st PE must be 1.00m (2048s) otherwise abort mission! ]
# lvcreate --wipesignatures n --zero n -l100%FREE -n lvname vgname
# file -sL /dev/vgname/lvname
/dev/vgname/lvname: Linux rev 1.0 ext4 filesystem data [...]
[ if there's no filesystem, something went wrong ]
이 작업을 수행할 수 있지만 전체 백업 없이는 시도해서는 안 됩니다.