]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rbd-wnbd: use one daemon process per host
authorLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 12 Jun 2023 13:16:39 +0000 (13:16 +0000)
committerLucian Petrut <lpetrut@cloudbasesolutions.com>
Fri, 1 Mar 2024 17:38:53 +0000 (17:38 +0000)
commit661c55002db8bc91037d8150278dacb9a1cfe46b
tree97a6f0176388f1aaabcf97410e7f1c415bbf10a1
parent96e8850ff3b6661c86eb361051282c8d66ca2031
rbd-wnbd: use one daemon process per host

We're currently using one rbd-wnbd process per image mapping.
Since OSD connections aren't shared across those processes,
we end up with an excessive amount of TCP sessions, potentially
exceeding Windows limits:
https://ask.cloudbase.it/question/3598/ceph-for-windows-tcp-session-count/

In order to improve rbd-wnbd's scalability, we're going to use
a single process per host (unless "-f" is passed when mapping the
image, in which case the daemon will run as part of the same
process). This allows OSD sessions to be shared across image
mappings.

Another advantage is that the "ceph-rbd" service starts faster,
especially when having a large number of image mappings.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
src/tools/rbd_wnbd/CMakeLists.txt
src/tools/rbd_wnbd/rados_client_cache.cc [new file with mode: 0644]
src/tools/rbd_wnbd/rados_client_cache.h [new file with mode: 0644]
src/tools/rbd_wnbd/rbd_mapping.cc
src/tools/rbd_wnbd/rbd_mapping.h
src/tools/rbd_wnbd/rbd_mapping_config.cc
src/tools/rbd_wnbd/rbd_mapping_config.h
src/tools/rbd_wnbd/rbd_wnbd.cc
src/tools/rbd_wnbd/rbd_wnbd.h
src/tools/rbd_wnbd/wnbd_handler.cc