Hi All,
I'm currently testing BareOS to see if it is a viable solution for our backup requirements.
We have a Ceph cluster (nautilus) so I am interested in using the RADOS storage backend. For RADOS to be usable I need to use the 'striped' feature to prevent massive RADOS objects or thousands of Volumes.
I don't believe RADOS striped support is compiled into the available binaries for Ubuntu18.04? So I've built BareOS 19.2.7 from the git repo.
I've made sure I have the libstriper development libraries installed:
# dpkg -l | grep rados
ii librados-dev 12.2.13-0ubuntu0.18.04.2 amd64 RADOS distributed object store client library (development files)
ii librados2 12.2.13-0ubuntu0.18.04.2 amd64 RADOS distributed object store client library
ii libradosstriper-dev 12.2.13-0ubuntu0.18.04.2 amd64 RADOS striping interface (development files)
ii libradosstriper1 12.2.13-0ubuntu0.18.04.2 amd64 RADOS striping interface
And when running CMake it is confirming it's found them (output redacted to relevant parts):
# cmake ../bareos -Dpostgresql=yes
...
-- checking for library rados and rados/librados.h header ...
-- RADOS_FOUND=TRUE
-- RADOS_LIBRARIES=/usr/lib/x86_64-linux-gnu/librados.so
-- RADOS_INCLUDE_DIRS=/usr/include
-- HAVE_RADOS=1
-- checking for library radosstriper and radosstriper/libradosstriper.h header ...
-- RADOSSTRIPER_FOUND=TRUE
-- RADOSSTRIPER_LIBRARIES=/usr/lib/x86_64-linux-gnu/libradosstriper.so
-- RADOSSTRIPER_INCLUDE_DIRS=/usr/include
-- HAVE_RADOSSTRIPER=1
...
-- Looking for include file rados/librados.h
-- Looking for include file rados/librados.h - found
-- Looking for include file radosstriper/libradosstriper.h
-- Looking for include file radosstriper/libradosstriper.h - found
...
CEPH RADOS support: TRUE /usr/lib/x86_64-linux-gnu/librados.so /usr/include
RADOS striping support: TRUE /usr/lib/x86_64-linux-gnu/libradosstriper.so /usr/include
...
BareOS then builds and installs fine, (make; make install), and I'm able to use a RADOS device without the 'striped' option, but as soon as I add 'striped' to the Device Options I'm getting the same error as when using the official binaries:
17-Jun 10:28 bareos-sd: Fatal Error at backends/rados_device.cc:166 because:
backends/rados_device.cc:165 Unable to parse device option: striped
Am I missing something in the build process to enable striped support or should having the libraries installed while running CMake be sufficient?
Is there a command I can run to verify what features have been compiled into BareOS?
Any advice will be appreciated.
Cheers, George