Hi,
This is a chicken and egg problem I guess. The boot process (albeit UEFI
or BIOS; given x86) should be able to load boot loader code, a Linux
kernel and initial RAM disk (although in some cases a kernel alone could
be enough).
So yes: use PXE to load a Linux kernel and RAM disk. The RAM disk should
include RBD kernel modules and a hook to map and mount the RBD device.
The code referred to seems it could do the trick.
But that's a real world scenario that is usable right now.
In terms of crazy ideas: implement an iSCSI like UEFI module supporting
RBD acting as a software based HBA. Or even cooler: a hardware HBA
similar to Coraid's adapters made for AoE.
Cheers,
Kees
On 16-05-2021 23:19, Nico Schottelius wrote:
Hey Markus, Ilya,
you don't know with how much interest I am following this thread,
because ...
Generally it would be great if you could include the proper initrd code for RBD
and CephFS root filesystems to the Ceph project. You can happily use my code as
a starting point.
https://github.com/trickkiste/ltsp/blob/feature-boot_method-rbd/debian/ltsp-rbd.initramfs-script
I think booting from CephFS would require kernel patches. It looks
like NFS and CIFS are the only network filesystems supported by the
init/root infrastructure in the kernel.
... we have been looking for a while to a discussion about using RBD
(not cephfs) as a replacement for a hard disk. Linux can map RBD
devices, so should Linux not also be able to *boot* from an rbd device
similar to a regular disk?
I did not find any example of this yet, but I'd assume that conceptually
one would probably:
- preload a Linux kernel from the network (potentially via ipxe)
- specify root=rbd://fsid/pool/image
Or in a even *better* variant:
- the bootloader (ipxe?) can map RBD
- the bootloader pre-loads enough of the image for reading the partition
- the bootloader either loads the kernel + initramfs *or* chainloads
another bootloader
What are your thoughts on this? Do-able or totally crazy?
Best regards,
Nico
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io