Building BareOS 19.2.7 with RADOS Striper support

24 views
Skip to first unread message

George Cox

unread,
Jun 17, 2020, 6:16:15 AM6/17/20
to bareos-users
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
Reply all
Reply to author
Forward
0 new messages