Wip writeback throttling for cache tiering
This patch is to do write back throttling for cache tiering, which is similar to what the Linux kernel does for page cache write back. A paramter 'cache_target_dirty_high_ratio' (default 0.6) is introduced as the high speed flushing threshold, while leave the 'cache_target_dirty_ratio' (default 0.4) to represent the low speed threshold. The flush speed is controlled by limiting the parallelism of flushing. The maximum parallelism under low speed is half of the parallelism under high speed. If there is at least one PG such that the dirty ratio beyond the high threshold, full speed mode is entered; If there is no PG such that dirty ratio beyond the low threshold, idle mode is entered; In other cases, slow speed mode is entered.
Signed-off-by: Mingxin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Suggested-by: Nick Fisk <nick@fisk.me.uk>
Tested-by: Kefu Chai <kchai@redhat.com>
Explain the significance of pgp num & how it differs from pg num.
Fixes: #10035
Reported-by: Loic Dachary <loic@dachary.org>
Signed-off-by: Abhishek Lekshmanan <abhishek.lekshmanan@ril.com>
Specified crush-ruleset-name is required to exist, implicit creation is
going to happen only if crush-ruleset-name wasn't specified on the
command line. While at it, pool-name is very much a required param.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
* nodelete - pool can't be deleted
* nopgchange - pool's pg and pgp num can't be changed
* nosizechange - pool's size and min size can't be changed
This is intended to help some poor admin to avoid a very bad day.
Fixes: #9792 (but in a different way than it was proposed there)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
A short introduction to the first time user of an erasure coded pool.
It includes a reminder of how it relates to cache tiering and links to
define new profiles with an example.
There was examples in the developer documentation but the operator
expects to find such a guide in the rados operations chapter.
http://tracker.ceph.com/issues/9970Fixes: #9970
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The plugins are made a sub-section of the erasure code profile
section. The k and m parameters are removed from erasure code profile
documentation. They were added for simplicity in the first version
because there was only one plugin. But they should really be in the
plugin documentation.
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
When creating a replicated pool, currently ceph ignore the ruleset
name provided by user but use a global default ruleset.
This patch fix this bug, so the rulset specified by
ceph osd pool create replicated
can be properly set.
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
The properties are replaced with erasure code profiles. Remove the
reference to properties and the documentation of each erasure-code
related property.
Signed-off-by: Loic Dachary <loic@dachary.org>
Include erasure code information. A choice is made to display properties
that should be documented as part of the erasure code plugin
interface (erasure-code-k for instance). However, there only is one
plugin at the moment. Furthermore, erasure-code-k and erasure-code-m are
the two properties that the system administrator will want to tweak when
playing with erasure coded pools for the first time. It is probably
better to document them in a very visible place for this reason.
http://tracker.ceph.com/issues/7548 refs #7548
Signed-off-by: Loic Dachary <loic@dachary.org>
Use of .. important: instead of .. important:: resulting in content
not being displayed.
Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>