Ceph 생성 풀/크러시 매핑 max_size

Ceph 생성 풀/크러시 매핑 max_size

기본 버킷 유형이 있습니다.

type 0 osd
type 1 host
...
type 10 root

세 개의 호스트 버킷:

host cluster01a {
id -2       # do not change unnecessarily
# weight 1.607
alg straw
hash 0  # rjenkins1
item osd.0 weight 0.268
item osd.1 weight 0.268
item osd.2 weight 0.268
item osd.3 weight 0.268
item osd.4 weight 0.268
item osd.5 weight 0.268
}

host cluster01b {
id -3       # do not change unnecessarily
# weight 1.607
alg straw
hash 0  # rjenkins1
item osd.6 weight 0.268
item osd.7 weight 0.268
item osd.8 weight 0.268
item osd.9 weight 0.268
item osd.10 weight 0.268
item osd.11 weight 0.268
}

host cluster01c {
id -4       # do not change unnecessarily
# weight 1.607
alg straw
hash 0  # rjenkins1
item osd.12 weight 0.268
item osd.13 weight 0.268
item osd.14 weight 0.268
item osd.15 weight 0.268
item osd.16 weight 0.268
item osd.17 weight 0.268
}

그리고 배럴 루트

root default {
id -1       # do not change unnecessarily
# weight 4.820
alg straw
hash 0  # rjenkins1
item cluster01a weight 1.607
item cluster01b weight 1.607
item cluster01c weight 1.607
}

그리고 이 규칙

rule replicated_ruleset {
ruleset 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
step emit
}
rule replicated_ruleset_over2hosts {
ruleset 1
type replicated
min_size 2
max_size 2
step take default
step chooseleaf firstn 2 type host
step emit

오류가 발생하는 이유는 무엇입니까?

$ceph osd pool create 2hostspool 512 512 replicated replicated_ruleset_over2hosts
Error EINVAL: pool size is bigger than the crush rule max size

min_size: 풀이 이 복제본 수보다 적게 생성하는 경우 CRUSH는아니요이 규칙을 선택하세요. max_size: 풀이 이 개수보다 많은 복제본을 생성하면 CRUSH는아니요이 규칙을 선택하세요.

원천:http://docs.ceph.com/docs/mimic/rados/Operations/crush-map-edits/

답변1

기본 풀 크기는 아마도 3(또는 그 이상?)일 것입니다. 다음을 통해 얻을 수 있습니다:

host:~ # ceph daemon mon.<MON> config show | grep osd_pool_default_size
    "osd_pool_default_size": "3",

규칙에 따라 변경하세요.

host:~ # ceph daemon mon.<MON> config set osd_pool_default_size 2
{
    "success": "osd_pool_default_size = '2' (not observed, change may require restart) "
}

기본 풀 크기에 대한 영구적인 변경 사항은 /etc/ceph/ceph.conf에서 구성되어야 합니다.

관련 정보