Re: RBD as a boot image [was: libceph: get_reply osd2 tid 1459933 data 3248128 > preallocated 131072, skipping]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux