[RFC] Adding a Rados block driver to bhyve
Willem Jan Withagen
wjw at digiware.nl
Mon Mar 9 10:32:00 UTC 2020
Hi all,
And sorry for crosspoing three groups, but the answer can/could be a mix
of things to do in these three areas.
I have a prototype of bhyve running on Rados/Ceph working:
https://github.com/freebsd/freebsd/pull/426
But there are a few catches on how to get it in the FreeBSd sources...
1) Easiest would be to just compile it in with the code of the current
bhyve.
That will require librados/librbd libraries...
Ceph of this purpose is LGPL2/3 and could go into contrib.
In this case bhyve will hold the rbd-driver by default and a user
does not
need to do anything by himself
But I have the feeling that this is the most unwanted scenario
2) User first installs a Ceph package and FreeBSD sources, and then
recompiles
bhyve with the option BHYVE_RBD.
And then reinstalls this new version as bhyve or bhyve-rbd in /usr/sbin
3) Create a bhyve-rbd port.
Problem with that is that it will require the FreeBSD source tree
for the
bhyve sources, but there is no Ports option for that?
Or bhyve sources are manually copied into the port. And then
try to keep these sources up to date.
Then compile and install a bhyve-rbd into /usr/local/sbin
4) Create a bhyve-blockrbd port.
This is much like 3) but instead of building a bhyve-rbd executable,
it delivers a libblockrbd.so that is dynamically loadable by the
standaard bhyve that comes with base.
For this bhyve needs to be extended with dynamic loadable driver
modules.
This is reasonably doable, but is this acceptable for the bhyve
maintainers?
For building the port, the bhyve-blockrbd code will only need a
limited set
of files from /usr/src/usr.bin/bhyve thus limiting the chance of
running out
sequence with the bhyve from base.
Looking over these 4 options, I think that 4 is the most desirable one?
But 2 would parhaps be workable for users as well, but the project might
think
otherwise.
Are there other options?
And/or is 4 the best way to go, with 2 as a nice intermediate?
Thanx,
--WjW
More information about the freebsd-hackers
mailing list