Hetzner Installimage RAID1 Configuration: Solving Boot Failure with Dual HDDs + SSD Setup


10 views

When setting up a Hetzner server with two 4TB HDDs in RAID1 and a separate 1TB SSD, many users encounter boot failures after what appears to be a successful installation. The system typically fails with errors like "no such device" or drops to an initramfs prompt.

The critical elements that must be properly configured in installimage:

DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAID 1
SWRAIDLEVEL 1
BOOTLOADER grub

After extensive testing, this partition scheme consistently works for BIOS-boot systems:

PART  /boot  ext3   1G
PART  swap   swap   32G
PART  /      ext4   all

For UEFI systems (check your server model):

PART  /boot/efi  vfat   512M
PART  /boot      ext3   1G
PART  swap       swap   32G
PART  /          ext4   all

Three key technical requirements often missed:

  • The /boot partition must be within first 2TB when using BIOS boot
  • RAID metadata version should be 1.0 (default in installimage)
  • Filesystem must be properly initialized in initramfs

If boot fails, use rescue system to check:

mdadm --detail /dev/md*
blkid
cat /proc/mdstat
grub-install /dev/sda
grub-install /dev/sdb
update-grub

This config has been verified on EX51 servers:

DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAID 1
SWRAIDLEVEL 1
BOOTLOADER grub
HOSTNAME server1

PART  /boot  ext3   1G
PART  swap   swap   32G
PART  /      ext4   all

To properly utilize the SSD (/dev/sdc) after installation:

mkfs.ext4 /dev/sdc
mkdir /mnt/ssd
echo "/dev/sdc /mnt/ssd ext4 defaults 0 2" >> /etc/fstab
mount -a

When setting up a Hetzner dedicated server with mixed storage (HDDs + SSD), many administrators face boot issues after RAID1 configuration. The core problem typically stems from improper partitioning or bootloader placement.

The "Gave up waiting for root device" error indicates either:

1. Missing RAID modules in initramfs
2. Incorrect UUID references in fstab
3. Bootloader installed on wrong device
4. Partition alignment issues

This tested configuration works reliably on Hetzner EX51 servers:

DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAID 1
SWRAIDLEVEL 1
BOOTLOADER grub
HOSTNAME server1
PART /boot ext4 1G
PART /     ext4 100G
PART /var  ext4 200G
PART /home ext4 all

1. Boot Partition: Must be non-RAID (independent on each drive)

PART /boot ext4 1G:raid=no

2. SSD Handling: Completely exclude from RAID config

DRIVE3 /dev/sdc  # Not included in RAID array

After successful installation:

# Format SSD separately
mkfs.ext4 /dev/sdc
# Add to fstab
echo "/dev/sdc /mnt/ssd ext4 defaults 0 2" >> /etc/fstab

For more flexible storage management:

PART /boot ext4 1G
PART lvm vg0 all

LV vg0 swap swap 32G
LV vg0 root / ext4 100G
LV vg0 var /var ext4 200G
LV vg0 home /home ext4 all

1. Verify RAID assembly:

cat /proc/mdstat

2. Check bootloader installation:

grub-install /dev/sda
grub-install /dev/sdb

3. Rebuild initramfs:

update-initramfs -u