Live data from Hacker News

ZFSBootMenu

docs.zfsbootmenu.org

41–50 of 56 posts

Re: ZFSBootMenu

#41

Which Linux distribution provides this out of the box in its installer like FreeBSD does? ... along with optional LUKS encryption as FreeBSD offers optional GELI encryption. I will wait ...

It's okay for FreeBSD if Linux can do some things it can, and vice-versa. If you're that insecure about running FreeBSD after all this time, you'd do well to think about why that is.

Running an unencumbered FreeBSD system will never make any user insecure.

Re: ZFSBootMenu

#42

It seems lame that UEFI firmware needs to 'mount' a filesystem to load a bootloader. That bootloader needs to mount a filesystem to find the kernel. The kernel needs to mount the filesystem to run the system. Each of those mount operations is done with different code, and normally each involves some config or search process to find the right disk/partition. If any of the searches finds the wrong partition or is misco…

Not to mention the initrd, another filesystem that need to be mounted and must be kept aligned with the rest.

I've long switched to compiling my kernel including all needed modules and the EFI stub. I don't have initrd or bootloader anymore, and can boot in a few seconds.

Re: ZFSBootMenu

#43

Earlier quoted context omitted.

When I installed FreeBSD on my Hetzner servers, I did so by booting the servers into the Linux based rescue mode and then I think I used dd to write the mfsBSD media onto one of the hard drives. This way I didn’t have to request KVM access for my servers. Perhaps a similar method can be used in order to install ZFSBootMenu

Nice tip but if you fail your server is toast and that's an interesting support ticket.

Their Linux based rescue mode boots from network.

I should probably specify though that I do this when setting up a new server.

If you fail then it should still be possible to select their Linux rescue image again from the Hetzner control panel and force reboot the server.

I seem to recall that I had to try a couple of times before I got it right. And that I did exactly that; select their rescue image again and force reboot.

Re: ZFSBootMenu

#44

It seems lame that UEFI firmware needs to 'mount' a filesystem to load a bootloader. That bootloader needs to mount a filesystem to find the kernel. The kernel needs to mount the filesystem to run the system. Each of those mount operations is done with different code, and normally each involves some config or search process to find the right disk/partition. If any of the searches finds the wrong partition or is misco…

It's so, so, SO, unnecessarily complicated while providing me no new features (like a faster boot). LILO worked. Even with LVM. As the bootloader, of course it exists outside of the kernel, initrd, my rootfs. That code would run, find the kernel, run that.

GRUB has some slight improvements like running other operating systems, but that's about it. Unsure if it's worth the price...

None of this crazy modern boot-time ouroboros. Too many layers, too much software.

At least we should _get_ something for this. How about a 2s cold boot on my thinkpad?

Re: ZFSBootMenu

#45

Earlier quoted context omitted.

When I installed FreeBSD on my Hetzner servers, I did so by booting the servers into the Linux based rescue mode and then I think I used dd to write the mfsBSD media onto one of the hard drives. This way I didn’t have to request KVM access for my servers. Perhaps a similar method can be used in order to install ZFSBootMenu

Nice tip but if you fail your server is toast and that's an interesting support ticket.

Not a big deal though when you're doing a fresh install. Just cancel the server and provision a new one.

Re: ZFSBootMenu

#46
Nice project. In evaluating this for possible use, I have a question about workflow integration with snapshots. On gentoo-esque distros I believe there are two common configurations with ZFS, namely: (1) have a separate package repo (portage tree) ZFS dataset to the system root ZFS dataset and (2) to have them combined on one dataset.

In case 2 portage changes are automatically synchronized to system snapshots, but multiple system instances (VMs, diskless nodes, etc.) will have to redundantly update portage. However, in case 1 they are de-facto desynced and this can cause gentoo issues (yet saves duplicate network operations so is nominally desirable). Does ZFSBootMenu have a built-in system for managing ZFS root system snapshots with co-dependent dataset snapshot versions to enable case 1?

Re: ZFSBootMenu

#47

It seems lame that UEFI firmware needs to 'mount' a filesystem to load a bootloader. That bootloader needs to mount a filesystem to find the kernel. The kernel needs to mount the filesystem to run the system. Each of those mount operations is done with different code, and normally each involves some config or search process to find the right disk/partition. If any of the searches finds the wrong partition or is misco…

That bootloader needs to mount a filesystem to find the kernel. The kernel needs to mount the filesystem to run the system. Each of those mount operations is done with different code... Not on FreeBSD. Our bootloader reuses kernel code (because, you know, developing the entire operating system together makes this possible).

I always feel one of the under appreciated features of zfs on freebsd was how nicely it was integrated into the whole operating system. that is, it is easy to boot off a zfs drive in freebsd.

Re: ZFSBootMenu

#48
post #3

Kudos to everyone involved in this! Love everything about this. Using it on my notebook, on dedicated servers rented at Hetzner as well as on Hetzner-Cloud, as well on a bunch of dedicated servers in a rack. Solves almost all problems related to ZFS and Linux. Booting this from SYSLINUX works very well as well as UEFI - it's extensible and you can run it with the ZFS git version if you use the generate-zbm command. S…

May I ask how you use this on the dedicated server?

As others have pointed out you can request a KVM-console (called LARA there IIRC) for 3 hours for free - however if you install it correctly you can setup everything in the rescue system without requesting a KVM console. We have lot's of data to store and I'm using it with additional 16TB disks in a server and using the 2x enterprise SSD for the special metadata vdev - it's really nice to do a setfacl -R on 5 million files and 12TB data in 15seconds.

Re: ZFSBootMenu

#49
post #39
post #3

Kudos to everyone involved in this! Love everything about this. Using it on my notebook, on dedicated servers rented at Hetzner as well as on Hetzner-Cloud, as well on a bunch of dedicated servers in a rack. Solves almost all problems related to ZFS and Linux. Booting this from SYSLINUX works very well as well as UEFI - it's extensible and you can run it with the ZFS git version if you use the generate-zbm command. S…

how do you use this with hetzner-cloud? Do you use it as a vm or as part of, say, k8s?

I wanted to have snapshots and installed just Ubuntu on ZFS using debboostrap - basically using the tutorial on the page here almost verbatim. Hetzner Cloud is not using UEFI afaik so you need to setup a small SYSLINUX setup to boot. But there is no ready cloud image for that. Another idea I didn't implement yet is to have a minimal image that I can bootstrap using send/recv but at the moment there's no need for that.

Re: ZFSBootMenu

#50
post #26
post #3

Kudos to everyone involved in this! Love everything about this. Using it on my notebook, on dedicated servers rented at Hetzner as well as on Hetzner-Cloud, as well on a bunch of dedicated servers in a rack. Solves almost all problems related to ZFS and Linux. Booting this from SYSLINUX works very well as well as UEFI - it's extensible and you can run it with the ZFS git version if you use the generate-zbm command. S…

Void is my favorite distro, and I'm interested in giving this setup a try. So far I've been reluctant to use ZFS on Linux out of reliability concerns. Have you had any issues with this setup, or have any suggestions?

Setup works fine. Biggest issue was messing up the initramfs and the kernel-module build (I've used the now 2.2.0rc and before that git because I wanted to have overlayfs support and idmapped mounts - machines running docker and lxd - so everything is native in ZFS).

One issue to look out for is the activated features and the ZFS module in the kernel and in ZFSBootMenu - these should match as depending on the features it's not possible to import the pool otherwise.

zfsbootmenu just looks for kernels and boots them. If something fails you can go back to an older snapshot or use an older kernel - and you have an emergency shell.

Post reply on HN