From 322ad8fc1dacac8de0ae01ff18db860c21df81cf Mon Sep 17 00:00:00 2001 From: zjh Date: Fri, 26 Apr 2019 15:15:11 +0800 Subject: [PATCH] osd: Better error message when OSD count is less than osd_pool_default_size Fixes: http://tracker.ceph.com/issues/38617 Signed-off-by: zjh (cherry picked from commit 94237d36932b27961afffbe65d433af26c3fe513) Conflicts: doc/rados/operations/health-checks.rst - trivial src/mon/PGMap.cc - cct->_conf->get_val in mimic --- doc/rados/operations/health-checks.rst | 6 ++++++ src/mon/PGMap.cc | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/doc/rados/operations/health-checks.rst b/doc/rados/operations/health-checks.rst index be306e3a977d8..d7e4a91555757 100644 --- a/doc/rados/operations/health-checks.rst +++ b/doc/rados/operations/health-checks.rst @@ -385,6 +385,12 @@ so marking "out" OSDs "in" (if there are any) can also help:: Please refer to :ref:`choosing-number-of-placement-groups` for more information. +TOO_FEW_OSDS +____________ + +The number of OSDs in the cluster is below the configurable +threshold of ``osd_pool_default_size``. + SMALLER_PGP_NUM _______________ diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index 9b39f32888b03..b7156c0e81ef8 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -2569,6 +2569,15 @@ void PGMap::get_health_checks( } } + // TOO_FEW_OSDS + auto osd_pool_default_size = cct->_conf->get_val("osd_pool_default_size"); + if (osdmap.get_num_osds() < osd_pool_default_size) { + ostringstream ss; + ss << "OSD count " << osdmap.get_num_osds() + << " < osd_pool_default_size " << osd_pool_default_size; + checks->add("TOO_FEW_OSDS", HEALTH_WARN, ss.str()); + } + // SMALLER_PGP_NUM // MANY_OBJECTS_PER_PG if (!pg_stat.empty()) { -- 2.39.5