데비안, grub, raid10+lvm+luks

데비안, grub, raid10+lvm+luks

데비안 머신을 테스트하기 위해 설정한 가상 머신은 다음과 같이 구성되어 있습니다.

luks(luksmd0)에서 luks로 암호화된 raid10 소프트웨어의 4개 디스크 md0(raid10) 저는 루트와 스왑의 2개 볼륨으로 끝나는 vg(debian2-vg)를 만들었습니다. /에서 부팅을 구성했습니다(최신 grub2는 raid, lvm에서 부팅하고 암호화된 /에서 부팅할 수 있습니다). 그래서 /etc/default/grub을 이렇게 구성했습니다.

GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="root=/dev/mapper/debian2--vg-root rd.luks.uuid=21d33599-a220-zddg-1b1f-b2ae82fc0856 rd.luks.name=21d33599-a220-zddg-1b1f-b2ae82fc0856=luksmd0 rd.luks.crypttab=no rd.lvm.lv=debian2-vg/root rd.luks=1 rd.md=1"

시스템이 부팅되고 / 비밀번호를 묻고 비밀번호를 입력하면 시스템이 부팅되고 마침내... lvm initramfs가 없습니다.

답변1

해결책을 찾으세요. initramfs 부분을 놓쳤습니다. 일반 텍스트 환경에서 암호화된 환경으로 변경하려면 initramfs를 구성해야 합니다.

a) iso 이미지를 사용하여 usbkey로 부팅한 후(slackware iso는 괜찮고, debian도 괜찮습니다)

b) 암호화된 MD를 엽니다.

cryptsetup luksOpen /dev/md0 luksmd0

c) 최종 LVM을 마운트합니다.

vgchange -ay
mount /dev/yourvgname/rootlv /mnt

d) 이 디렉터리를 "fakeroot"의 바인딩으로 마운트합니다.

for i in dev proc sys
do mount -o bind /$i/ /mnt/$i
done

e) 일반적으로 부팅은 별도의 파티션입니다.

chroot /mnt /bin/bash
mount /boot 

f) 중요.. /etc/crypttab을 편집합니다. uuid는 암호화된 개발자의 uuid여야 합니다. 제 경우에는 /dev/md0, uuid는 mdadm이 아닌 blkid에서 가져옵니다. 또 다른 방법은 cryptsetup luksUUID /dev/를 사용하는 것입니다. MD0

luksmd0 UUID=21d33599-a220-zddg-1b1f-b2ae82fc0856 none luks

g) 이 두 파일을 편집해야 합니다. 이 파일에는 커널 모듈(ext4, md, raid10, raid0 등)을 삽입합니다.

/etc/initramfs-tools/modules

다른 하나에서는 cryptsetup을 활성화합니다.

/etc/cryptsetup-initramfs/conf-hook

h) 이제 /etc/default/grub을 편집하세요.

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="root=/dev/mapper/debian2--vg-root rd.luks.uuid=21d33599-a220-zddg-1b1f-b2ae82fc0856 rd.luks.name=21d33599-a220-zddg-1b1f-b2ae82fc0856=luksmd0 rd.luks.crypttab=no rd.lvm.lv=debian2-vg/root rd.luks=1 rd.md=1"

i) fstab을 편집하고 필요한 경우 변경합니다.

vim /etc/fstab

m) 이제 mkinit

update-initramfs -cuv -k all

n) 마지막으로 땅벌레

grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

efi를 사용하는 경우

mount /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
grub-mkconfig -o /boot/grub/grub.cfg

모든 것이 정상이고 오류가 발생하지 않는 경우

umount -a
exit
reboot

관련 정보