두 개의 암호화된 장치로 만든 RAID1 btrfs로 부팅되는 Debian 가상 머신을 설정했습니다. 가상 머신을 이렇게 설정했습니다.
/etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="cryptdevice=UUID=b5259968-2f96-4a45-87bf-c658f6d0f55d:luksvda4 cryptdevice=UUID=6aae0722-1fc0-49d1-85d7-ca5668b06683:luksvdb4 rootflags=degraded"
GRUB_TERMINAL="console"
이것은 /etc/fstab입니다
LABEL=ROOT / btrfs defaults,degraded 0 1
LABEL=BOOT /boot ext4 defaults 0 2
LABEL=SWAP none swap sw 0 0
이것은 /etc/crypttab입니다
# <target name> <source device> <key file> <options>
luksvda4 UUID=b5259968-2f96-4a45-87bf-c658f6d0f55d none luks
luksvdb4 UUID=6aae0722-1fc0-49d1-85d7-ca5668b06683 none luks
마지막으로 디스크 구성입니다.
fdisk -l /dev/vda
/dev/vda1 48 65583 65536 32M BIOS boot
/dev/vda2 65584 2162735 2097152 1G Linux RAID
/dev/vda3 2162736 8454191 6291456 3G Linux swap
/dev/vda4 8454192 62914526 54460335 26G Linux filesystem
fdisk -l /dev/vdb
/dev/vdb1 48 65583 65536 32M BIOS boot
/dev/vdb2 65584 2162735 2097152 1G Linux RAID
/dev/vdb3 2162736 8454191 6291456 3G Linux swap
/dev/vdb4 8454192 62914526 54460335 26G Linux filesystem
나는 클래식 mdadm ext4를 사용하지만 부팅 파티션의 btrfs(물론 암호화되지 않음)는 제대로 작동합니다. 시스템이 시작되고 두 Luks 장치의 두 암호를 요청한 후 문제가 없습니다. 그러나 첫 번째 디스크를 제거(실패 시뮬레이션)할 때 initramfs 콘솔로 이동하면 디스크를 수동으로 마운트해야 합니다(sic!). 이는 Slackware의 동일한 구성에서는 발생하지 않습니다. 문제는: 두 디스크 중 하나를 사용할 수 없을 때 데비안을 강제로 부팅하는 것이 가능합니까?
답변1
너무 간단함: /etc/fstab에 nofail 옵션을 설정했는데 디스크 하나를 사용하여 부팅해도 문제가 없었습니다.
LABEL=ROOT / btrfs defaults,degraded,nofail 0 1
LABEL=BOOT /boot ext4 defaults,nofail 0 2
LABEL=SWAP none swap sw 0 0