Ceph NAUTILUS(v14.0.x) Version

| 2019년 8월 16일 | 0 Comments

 

2019. 03월에 Ceph v14.2.0 nautilus 가 업데이트 되었습니다.
이번버전에 이름은 nautilus (앵무조개) 입니다. 메이전버전(v14.2.0) 업데이트 이후 벌써 v14.2.2(2019.07) 까지 릴리즈 되었으니 어느정도 안정화 되었다고 봐도 될것 같습니다.

jewel (v10.2.x) 에서부터 kraken(v11.2.x), luminous(v12.2.x), mimic(v13.2.x) 까지 계속해서 편의성과 기능들이 계속해서 향샹되고 있는데 이번 nautilus(v14.2.x) 설치하면서 체크해본 테스트 내역들을 정리해봅니다.

 

MAJOR CHANGES FROM MIMIC 
https://docs.ceph.com/docs/master/releases/nautilus/#v14-2-0-nautilus

1. Dashboard
기존에 비해 확실히 많이 바뀌었습니다.
기존이 모니터링 중심이였다면 이번부터는 대시보드에서 기능을 설정하고 모니터링하는 부분이 다양화 되었으며 여러 사용자와 role 부여가 가능해졌습니다.
기존에 비해 Management 하기 확실히 쉬워졌다는거……

Dashboard:
      The Ceph Dashboard has gained a lot of new functionality:
            – Support for multiple users / roles
            – SSO (SAMLv2) for user authentication
            – Auditing support
            – New landing page, showing more metrics and health info
            – I18N support
            – REST API documentation with Swagger API

     New Ceph management features include:
           – OSD management (mark as down/out, change OSD settings, recovery profiles)
           – Cluster config settings editor
           – Ceph Pool management (create/modify/delete)
           – ECP management
           – RBD mirroring configuration
           – Embedded Grafana Dashboards (derived from Ceph Metrics)
           – CRUSH map viewer
           – NFS Ganesha management
           – iSCSI target management (via Ceph iSCSI Gateway)
           – RBD QoS configuration
           – Ceph Manager (ceph-mgr) module management
           – Prometheus alert Management

 

Dashboard INSTALL

Ubuntu
# ceph –version
ceph version 14.2.2 (4f8fa0a0024755aae7d95567c63f11d6862d55be) nautilus (stable)

# ceph mgr module enable dashboard
Error ENOENT: all mgr daemons do not support module ‘dashboard’, pass –force to force enablement

# apt install ceph-mgr-dashboard

# ceph mgr module enable dashboard
# ceph mgr module ls

※ ERROR
# ceph -s
cluster:
id: 0d30e139-5c8d-4bd2-87b2-6c171760ee2e
health: HEALTH_ERR
Module ‘dashboard’ has failed: No module named routes

services:
mon: 1 daemons, quorum ceph-mon (age 40m)
mgr: ceph-mon(active, since 39m)
osd: 3 osds: 0 up (since 10m), 3 in (since 15h)

data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:

# apt-get install python-routes

계정 / 패스워드 / Role 생성
# ceph dashboard ac-user-create <ID> <PASSWORD> administrator
{“username”: “<ID>”, “lastUpdate”: 1565745917, “name”: null, “roles”: [“administrator”], “password”: “$2b$12$8mZX.MjSSSmhiGgEOS4me5Oo0Ay8GfuobdP6gmXvVpgVnzXA11My”, “email”: null}

 

 2. QOS

Ceph 단독으로 스토리지를 구성해서 사용하였을경우 가장 아쉬웠던 부분중 하나입니다.
mimic 에서부터 QOS 기능이 추가되었지만 Total IOPS에 대해 제어가 가능했던 부분이 다양하게 확장되었습니다.
그나마 OpenStack과 함께 사용하였을 경우 Cinder(front-end) Project내에서 제어를 할 수 있었으나 이제는 스토리지내(back-end)에서도 QOS 설정이 가능해 좀더 다양하게 활용할수 있게되었습니다.
Pool 및 image 단위로도 설정이 가능하여 개별 관리가 확실히 편해졌다는거……

image-meta list (image-meta ls) Image metadata list keys with values.

image-meta remove (image-meta rm) Image metadata remove the key and value associated.
image-meta set Image metadata set key with value.

image 단위 QOS 
 :: image-meta 설정

# rbd image-meta list queens_volumes/volume-7b4797af-527b-4ddb-9352-b003dd5662e1
There are 0 metadata on this image.

# rbd image-meta set queens_volumes/volume-7b4797af-527b-4ddb-9352-b003dd5662e1 conf_rbd_qos_iops_limit 1000

# rbd image-meta list queens_volumes/volume-7b4797af-527b-4ddb-9352-b003dd5662e1
There is 1 metadatum on this image:
Key Value
conf_rbd_qos_iops_limit 1000

 :: image-meta 삭제
# rbd image-meta remove queens_volumes/volume-7b4797af-527b-4ddb-9352-b003dd5662e1 conf_rbd_qos_iops_limit

# rbd image-meta list queens_volumes/volume-7b4797af-527b-4ddb-9352-b003dd5662e1
There are 0 metadata on this image.

Pool 단위 QOS 설정
# rbd config pool list test_volumes_cephfs |grep qos
rbd_qos_bps_burst 0 config
rbd_qos_bps_limit 0 config
rbd_qos_iops_burst 0 config
rbd_qos_iops_limit 0 pool
rbd_qos_read_bps_burst 0 config
rbd_qos_read_bps_limit 0 config
rbd_qos_read_iops_burst 0 config
rbd_qos_read_iops_limit 10 config
rbd_qos_schedule_tick_min 50 config
rbd_qos_write_bps_burst 0 config
rbd_qos_write_bps_limit 0 config
rbd_qos_write_iops_burst 0 config
rbd_qos_write_iops_limit 0 config

# rbd config pool set test_volumes_cephfs rbd_qos_iops_limit 50

# rbd config pool list test_volumes_cephfs |grep qos
rbd_qos_bps_burst 0 config
rbd_qos_bps_limit 0 config
rbd_qos_iops_burst 0 config
rbd_qos_iops_limit 50 pool
rbd_qos_read_bps_burst 0 config
rbd_qos_read_bps_limit 0 config
rbd_qos_read_iops_burst 0 config
rbd_qos_read_iops_limit 10 config
rbd_qos_schedule_tick_min 50 config
rbd_qos_write_bps_burst 0 config
rbd_qos_write_bps_limit 0 config
rbd_qos_write_iops_burst 0 config
rbd_qos_write_iops_limit 0 config

 

대시보드에서도 설정내역 확인이 가능합니다.

 

Benchmark
rbd bench 툴로 확인해보면 적용상태를 확인해 볼 수 있습니다.
example)
https://edenmal.moe/post/2017/Ceph-rbd-bench-Commands/
# rbd bench –io-type read –io-size 4096 –io-threads 1 <Pool>/<images>
# rbd bench –io-type write –io-size 4096 –io-threads 1 <Pool>/<images>

 

QOS Settings 세부값은 아래 링크를 통해 확인하세요
https://docs.ceph.com/docs/master/rbd/rbd-config-ref/

Tags: , , , , ,

Category: LINUX, 가상화/클라우드, 네트워크/관제, 솔루션/IT기타

이 경현

About the Author ()

http://www.cloudv.kr (주)스마일서브 제2연구소