Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mimic: core: mon osdmap cash too small during upgrade to mimic #25019

Merged
merged 4 commits into from Nov 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 8 additions & 0 deletions PendingReleaseNotes
Expand Up @@ -36,6 +36,14 @@ notes (?))
13.2.3
======

* The default memory utilization for the mons has been increased
somewhat. Rocksdb now uses 512 MB of RAM by default, which should
be sufficient for small to medium-sized clusters; large clusters
should tune this up. Also, the ``mon_osd_cache_size`` has been
increase from 10 OSDMaps to 500, which will translate to an
additional 500 MB to 1 GB of RAM for large clusters, and much less
for small clusters.

* Ceph v13.2.2 includes a wrong backport, which may cause mds to go into
'damaged' state when upgrading Ceph cluster from previous version.
The bug is fixed in v13.2.3. For ceph v13.2.2 installation, upgrading
Expand Down
28 changes: 23 additions & 5 deletions doc/start/hardware-recommendations.rst
Expand Up @@ -39,11 +39,29 @@ separate hosts.
RAM
===

Metadata servers and monitors must be capable of serving their data quickly, so
they should have plenty of RAM (e.g., 1GB of RAM per daemon instance). OSDs do
not require as much RAM for regular operations (e.g., 500MB of RAM per daemon
instance); however, during recovery they need significantly more RAM (e.g., ~1GB
per 1TB of storage per daemon). Generally, more RAM is better.
Generally, more RAM is better.

Monitors and managers (ceph-mon and ceph-mgr)
---------------------------------------------

Monitor and manager daemon memory usage generally scales with the size of the
cluster. For small clusters, 1-2 GB is generally sufficient. For
large clusters, you should provide more (5-10 GB). You may also want
to consider tuning settings like ``mon_osd_cache_size`` or
``rocksdb_cache_size``.

Metadata servers (ceph-mds)
---------------------------

The metadata daemon memory utilization depends on how much memory its cache is
configured to consume. We recommend 1 GB as a minimum for most systems. See
``mds_cache_memory``.

OSDs (ceph-osd)
---------------

By default, OSDs that use the BlueStore backend require 3-5 GB of RAM. You can
adjust the amount of memory the OSD consumes with the ``osd_memory_target`` configuration option when BlueStore is in use. When using the legacy FileStore backend, the operating system page cache is used for caching data, so no tuning is normally needed, and the OSD memory consumption is generally related to the number of PGs per daemon in the system.


Data Storage
Expand Down
4 changes: 2 additions & 2 deletions src/common/options.cc
Expand Up @@ -1184,7 +1184,7 @@ std::vector<Option> get_global_options() {
/* -- mon: osdmap prune (end) -- */

Option("mon_osd_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED)
.set_default(10)
.set_default(500)
.set_description(""),

Option("mon_cpu_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED)
Expand Down Expand Up @@ -3423,7 +3423,7 @@ std::vector<Option> get_global_options() {
.set_description(""),

Option("rocksdb_cache_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
.set_default(128_M)
.set_default(512_M)
.set_description(""),

Option("rocksdb_cache_row_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
Expand Down