메뉴 닫기

Method for using the SATA and SSD in ceph – about CRUSHMAP

ceph node 구성시 osd를 sata와 ssd를 혼용하여 사용할 경우가 있다.
데이터의 흐름과 관련된 것으로 각 사용자의 구성계획에서 나뉘게 된다.
사용에 대한것은 사용자 본인의 계획에 의한 것으로 내용은 생략. 설정으로 바로 들어간다.

sata와 ssd를 함께 사용하여 운용하기 위해 crushmap 을 사용한다.
crushmap에 대한 설명은 ceph 공식 문서인 http://docs.ceph.com/docs/jewel/rados/operations/crush-map/ 을 참고.

crushmap의 내용을 살펴보자
TYPE, BUCKETS, RULES 등이 있으며 각 내용의 설명도 위의 ceph공식문서 링크에 나와 있으므로 본 문서에서는 설명은 생략.
(본 문서에서는 crushmap의 구도만 알아보기로한다.)

# begin crush map #crushmap 정의
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 0
tunable chooseleaf_vary_r 0
..
..

# devices #장치 정의

device 1 osd.1
device 2 osd.2
device 3 osd.3
..
..

# types #타입 정의

type 1 ssd-osd
type 2 sata-osd
..
..

# buckets # 호스트에 대한 각 osd 정의
sata-osd host-sata-a {
id -3
alg straw
hash 0
item osd.2 weight 10.90219
}
..
..
sata-osd host-ssd-a {
id -3
alg straw
hash 0
item osd.2 weight 0.91750
}
..
..
# SATA root 와 SSD root 정의 # 디스크형태에 대한 root 구분 정의이다.

root sata {
id -5
alg straw
hash 0 # rjenkins1
item host-sata-a weight 10.90219
}

root ssd {
id -100
alg straw
hash 0 # rjenkins1
item host-ssd-a weight 0.91750
}

각각을 정의 했으면 그에 룰을 적용시켜야 한다. 아래와 같음.
# rules

rule sata-all {
ruleset 0
type replicated
min_size 1
max_size 1
step take sata
step chooseleaf firstn 0 type sata-osd
step emit
}

rule ssd-all {
ruleset 1
type replicated
min_size 1
max_size 1
step take ssd
step chooseleaf firstn 0 type ssd-osd
step emit
}

* 참고로 ceph.conf 파일 수정시 replica 에 대한 내용을 설명한 바 있다. ceph.conf 와 위의 rule에 있는것을 일치 시켜라.
일치하지 않으면 pool 생성시 오류 발생.

위의 crushmap을 살펴보면 각각 맞춰줘야 하는 부분들이 눈에 보일것이다.

(type명, rule명, host명, ID등)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다