Raid

Debian:可以使用降級的 btrfs raid1 啟動嗎?

  • April 27, 2021

我已經設置了一個 Debian vm 以使用由兩個加密設備製成的 RAID1 btrfs 啟動。我已經像這樣設置了虛擬機

/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 控制台,我必須手動安裝磁碟(原文如此!),這不會發生在 Slackware 上的相同配置中。問題是:當兩個磁碟之一不可用時,是否可以強制 Debian 啟動?

太容易了:在 /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

引用自:https://unix.stackexchange.com/questions/647008