Commit Graph

39 Commits

Author SHA1 Message Date
Joshua Boniface 103e9fe147 Add restart overrides for ceph-mgr
Needed because ceph-mgr seems to crash frequently under Debian 12 when
adding or removing OSDs. The default settings do not restart it
properly, so this override does.
2023-11-03 14:25:31 -04:00
Joshua Boniface f4bbdb7c86 Use full path for uuidgen 2023-09-29 03:00:53 -04:00
Joshua Boniface 8ebb8a8339 Disable autoscale via command
As per [1] the ceph.conf option does not work properly and must be set this way.

[1] https://stackoverflow.com/questions/63853436/ceph-octopus-setting-autoscale-mode-from-ceph-conf-file
2023-09-02 01:59:47 -04:00
Joshua Boniface a10b3e8d4a Lower default pgs and disable autoscale 2023-09-01 23:54:10 -04:00
Joshua Boniface 2ba8f1cfc3 Add retries to all apt commands 2023-09-01 15:42:30 -04:00
Joshua Boniface 561ecb5c61 Adjust name of bootstrap trigger variable
The PVC bootstrap framework overrides this variable and wreaks havoc on
it. Instead adjust our side so that it looks for do_bootstrap instead.
2023-09-01 15:42:29 -04:00
Joshua Boniface 1d35fec8a8 Remove cpuset configurations
This functionality simply did not work, with Libvirt continuing to dump
its processes into the root cset thus defeating the purpose entirely.

Just remove it, from some very initial testing it isn't worth the
headache.
2023-09-01 15:42:29 -04:00
Joshua Boniface 6cf8948107 Add Ceph support for single-node clusters
Ensures that the pool default size/min size is set to something
reasonable for a single node (effective RAID-1) and replace teh default
CRUSH replicate_rule set for this situation with one choosing OSD
instead of host as the default.
2023-09-01 15:42:28 -04:00
Joshua Boniface 4dfd877c7f Ensure Admin users are in additional groups 2023-09-01 15:42:28 -04:00
Joshua Boniface 91ca3d1510 Ensure insecure_global_id_reclaim is false 2023-09-01 15:42:28 -04:00
Joshua Boniface 95b47f8b09 Fix a few more extraneous splits
Just use this_node if applicable, or the raw node.hostname.
2023-09-01 15:42:28 -04:00
Joshua Boniface 6e2d661134 Adjust documentation and behaviour of cpuset
1. Detail the caveats and specific situations and ref the documentation
which will provide more details.

2. Always install the configs, but use /etc/default/ceph-osd-cpuset to
control if the script does anything or not (so, the "osd" cset set is
always active just not set in a special way.
2023-09-01 15:42:27 -04:00
Joshua Boniface 83bd1b1efd Install cset configs even if disabled
The setup script handles this instead.
2023-09-01 15:42:27 -04:00
Joshua Boniface 7927ec4f11 Allow dynamic enabling/disabling of cset
Add a separate config to handle enable/disable on the system itself.
2023-09-01 15:42:27 -04:00
Joshua Boniface 2ae9b9075a Adjust default ceph.conf parameters
1. Remove an explicit OSD journal size, especially such a small one (no
clue why I ever added that...)

2. Add max scrubs, disable scrub during recovery, and set scrub sleep.

3. Add max backfills, tune recovery sleep to 0 to prioritize recovery.
2023-09-01 15:42:27 -04:00
Joshua Boniface 6e48d6fe84 Add Ceph OSD cpuset tuning options
Allows an administrator to set CPU pinning with the cpuset tool for Ceph
OSDs, in situations where CPU contention with VMs or other system tasks
may be negatively affecting OSD performance. This is optional, advanced
tuning and is disabled by default.
2023-09-01 15:42:27 -04:00
Joshua Boniface 647ca1c446 Add default features flag to ceph.conf generator
Coupled with the removal of explicit --image-features flags to the RBD
command in PVC itself, this ensures that only the two features supported
on kernel 4.19 are enabled by default.
2023-09-01 15:42:26 -04:00
Joshua Boniface e760114b8d Fix bootstrap collection path for Ceph 2023-09-01 15:42:26 -04:00
Joshua Boniface 6a61f8f7bf Update relative path to bootstrap files 2023-09-01 15:42:25 -04:00
Joshua Boniface e9f08ad100 Retry msgr2 enabling 6 times
This will sometimes fail, so retry it several times
2023-09-01 15:42:25 -04:00
Joshua Boniface 6e74ac44a5 Remove libjemalloc package 2023-09-01 15:42:24 -04:00
Joshua Boniface b4e36d146a Add tuning for Ceph OSDs 2023-09-01 15:42:24 -04:00
Joshua Boniface fbbf5ffe09 Use cluster_group variable for paths
Instead of trying to automagic this group out of the Ansible hostvars,
just make it explicitly defined in the group_vars to avoid any
confusion.
2023-09-01 15:42:23 -04:00
Joshua Boniface c71415317a Use only short names in Ceph MON config 2023-09-01 15:42:23 -04:00
Joshua Boniface bc1d9cd33b Set msgr2 mode on Ceph monitors 2023-09-01 15:42:22 -04:00
Joshua Boniface 9546f34c34 Move netmask to separate config part 3 2023-09-01 15:42:22 -04:00
Joshua Boniface f76802be6d Remove invalid flag to ceph-authtool 2023-09-01 15:42:22 -04:00
Joshua Boniface 4b488a56ea Don't become for uuidgen 2023-09-01 15:42:22 -04:00
Joshua Boniface ff68f8a2a5 Move Ceph access to storage network 2023-09-01 15:42:22 -04:00
Joshua Boniface 0352dd7f8f Create mgr after starting monitors 2023-09-01 15:42:20 -04:00
Joshua Boniface 958d2525da Handle restarting ceph-mon/mgr sequentially 2023-09-01 15:42:20 -04:00
Joshua Boniface 596ce789b1 Enable pool deletion in ceph.conf 2023-09-01 15:42:20 -04:00
Joshua Boniface e9303c1ad1 Create manager auth keyring 2023-09-01 15:42:20 -04:00
Joshua Boniface a01720a09d Ensure Ceph daemons are disabled (managed by PVC) 2023-09-01 15:42:20 -04:00
Joshua Boniface a19d9c77ad Clean up some tasks during bootstrap; parallel PVC 2023-09-01 15:42:20 -04:00
Joshua Boniface f823d1b351 Touch the bootstrap ceph.conf 2023-09-01 15:42:20 -04:00
Joshua Boniface efd8dce53d Simplify and combine 2023-09-01 15:42:20 -04:00
Joshua Boniface 256a89d7cc Reorganize some elements 2023-09-01 15:42:19 -04:00
Joshua Boniface a922fe4df7 Reorganize and rejigger 2023-09-01 15:42:19 -04:00