Skip to main content

Установка Debian 12 с программным RAID1

Во время установки Debian 12 я использовал два идентичных SSD  256 ГБ диска.
Разбил оба однообразно по разделам
  1. SWAP - 16 ГБ
  2.  /boot - 1 ГБ (пометил как загрузочный раздел)
  3. / - 235 ГБ (Точнее говоря выбрал всё доступное пространство)
Затем создал три Software RAID1 попарно для SWAP, /boot, /

Системем была успешно установлена, с одним "но" - в конце установки, в настройках grub
мне было предложен выбор куда устанавливать grub:

  1. /dev/sda - выбрал первый диск (/dev/sda)
  2. /dev/sbd

Завершил установку, система успешно загрузилась.
Настройки дисков после установки

root@traefik:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           792M  796K  791M   1% /run
/dev/md2        218G  1.6G  206G   1% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1        919M  101M  755M  12% /boot
tmpfs           792M     0  792M   0% /run/user/0
tmpfs           792M     0  792M   0% /run/user/1000
root@traefik:~#
Необходимо вручную установить GRUB на на второй диск (/dev/sdb), чтобы система могла загружаться при выходе из строя /dev/sda.

Почему это важно?
Даже если у вас RAID1 на /boot и корневой раздел, загрузчик GRUB сам по себе не "живёт" в RAID-массиве — он устанавливается в загрузочную запись (boot sector) каждого физического диска. Если на /dev/sdb не установлен GRUB, то при отказе /dev/sda система не сможет загрузиться, потому что BIOS/UEFI не найдёт загрузчик.

root@traefik:~# grub-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
root@traefik:~#
root@traefik:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.0-38-amd64
Found initrd image: /boot/initrd.img-6.1.0-38-amd64
Found linux image: /boot/vmlinuz-6.1.0-35-amd64
Found initrd image: /boot/initrd.img-6.1.0-35-amd64
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
root@traefik:~#
Проверяем установку GRUB в Debian

Установить strings в Debian

root@traefik:~# apt-get install binutils

Проверить GRUB

root@traefik:~# dd if=/dev/sda bs=512 count=1 2>/dev/null | strings | grep GRUB
GRUB
root@traefik:~#
root@traefik:~# dd if=/dev/sdb bs=512 count=1 2>/dev/null | strings | grep GRUB
GRUB
root@traefik:~#