-
-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grub vs systemd for RAID1 on Hetzner bare metal servers? #946
Comments
maybe related: also if you are not aware of srvos it has specific configs for hetzner hardware |
It's usually possible to enable uefi on all servers each days using the kvm console variant. |
@sedlund I wasn't aware of srvos. Thanks for the pointer! @Mic92 some of the servers we manage are from the server auction and might have an older BIOS. I didn't see an explicit option to enable UEFI on them, and the BIOS doesn't detect any bootable device when using systemd. The comment you linked suggests that Grub doesn't boot the default entry. Either way, Grub is installed by nixos-anywhere, and I'm assuming it will install in a way that is compatible with the server. Is |
@rochecompaan You would need to request the kvm console and enable it in the Firmware settings. EFI has been around for ages. I don't think you can still buy hardware from hetzner that doesn't have EFI support at all. It's just not the default. I used mdraid before for the ESP partition, but I had some machines that wouldn't boot with this configuration. Mirrored boot however always works. |
@Mic92 that is exactly what I did, I ordered the KVM console and had it connected for 3 hours. A single option indicated that UEFI is enabled on a boot device, but the BIOS could not find a bootable device. I forgot what the exact configuration option was but I can check since the server in question isn't operational yet. |
Usually you don't need an default entry in the EFI. A proper EFI implementation will fallback to using disks with ESP partition. So far I only had one old work station that wouldn't boot otherwise. |
Grub with RAID1 and mirrored boots seem like the best option, then. I tried out mirrored boots with the configuration below, but Grub complained that it couldn't find /boot, but it installed successfully on
Here is the config. I thought
|
Can you check that nothing else set grub.devices somehow? |
I checked and don't have |
Just to add here, I am experiencing the same issue. I copied the config you shared above, got the same error. I am 99% sure grub/boot settings are only getting set in with the disko config i.e. in my As an aside its not directly related to this issue; I have 3 NVMEs and want to treat them as one disk but also boot for any of them if possible. i.e. use raid0 or lvm? Not sure (sorry don't want to hijack this issue, can create my own if needed). Also this was on a bare-metal mini PC. Logs
Link to my config: https://gitlab.com/hmajid2301/nixicle/-/blob/c1f6da2184b01b9c760626e6a9689c7b361aa1ab/systems/x86_64-linux/ms01/disks.nix Thanks! |
I'm working on some docs and scripts to streamline NixOS installation on Hetzner bare metal servers: https://github.com/rochecompaan/hetzner-nixos-deploy.
I have mixed results with systemd as a boot loader for RAID1 configs. Sometimes it works, and sometimes it doesn't. Even for servers where the BIOS claims to support UEFI, it doesn't always work. I have much better results with Grub and will likely make it the default in the Disko config generated, but I want to ensure I'm not missing something obvious. Here is an example of the generated systemd config:
Here is the equivalent Grub config:
I haven't tried mirrored boots with Grub yet, hence the hacky /boot-fallback mount point for the second drive.
The text was updated successfully, but these errors were encountered: