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

| 2016년 10월 21일 | 0 Comments

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등)

Category: 솔루션/IT기타

유 혁

About the Author ()