From b8501164ef0315b4bee2c62b7a5ead97cf05b4b8 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 8 Aug 2019 16:57:22 -0500 Subject: [PATCH] os/bluestore: warn on no per-pool omap Signed-off-by: Sage Weil --- doc/rados/operations/health-checks.rst | 21 ++++++++++++++++++ .../old_client/tasks/2-upgrade.yaml | 1 + .../upgraded_client/tasks/2-upgrade.yaml | 1 + .../mimic-x-singleton/0-cluster/start.yaml | 1 + .../parallel/1-ceph-install/mimic.yaml | 1 + .../stress-split/1-ceph-install/mimic.yaml | 1 + .../nautilus-x-singleton/0-cluster/start.yaml | 1 + .../parallel/1-ceph-install/nautilus.yaml | 1 + .../stress-split/1-ceph-install/nautilus.yaml | 1 + src/common/legacy_config_opts.h | 1 + src/common/options.cc | 4 ++++ src/mon/PGMap.cc | 2 ++ src/os/bluestore/BlueStore.cc | 22 +++++++++++++++++++ src/os/bluestore/BlueStore.h | 2 ++ 14 files changed, 60 insertions(+) diff --git a/doc/rados/operations/health-checks.rst b/doc/rados/operations/health-checks.rst index e83cd479b666..2c22b7157ff1 100644 --- a/doc/rados/operations/health-checks.rst +++ b/doc/rados/operations/health-checks.rst @@ -356,6 +356,27 @@ This warning can be disabled with:: ceph config set global bluestore_warn_on_legacy_statfs false +BLUESTORE_NO_PER_POOL_OMAP +__________________________ + +Starting with the Octopus release, BlueStore tracks omap space utilization +by pool, and one or more OSDs have volumes that were created prior to +Octopus. If all OSDs are not running BlueStore with the new tracking +enabled, the cluster will report and approximate value for per-pool omap usage +based on the most recent deep-scrub. + +The old OSDs can be updated to track by pool by stopping each OSD, +running a repair operation, and the restarting it. For example, if +``osd.123`` needed to be updated,:: + + systemctl stop ceph-osd@123 + ceph-bluestore-tool repair --path /var/lib/ceph/osd/ceph-123 + systemctl start ceph-osd@123 + +This warning can be disabled with:: + + ceph config set global bluestore_warn_on_no_per_pool_omap false + BLUESTORE_DISK_SIZE_MISMATCH ____________________________ diff --git a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml index 701fbea64242..5fcf8c2a565d 100644 --- a/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml +++ b/qa/suites/fs/upgrade/featureful_client/old_client/tasks/2-upgrade.yaml @@ -13,6 +13,7 @@ overrides: conf: global: bluestore warn on legacy statfs: false + bluestore warn on no per pool omap: false mon: mon warn on osd down out interval zero: false diff --git a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml index 701fbea64242..5fcf8c2a565d 100644 --- a/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml +++ b/qa/suites/fs/upgrade/featureful_client/upgraded_client/tasks/2-upgrade.yaml @@ -13,6 +13,7 @@ overrides: conf: global: bluestore warn on legacy statfs: false + bluestore warn on no per pool omap: false mon: mon warn on osd down out interval zero: false diff --git a/qa/suites/upgrade/mimic-x-singleton/0-cluster/start.yaml b/qa/suites/upgrade/mimic-x-singleton/0-cluster/start.yaml index eb338ea161b7..dc4fd9fd1ec0 100644 --- a/qa/suites/upgrade/mimic-x-singleton/0-cluster/start.yaml +++ b/qa/suites/upgrade/mimic-x-singleton/0-cluster/start.yaml @@ -13,6 +13,7 @@ overrides: ms dump corrupt message level: 0 ms bind msgr2: false bluestore warn on legacy statfs: false + bluestore warn on no per pool omap: false mds: debug ms: 1 debug mds: 20 diff --git a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml index 6c9bd0d2160c..bd9f1767b8d5 100644 --- a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml +++ b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml @@ -34,6 +34,7 @@ tasks: global: mon warn on pool no app: false bluestore_warn_on_legacy_statfs: false + bluestore warn on no per pool omap: false - exec: osd.0: - ceph osd require-osd-release mimic diff --git a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml index ad5b0e236101..f450b832d1e5 100644 --- a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml +++ b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml @@ -16,6 +16,7 @@ tasks: conf: global: bluestore_warn_on_legacy_statfs: false + bluestore warn on no per pool omap: false - exec: osd.0: - ceph osd require-osd-release mimic diff --git a/qa/suites/upgrade/nautilus-x-singleton/0-cluster/start.yaml b/qa/suites/upgrade/nautilus-x-singleton/0-cluster/start.yaml index c3c9566ac536..499bca95c44f 100644 --- a/qa/suites/upgrade/nautilus-x-singleton/0-cluster/start.yaml +++ b/qa/suites/upgrade/nautilus-x-singleton/0-cluster/start.yaml @@ -12,6 +12,7 @@ overrides: global: ms dump corrupt message level: 0 ms bind msgr2: false + bluestore warn on no per pool omap: false mds: debug ms: 1 debug mds: 20 diff --git a/qa/suites/upgrade/nautilus-x/parallel/1-ceph-install/nautilus.yaml b/qa/suites/upgrade/nautilus-x/parallel/1-ceph-install/nautilus.yaml index 0ed40672cb0a..9720192def08 100644 --- a/qa/suites/upgrade/nautilus-x/parallel/1-ceph-install/nautilus.yaml +++ b/qa/suites/upgrade/nautilus-x/parallel/1-ceph-install/nautilus.yaml @@ -26,6 +26,7 @@ tasks: global: mon warn on pool no app: false bluestore_warn_on_legacy_statfs: false + bluestore warn on no per pool omap: false - exec: osd.0: - ceph osd set-require-min-compat-client nautilus diff --git a/qa/suites/upgrade/nautilus-x/stress-split/1-ceph-install/nautilus.yaml b/qa/suites/upgrade/nautilus-x/stress-split/1-ceph-install/nautilus.yaml index b1d523f53964..a5bf71d07b1f 100644 --- a/qa/suites/upgrade/nautilus-x/stress-split/1-ceph-install/nautilus.yaml +++ b/qa/suites/upgrade/nautilus-x/stress-split/1-ceph-install/nautilus.yaml @@ -8,6 +8,7 @@ tasks: conf: global: bluestore_warn_on_legacy_statfs: false + bluestore warn on no per pool omap: false - exec: osd.0: - ceph osd require-osd-release nautilus diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index be221c659367..66f6aa6c4b9d 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -1072,6 +1072,7 @@ OPTION(bluestore_no_per_pool_stats_tolerance, OPT_STR) OPTION(bluestore_warn_on_bluefs_spillover, OPT_BOOL) OPTION(bluestore_warn_on_legacy_statfs, OPT_BOOL) OPTION(bluestore_fsck_error_on_no_per_pool_omap, OPT_BOOL) +OPTION(bluestore_warn_on_no_per_pool_omap, OPT_BOOL) OPTION(bluestore_log_op_age, OPT_DOUBLE) OPTION(bluestore_log_omap_iterator_age, OPT_DOUBLE) OPTION(bluestore_log_collection_list_age, OPT_DOUBLE) diff --git a/src/common/options.cc b/src/common/options.cc index 7f107a4beb55..7e07607ceb78 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4868,6 +4868,10 @@ std::vector