Thanks for the suggestion, Josh! That part is relatively simple: the container gets ceph.conf from the host's filesystem, for example: "HostConfig": { "Binds": [ "/dev:/dev", "/run/udev:/run/udev", "/var/run/ceph/3f50555a-ae2a-11eb-a2fc-ffde44714d86:/var/run/ceph:z", "/var/log/ceph/3f50555a-ae2a-11eb-a2fc-ffde44714d86:/var/log/ceph:z", "/var/lib/ceph/3f50555a-ae2a-11eb-a2fc-ffde44714d86/crash:/var/lib/ceph/crash:z", "/var/lib/ceph/3f50555a-ae2a-11eb-a2fc-ffde44714d86/mon.ceph05:/var/lib/ceph/mon/ceph-ceph05:z", "/var/lib/ceph/3f50555a-ae2a-11eb-a2fc-ffde44714d86/mon.ceph05/config:/etc/ceph/ceph.conf:z" ], When I stop the monitor, edit the file directly and restart the monitor, mon_rocksdb_options seem to be applied correctly! Unfortunately, I specify global mon_rocksdb_options and redeploy the monitor, the new ceph.conf doesn't have mon_rocksdb_options at all. I am not sure that this is a reliable way to enable compression, but it works - so it's better than other ways which don't work :-) /Z On Mon, 16 Oct 2023 at 16:16, Josh Baergen <jbaergen@digitalocean.com> wrote:
the resulting ceph.conf inside the monitor container doesn't have mon_rocksdb_options
I don't know where this particular ceph.conf copy comes from, but I still suspect that this is where this particular option needs to be set. The reason I think this is that rocksdb mount options are needed _before_ the mon is able to access any of the centralized conf data, which I believe is itself stored in rocksdb.
Josh
On Sun, Oct 15, 2023 at 10:29 PM Zakhar Kirpichenko <zakhar@gmail.com> wrote:
Out of curiosity, I tried setting mon_rocksdb_options via ceph.conf.
This didn't work either: ceph.conf gets overridden at monitor start, the resulting ceph.conf inside the monitor container doesn't have mon_rocksdb_options, the monitor starts with no RocksDB compression.
I would appreciate it if someone from the Ceph team could please chip in
and suggest a working way to enable RocksDB compression in Ceph monitors.
/Z
On Sat, 14 Oct 2023 at 19:16, Zakhar Kirpichenko <zakhar@gmail.com>
Thanks for your response, Josh. Our ceph.conf doesn't have anything but
This works rather well for various Ceph components, including the
monitors. RocksDB options are also applied to monitors correctly, but for some reason are being ignored.
/Z
On Sat, 14 Oct 2023, 17:40 Josh Baergen, <jbaergen@digitalocean.com>
wrote:
Apologies if you tried this already and I missed it - have you tried configuring that setting in /etc/ceph/ceph.conf (or wherever your conf file is) instead of via 'ceph config'? I wonder if mon settings like this one won't actually apply the way you want because they're needed before the mon has the ability to obtain configuration from, effectively, itself.
Josh
On Sat, Oct 14, 2023 at 1:32 AM Zakhar Kirpichenko <zakhar@gmail.com>
wrote:
I also tried setting RocksDB compression options and deploying a new monitor. The monitor started with no RocksDB compression again.
Ceph monitors seem to ignore mon_rocksdb_options set at runtime, at
mon
start and at mon deploy. How can I enable RocksDB compression in Ceph monitors?
Any input from anyone, please?
/Z
On Fri, 13 Oct 2023 at 23:01, Zakhar Kirpichenko <zakhar@gmail.com> wrote:
Hi,
I'm still trying to fight large Ceph monitor writes. One option I considered is enabling RocksDB compression, as our nodes have more
sufficient RAM and CPU. Unfortunately, monitors seem to completely ignore the compression setting:
I tried:
- setting ceph config set mon.ceph05 mon_rocksdb_options
"write_buffer_size=33554432,compression=kLZ4Compression,level_compaction_dynamic_level_bytes=true",
restarting the test monitor. The monitor started with no RocksDB compression:
debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: Compression algorithms supported: debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kZSTDNotFinalCompression supported: 0 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kXpressCompression supported: 0 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kLZ4HCCompression supported: 1 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kLZ4Compression supported: 1 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kBZip2Compression supported: 0 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kZlibCompression supported: 1 debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: kSnappyCompression supported: 1 ... debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: Options.compression: NoCompression debug 2023-10-13T19:47:00.403+0000 7f1cd967a880 4 rocksdb: Options.bottommost_compression: Disabled
- setting ceph config set mon mon_rocksdb_options
"write_buffer_size=33554432,compression=kLZ4Compression,level_compaction_dynamic_level_bytes=true",
restarting the test monitor. The monitor started with no RocksDB compression, the same way as above.
In each case config options were correctly set and readable with config get. I also found a suggestion in ceph-users (
https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/message/KJM232IHN7F... )
to set compression in a similar manner. Unfortunately, these
wrote: the mon addresses, modern Ceph versions store their configuration in the monitor configuration database. than options appear
to be ignored.
How can I enable RocksDB compression in Ceph monitors?
I would very much appreciate your advices and comments.
Best regards, Zakhar
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io