OSD 配置参考¶
你可以通过配置文件调整 OSD ,但靠默认值和极少的配置 OSD 守护进程就能运行。最简 OSD 配置需设置 osd journal size
和 host
,其他几乎都能用默认值。
Ceph 的 OSD 守护进程用递增的数字作标识,按惯例以 0
开始,如下:
osd.0
osd.1
osd.2
在配置文件里, [osd]
段下的配置适用于所有 OSD ;要添加针对特定 OSD 的选项(如 host
),把它放到那个 OSD 段下即可,如:
[osd]
osd journal size = 5120
[osd.0]
host = osd-host-a
[osd.1]
host = osd-host-b
常规配置¶
下列选项可配置一 OSD 的唯一标识符、以及数据和日志的路径。 Ceph 部署脚本通常会自动生成 UUID 。
Warning
我们不建议更改数据和日志的默认路径,因为这样会增加后续的排障难度。
日志尺寸应该大于期望的驱动器速度和 filestore max sync interval
之乘积的两倍;最常见的方法是为日志驱动器(通常是 SSD )分区并挂载好,这样 Ceph 就可以用整个分区做日志。
osd uuid
- 描述
OSD 的全局唯一标识符( UUID )。
- 类型
UUID
- 默认值
The UUID.
- 备注
osd uuid
适用于单个 OSD ,fsid
适用于整个集群。
osd data
- 描述
OSD 数据存储位置,你得创建并把数据盘挂载到其下。我们不推荐更改默认值。
- 类型
String
- 默认值
/var/lib/ceph/osd/$cluster-$id
osd max write size
- 描述
一次写入的最大尺寸,MB。
- 类型
32-bit Integer
- 默认值
90
osd max object size
- 描述
单个 RADOS 对象的最大尺寸,单位为字节。
- 类型
32-bit Unsigned Integer
- 默认值
128MB
osd client message size cap
- 描述
内存里允许的最大客户端数据消息。
- 类型
64-bit Unsigned Integer
- 默认值
默认为 500MB 。
500*1024L*1024L
osd class dir
- 描述
RADOS 类插件的路径。
- 类型
String
- 默认值
$libdir/rados-classes
文件系统选项¶
Ceph 可自动创建并挂载所需的文件系统。
osd mkfs options {fs-type}
- 描述
为 OSD 新建 {fs-type} 类型的文件系统时使用的选项。
- 类型
String
- xfs 默认值
-f -i 2048
- 其余文件系统默认值
{empty string}
- 实例
osd mkfs options xfs = -f -d agcount=24
osd mount options {fs-type}
- 描述
挂载 {fs-type} 类型的文件系统作为 OSD 数据目录时所用的选项。
- 类型
String
- xfs 默认值
rw,noatime,inode64
- 其余文件系统默认值
rw, noatime
- 实例
osd mount options xfs = rw, noatime, inode64, logbufs=8
日志选项¶
默认情况下, Ceph 觉得你会把 OSD 日志存储于下列路径:
/var/lib/ceph/osd/$cluster-$id/journal
When using a single device type (for example, spinning drives), the journals
should be colocated: the logical volume (or partition) should be in the same
device as the data
logical volume.
When using a mix of fast (SSDs, NVMe) devices with slower ones (like spinning
drives) it makes sense to place the journal on the faster device, while
data
occupies the slower device fully.
The default osd journal size
value is 5120 (5 gigabytes), but it can be
larger, in which case it will need to be set in the ceph.conf
file:
osd journal size = 10240
osd journal
- 描述
OSD 日志路径,可以是一个文件或块设备( SSD 的一个分区)的路径。如果是文件,要先创建相应目录。我们建议用
osd data
以外的独立驱动器。- 类型
String
- 默认值
/var/lib/ceph/osd/$cluster-$id/journal
osd journal size
- 描述
日志尺寸( MB )。
- 类型
32-bit Integer
- 默认值
5120
详情见日志配置参考。
监视器和 OSD 的交互¶
OSD 周期性地相互检查心跳并报告给监视器。 Ceph 默认配置可满足多数情况,但是如果你的网络延时大,就得用较长间隔。关于心跳的讨论参见监视器与 OSD 交互的配置。
数据归置¶
详情见存储池和归置组配置参考。
洗刷¶
除了为对象复制多个副本外, Ceph 还要洗刷归置组以确保数据完整性。这种洗刷类似对象存储层的 fsck
,对每个归置组, Ceph 生成一个所有对象的目录,并比对每个主对象及其副本以确保没有对象丢失或错配。轻微洗刷(每天)检查对象尺寸和属性,深层洗刷(每周)会读出数据并用校验和方法确认数据完整性。
洗刷对维护数据完整性很重要,但会影响性能;你可以用下列选项来增加或减少洗刷操作。
osd max scrubs
- 描述
一 OSD 的最大并发洗刷操作数。
- 类型
32-bit Int
- 默认值
1
osd scrub begin hour
- 描述
被调度的洗刷操作在一天中可以运行的时间下限。
- 类型
0 到 24 之间的整数
- 默认值
0
osd scrub end hour
- 描述
被调度的洗刷操作在一天中可以运行的时间上限。本选项与
osd scrub begin hour
一起定义了一个时间窗口,在此期间可以进行洗刷操作。但是,在某个归置组的洗刷间隔超过osd scrub max interval
时,不管这个时间窗口是否合适都会执行。- 类型
0 到 24 之间的整数
- 默认值
24
osd scrub during recovery
- 描述
在恢复期间允许洗刷。有正在进行的恢复,且这里为
false
时,就会禁止调度新的洗刷(和深层洗刷)。已经在运行的洗刷不受影响。对繁忙的集群来说,这样做可降低负载。- 类型
Boolean
- 默认值
true
osd scrub thread timeout
- 描述
洗刷线程最大死亡时值。
- 类型
32-bit Integer
- 默认值
60
osd scrub finalize thread timeout
- 描述
洗刷终结线程最大超时值。
- 类型
32-bit Integer
- 默认值
60*10
osd scrub load threshold
- 描述
标准的最大负载,当前系统负载(
getloadavg() / 在线 CPU 数量
所定义的)高于此值时 Ceph 不会洗刷。默认0.5
。- 类型
Float
- 默认值
0.5
osd scrub min interval
- 描述
集群负载低的时候,洗刷的最小间隔时间,秒。
- 类型
Float
- 默认值
每天一次。
60*60*24
osd scrub max interval
- 描述
不论集群负载如何,都要进行洗刷的时间间隔。
- 类型
Float
- 默认值
每周一次。
7*60*60*24
osd scrub chunk min
- 描述
单个操作可洗刷的最小对象块数。数据块在洗刷期间, Ceph 会阻塞别人向它写入。
- 类型
32-bit Integer
- 默认值
5
osd scrub chunk max
- 描述
单个操作可洗刷的最大对象块数。
- 类型
32-bit Integer
- 默认值
25
osd scrub sleep
- 描述
洗刷下一组数据块前等待的时间。增加此值会拖慢整个洗刷进度,但对客户端操作没什么影响。
- 类型
Float
- 默认值
0
osd deep scrub interval
- 描述
深层洗刷的间隔(完整地读所有数据)。
osd scrub load threshold
不会影响此选项。- 类型
Float
- 默认值
每周一次。
60*60*24*7
osd scrub interval randomize ratio
- 描述
在给某一归置组调度下一个洗刷作业时,给
osd scrub min interval
增加个随机延时,这个延时是个小于osd scrub min interval
*osd scrub interval randomized ratio
的随机值。所以在实践中,这个默认设置会把洗刷操作随机地散布到允许的时间窗口内,即[1, 1.5]
*osd scrub min interval
。- 类型
Float
- 默认值
0.5
osd deep scrub stride
- 描述
深层洗刷时的读取尺寸。
- 类型
32-bit Integer
- 默认值
512 KB.
524288
操作数¶
osd op queue
- 描述
本选项用于配置 OSD 内各种操作( ops )的优先顺序。两种队列都实现了严格子队列,出常规队列之前要先出子队列,它与常规队列的实现机制不同。最初的 PrioritizedQueue (
prio
) 使用令牌桶系统,在令牌足够多时它会先处理优先级高的队列;在令牌不够多时,则按优先级从低到高依次处理。 WeightedPriorityQueue (wpq
) 会根据其优先级处理所有队列,以避免出现饥饿队列。在一部分 OSD 负载高于其它的时, WPQ 应该有优势。 新的、基于 mClock 的 OpClassQueue (mclock_opclass
)可针对它们所属的类( recovery 、 scrub 、 snaptrim 、 client op 、 osd subop )来划分优先级。还有,基于 mClock 的 ClientQueue (mclock_client
) 还能结合客户端标识符来增进各客户端之间的公平性。见基于 mClock 的 QoS。此配置更改后需重启。- 类型
String
- 可选值
prio, wpq, mclock_opclass, mclock_client
- 默认值
prio
osd op queue cut off
- 描述
本选项用于配置把哪个优先级的操作放入严格队列、还是常规队列。
low
这个选项会把所有复制操作以及优先级更高的放入严格队列;而high
选项只会把复制的确认反馈操作以及优先级更高的发往严格队列。此选项设置为high
时,应该有助于缓解集群内某些 OSD 特别繁忙的情形,尤其是配合osd op queue
设置为wpq
使用时效果更佳。忙于处理副本流量的 OSD 们,如果没有这些配置,它们的主副本( primary client )客户端往往比较空闲。此配置更改后需重启。- 类型
String
- 可选值
low, high
- 默认值
low
osd client op priority
- 描述
设置客户端操作优先级,它相对于
osd recovery op priority
。- 类型
32-bit Integer
- 默认值
63
- 有效范围
1-63
osd recovery op priority
- 描述
设置恢复优先级,其值相对于
osd client op priority
。- 类型
32-bit Integer
- 默认值
3
- 有效范围
1-63
osd scrub priority
- 描述
设置洗刷操作的优先级。与
osd client op priority
有关。- 类型
32-bit Integer
- 默认值
5
- 有效范围
1-63
osd requested scrub priority
- 描述
The priority set for user requested scrub on the work queue. If this value were to be smaller than
osd client op priority
it can be boosted to the value ofosd client op priority
when scrub is blocking client operations.- 类型
32-bit Integer
- 默认值
120
osd snap trim priority
- 描述
设置快照修建操作的优先级。与
osd client op priority
有关。- 类型
32-bit Integer
- 默认值
5
- 有效范围
1-63
osd snap trim sleep
- 描述
Time in seconds to sleep before next snap trim op. Increasing this value will slow down snap trimming. This option overrides backend specific variants.
- 类型
Float
- 默认值
0
osd snap trim sleep hdd
- 描述
Time in seconds to sleep before next snap trim op for HDDs.
- 类型
Float
- 默认值
5
osd snap trim sleep ssd
- 描述
Time in seconds to sleep before next snap trim op for SSDs.
- 类型
Float
- 默认值
0
osd snap trim sleep hybrid
- 描述
Time in seconds to sleep before next snap trim op when osd data is on HDD and osd journal is on SSD.
- 类型
Float
- 默认值
2
osd op thread timeout
- 描述
OSD 线程超时秒数。
- 类型
32-bit Integer
- 默认值
15
osd op complaint time
- 描述
一个操作进行多久后开始抱怨。
- 类型
Float
- 默认值
30
osd disk threads
- 描述
硬盘线程数,用于在后台执行磁盘密集型操作,像数据洗刷和快照修复。
- 类型
32-bit Integer
- 默认值
1
osd disk thread ioprio class
- 描述
警告:只有
osd disk thread ioprio class
和osd disk thread ioprio priority
同时改为非默认值时此配置才生效。 OSD 用 ioprio_set(2) 为磁盘线程设置 I/O 调度分类(class
),当前支持idle
、be
或rt
。其中,idle
类意味着磁盘线程的优先级低于其它的 OSD 线程,适合需延缓洗刷操作的情形,如 OSD 正忙于处理客户端操作。be
是默认值,将设置与其它 OSD 线程相同的优先级。rt
意为磁盘线程的优先级将高于其它任何 OSD 线程。注:只能与 Linux 内核的 CFQ 调度器配合使用。从 Jewel 版起,洗刷操作已经不再由磁盘的 iothread 发起了,请参考 OSD 优先级选项。- 类型
String
- 默认值
空字符串
osd disk thread ioprio priority
- 描述
警告:只有
osd disk thread ioprio class
和osd disk thread ioprio priority
同时改为非默认值时此配置才生效。它通过 ioprio_set(2) 设置磁盘线程的 I/O 调度优先级(priority
),优先级从最高的 0 到最低的 7 。如果某主机上的所有 OSD 都在idle
类中竞争 I/O 资源(即控制器拥塞了),那么你就可以用此选项把某 OSD 的磁盘线程优先级调低为 7 ,其它优先级为 0 的 OSD 就获得优先权了。注:只能与 Linux 内核的 CFQ 调度器配合使用。- 类型
0 到 7 间的整数, -1 禁用此功能。
- 默认值
-1
osd op history size
- 描述
要跟踪的最大已完成操作数量。
- 类型
32-bit Unsigned Integer
- 默认值
20
osd op history duration
- 描述
要跟踪的最老已完成操作。
- 类型
32-bit Unsigned Integer
- 默认值
600
osd op log threshold
- 描述
一次显示多少操作日志。
- 类型
32-bit Integer
- 默认值
5
基于 mClock 的 QoS¶
Ceph 对 mClock 的应用仍处于实验阶段,应当以探索心态试用。
核心概念¶
The QoS support of Ceph is implemented using a queueing scheduler based on the dmClock algorithm. This algorithm allocates the I/O resources of the Ceph cluster in proportion to weights, and enforces the constraints of minimum reservation and maximum limitation, so that the services can compete for the resources fairly. Currently the mclock_opclass operation queue divides Ceph services involving I/O resources into following buckets:
client op: the iops issued by client
osd subop: the iops issued by primary OSD
snap trim: the snap trimming related requests
pg recovery: the recovery related requests
pg scrub: the scrub related requests
And the resources are partitioned using following three sets of tags. In other words, the share of each type of service is controlled by three tags:
reservation: the minimum IOPS allocated for the service.
limitation: the maximum IOPS allocated for the service.
weight: the proportional share of capacity if extra capacity or system oversubscribed.
In Ceph operations are graded with “cost”. And the resources allocated for serving various services are consumed by these “costs”. So, for example, the more reservation a services has, the more resource it is guaranteed to possess, as long as it requires. Assuming there are 2 services: recovery and client ops:
recovery: (r:1, l:5, w:1)
client ops: (r:2, l:0, w:9)
The settings above ensure that the recovery won’t get more than 5 requests per second serviced, even if it requires so (see CURRENT IMPLEMENTATION NOTE below), and no other services are competing with it. But if the clients start to issue large amount of I/O requests, neither will they exhaust all the I/O resources. 1 request per second is always allocated for recovery jobs as long as there are any such requests. So the recovery jobs won’t be starved even in a cluster with high load. And in the meantime, the client ops can enjoy a larger portion of the I/O resource, because its weight is “9”, while its competitor “1”. In the case of client ops, it is not clamped by the limit setting, so it can make use of all the resources if there is no recovery ongoing.
Along with mclock_opclass another mclock operation queue named mclock_client is available. It divides operations based on category but also divides them based on the client making the request. This helps not only manage the distribution of resources spent on different classes of operations but also tries to insure fairness among clients.
CURRENT IMPLEMENTATION NOTE: the current experimental implementation does not enforce the limit values. As a first approximation we decided not to prevent operations that would otherwise enter the operation sequencer from doing so.
mClock 的精妙之处¶
The reservation and limit values have a unit of requests per second. The weight, however, does not technically have a unit and the weights are relative to one another. So if one class of requests has a weight of 1 and another a weight of 9, then the latter class of requests should get 9 executed at a 9 to 1 ratio as the first class. However that will only happen once the reservations are met and those values include the operations executed under the reservation phase.
Even though the weights do not have units, one must be careful in choosing their values due how the algorithm assigns weight tags to requests. If the weight is W, then for a given class of requests, the next one that comes in will have a weight tag of 1/W plus the previous weight tag or the current time, whichever is larger. That means if W is sufficiently large and therefore 1/W is sufficiently small, the calculated tag may never be assigned as it will get a value of the current time. The ultimate lesson is that values for weight should not be too large. They should be under the number of requests one expects to ve serviced each second.
注意事项¶
There are some factors that can reduce the impact of the mClock op
queues within Ceph. First, requests to an OSD are sharded by their
placement group identifier. Each shard has its own mClock queue and
these queues neither interact nor share information among them. The
number of shards can be controlled with the configuration options
osd_op_num_shards
, osd_op_num_shards_hdd
, and
osd_op_num_shards_ssd
. A lower number of shards will increase the
impact of the mClock queues, but may have other deleterious effects.
Second, requests are transferred from the operation queue to the operation sequencer, in which they go through the phases of execution. The operation queue is where mClock resides and mClock determines the next op to transfer to the operation sequencer. The number of operations allowed in the operation sequencer is a complex issue. In general we want to keep enough operations in the sequencer so it’s always getting work done on some operations while it’s waiting for disk and network access to complete on other operations. On the other hand, once an operation is transferred to the operation sequencer, mClock no longer has control over it. Therefore to maximize the impact of mClock, we want to keep as few operations in the operation sequencer as possible. So we have an inherent tension.
The configuration options that influence the number of operations in
the operation sequencer are bluestore_throttle_bytes
,
bluestore_throttle_deferred_bytes
,
bluestore_throttle_cost_per_io
,
bluestore_throttle_cost_per_io_hdd
, and
bluestore_throttle_cost_per_io_ssd
.
A third factor that affects the impact of the mClock algorithm is that we’re using a distributed system, where requests are made to multiple OSDs and each OSD has (can have) multiple shards. Yet we’re currently using the mClock algorithm, which is not distributed (note: dmClock is the distributed version of mClock).
Various organizations and individuals are currently experimenting with mClock as it exists in this code base along with their modifications to the code base. We hope you’ll share you’re experiences with your mClock and dmClock experiments in the ceph-devel mailing list.
osd push per object cost
- 描述
一个推送操作允许的开销。
- 类型
Unsigned Integer
- 默认值
1000
osd recovery max chunk
- 描述
一个恢复操作可携带数据块的最大尺寸。
- 类型
Unsigned Integer
- 默认值
8 MiB
osd op queue mclock client op res
- 描述
为客户端操作预留的值。
- 类型
Float
- 默认值
1000.0
osd op queue mclock client op wgt
- 描述
客户端操作的权重。
- 类型
Float
- 默认值
500.0
osd op queue mclock client op lim
- 描述
客户端操作的上限。
- 类型
Float
- 默认值
1000.0
osd op queue mclock osd subop res
- 描述
为 OSD 子操作预留的值。
- 类型
Float
- 默认值
1000.0
osd op queue mclock osd subop wgt
- 描述
OSD 子操作的权重。
- 类型
Float
- 默认值
500.0
osd op queue mclock osd subop lim
- 描述
OSD 子操作的上限。
- 类型
Float
- 默认值
0.0
osd op queue mclock snap res
- 描述
为快照修剪操作预留的值。
- 类型
Float
- 默认值
0.0
osd op queue mclock snap wgt
- 描述
快照修剪操作的权重。
- 类型
Float
- 默认值
1.0
osd op queue mclock snap lim
- 描述
快照修剪操作的上限。
- 类型
Float
- 默认值
0.001
osd op queue mclock recov res
- 描述
为恢复预留的值。
- 类型
Float
- 默认值
0.0
osd op queue mclock recov wgt
- 描述
恢复操作的权重。
- 类型
Float
- 默认值
1.0
osd op queue mclock recov lim
- 描述
恢复操作的上限。
- 类型
Float
- 默认值
0.001
osd op queue mclock scrub res
- 描述
为洗刷作业预留的值。
- 类型
Float
- 默认值
0.0
osd op queue mclock scrub wgt
- 描述
洗刷作业的权重。
- 类型
Float
- 默认值
1.0
osd op queue mclock scrub lim
- 描述
洗刷作业的上限。
- 类型
Float
- 默认值
0.001
回填¶
当集群新增或移除 OSD 时,按照 CRUSH 算法应该重新均衡集群,它会把一些归置组移出或移入多个 OSD 以回到均衡状态。归置组和对象的迁移会导致集群运营性能显著降低,为维持运营性能, Ceph 用 backfilling 来执行此迁移,它可以使得 Ceph 的回填操作优先级低于用户读写请求。
osd max backfills
- 描述
单个 OSD 允许的最大回填操作数。
- 类型
64-bit Unsigned Integer
- 默认值
1
osd backfill scan min
- 描述
集群负载低时,回填操作时扫描间隔。
- 类型
32-bit Integer
- 默认值
64
osd backfill scan max
- 描述
回填操作时最大扫描间隔。
- 类型
32-bit Integer
- 默认值
512
osd backfill retry interval
- 描述
重试回填请求前等待秒数。
- 类型
Double
- 默认值
10.0
OSD 运行图¶
OSD 运行图反映集群中运行的 OSD 守护进程,斗转星移,图元增加。 Ceph 用一些选项来确保 OSD 运行图增大时仍运行良好。
osd map dedup
- 描述
允许删除 OSD 图里的重复项。
- 类型
Boolean
- 默认值
true
osd map cache size
- 描述
缓存的 OSD 图个数。
- 类型
32-bit Integer
- 默认值
500
osd map cache bl size
- 描述
OSD 进程中,驻留内存的 OSD 图缓存尺寸。
- 类型
32-bit Integer
- 默认值
50
osd map cache bl inc size
- 描述
OSD 进程中,驻留内存的 OSD 图缓存增量尺寸。
- 类型
32-bit Integer
- 默认值
100
osd map message max
- 描述
每个 MOSDMap 图消息允许的最大条目数量。
- 类型
32-bit Integer
- 默认值
100
恢复¶
当集群启动、或某 OSD 守护进程崩溃后重启时,此 OSD 开始与其它 OSD 们建立连接,这样才能正常工作。详情见监控 OSD 和归置组。
如果某 OSD 崩溃并重生,通常会落后于其他 OSD ,也就是没有同归置组内最新版本的对象。这时, OSD 守护进程进入恢复模式并检索最新数据副本,并更新运行图。根据 OSD 挂的时间长短, OSD 的对象和归置组可能落后得厉害,另外,如果挂的是一个失效域(如一个机柜),多个 OSD 会同时重生,这样恢复时间更长、更耗资源。
为保持运营性能, Ceph 进行恢复时会限制恢复请求数、线程数、对象块尺寸,这样在降级状态下也能保持良好的性能。
osd recovery delay start
- 描述
对等关系建立完毕后, Ceph 开始对象恢复前等待的时间(秒)。
- 类型
Float
- 默认值
0
osd recovery max active
- 描述
每个 OSD 一次可以处理的活跃恢复请求数量,增大此值能加速恢复,但它们会增大集群负载。
- 类型
32-bit Integer
- 默认值
3
osd recovery max chunk
- 描述
一次推送的数据块的最大尺寸。
- 类型
64-bit Unsigned Integer
- 默认值
8 << 20
osd recovery max single start
- 描述
某个 OSD 恢复时,各 OSD 即将新开的最大恢复操作数量。
- 类型
64-bit Unsigned Integer
- 默认值
1
osd recovery thread timeout
- 描述
恢复线程最大死亡时值。
- 类型
32-bit Integer
- 默认值
30
osd recover clone overlap
- 描述
在数据恢复期间保留重叠副本。应该总是
true
。- 类型
Boolean
- 默认值
true
osd recovery sleep
- 描述
下一轮恢复或回填操作前睡眠的时间,单位为秒。增大此值会减慢恢复操作,同时客户端操作受到的影响也小些了。
- 类型
Float
- 默认值
0
osd recovery sleep hdd
- 描述
对于机械硬盘,下一轮恢复或回填操作前睡眠的时间,单位为秒。
- 类型
Float
- 默认值
0.1
osd recovery sleep ssd
- 描述
对于固态硬盘,下一轮恢复或回填操作前睡眠的时间,单位为秒。
- 类型
Float
- 默认值
0
osd recovery sleep hybrid
- 描述
OSD 数据在机械硬盘上而 OSD 日志在固态硬盘上时,下一轮恢复或回填操作前睡眠的时间,单位为秒。
- 类型
Float
- 默认值
0.025
分级缓存选项¶
osd agent max ops
- 描述
在高速模式下,每个分级缓存代理同时执行刷回操作的最大数量。
- 类型
32-bit Integer
- 默认值
4
osd agent max low ops
- 描述
在低速模式下,每个分级缓存代理同时执行刷回操作的最大数量。
- 类型
32-bit Integer
- 默认值
2
关于在高速模式下,分级缓存代理何时刷回脏对象,见 cache target dirty high ratio 选项。
杂项¶
osd snap trim thread timeout
- 描述
快照修复线程最大死亡时值。
- 类型
32-bit Integer
- 默认值
60*60*1
osd backlog thread timeout
- 描述
积压线程最大死亡时值。
- 类型
32-bit Integer
- 默认值
60*60*1
osd default notify timeout
- 描述
OSD 默认通告超时,秒。
- 类型
32-bit Unsigned Integer
- 默认值
30
osd check for log corruption
- 描述
根据日志文件查找数据损坏,会耗费大量计算时间。
- 类型
Boolean
- 默认值
false
osd remove thread timeout
- 描述
OSD 删除线程的最大死亡时值。
- 类型
32-bit Integer
- 默认值
60*60
osd command thread timeout
- 描述
命令线程最大超时值。
- 类型
32-bit Integer
- 默认值
10*60
osd command max records
- 描述
限制返回的丢失对象数量。
- 类型
32-bit Integer
- 默认值
256
osd fast fail on connection refused
- 描述
如果启用此选项,崩溃的 OSD 会即刻被已互联的 OSD 和监视器们标记为 down (假设已崩溃 OSD 所在主机还活着)。禁用此选项即可恢复原来的行为,代价是 I/O 操作中途若有 OSD 崩溃可能会导致较长时间的 I/O 停顿。
- 类型
Boolean
- 默认值
true