On Fri, Mar 20, 2020 at 2:23 PM <vitalif(a)yourcmc.ru> wrote:
Anything with an iodepth of 1 is going to be
(relatively) terrible on
RBD.
iodepth=128 results in 300 iops in the same setup. Not much better :)
The forthcoming Octopus release of librbd adds
support for sparse
copy-up writes [1] when your min OSD release is set to Octopus (reads
from the parent image were already sparse-read ops). Using holes was
previously not very practical due to the large allocations sizes on
the OSD, but with the change to 4KiB minimum block sizes, such a
technique would be possible (albeit a breaking change for all older
clients controlled via a new feature bit). You also have the ability
to control the RBD object sizes and use something smaller than the
4MiB default.
That's good news! Is it already in 15.1.1, can I test it?
Yup, but you need 15.1.z OSDs as well as 15.1.z librbd. Also ensure
you run "ceph osd require-osd-release octopus" otherwise it won't use
the new sparse-copyup since older OSDs don't have the necessary
support.
--
Vitaliy Filippov
--
Jason