Ceph ๊ธฐ๋ณธ ๋์ ์๋ฆฌ
2021. 2. 21. 23:16ใ๐ฏ OpenSource/Ceph
Overview
๋ณธ ๊ธ์ Dynamic Data Placement with Red Hat Ceph Storage์ ๋ณด๊ณ ์ด๋ก ์ ์ผ๋ก ์ ๋ฆฌํ ๊ฒ์ผ๋ก ์ถ๊ฐ์ ์ธ ๊ณต๋ถ๊ฐ ํ์ํ๋ค. ์ด ๊ธ์ ๋ชจ๋ ์ฌ์ง์ ๊ธ์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์์ youtube ์์์์ ์บก์ฒํ ๊ฒ์ด๋ค.
Contents
Basic Architecture
- RADOS (reliable, autonomous, distributed object store)
- ceph์ ๊ธฐ๋ฐ์ด ๋๋ cluster๋ก, ์ค์ง์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ณณ์ด๋ค.
- osd, monitor, manager ๋ฑ์ด ์ฌ๋ผ๊ฐ๋ค.
- LIBRADOS
- application์ด rados์ ์ง์ ์ ์ผ๋ก ์ ์ํ ์ ์๋๋ก ํ์ฉํ๋ค.
- HTTP overhead ๋ฐฉ์ง
- rados cluster์ socket ๋ฐฉ์์ผ๋ก ํต์ .
- RGW
- object storage๋ฅผ ์ํ gateway๋ก, S3 ๋ฐ swift์ ํธํ๋๋ค.
- ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด, S3 ์์ฒญ์ด ๋ค์ด์ค๋ฉด radosgateway๋ librados์๊ฒ ์ ๋ฌํ๋ค.
- RBD (Rados Block Device)
- ๋ฐ์ดํฐ ๋ถ์ค์ ์ต์ํํ๋ฉฐ ๋ถ์ฐ๋ block storage ๊ตฌํ
- ์์ ์ฌ์ง์ ๊ฒฝ์ฐ, openstack์ผ๋ก ๊ตฌ์ถ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ vm์์ block storage์ access์์ฒญ์ด ์ผ์ด๋๋ฉด
hypervisor์์ ํด๋น request๋ฅผ librbd๋ก ์ ๋ฌํ๋ค. - Openstack ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ์คํ์์ค๋ค๊ณผ๋ ํจ๊ป ์ธ ์ ์๋ค.
- CEPHFS
- ceph file storage ์ ๊ณต
OSD (Object Storage Daemon)
- ํ๋์ osd๋ ํ๋์ disk์ ์ฌ๋ผ๊ฐ๋ค.
- Cluster ๋ด์ 10s~10000s ๊ฐ์ osd๋ฅผ ์ฌ๋ฆด ์ ์์ผ๋ ์ต์ 100๊ฐ๋ ์ฌ๋ฆฌ๋ ๊ฒ์ด ์ฑ๋ฅ์ ์ข๋ค.
- ์ ์ฅ์์ object ์ ์ฅ์ ์ํํ๋ค.
- peer for replication, recovery, / rebalancing
Monitor
- cluster์ ๊ฐ์ข map์ ์ํ๋ฅผ ์ ์งํ๋ ์ญํ ์ ํ๋ค.
- ๋ถ์ฐ ์์คํ ์ธ ๋งํผ osd์ ์ํ(์ ์ ๋์ ์ค์ธ์ง, ์ด๋ค disk์ matching ์ค์ด๊ณ disk ์ํ๋ ์ด๋ค์ง) ๋ฑ์ ๋ํด ์์์ผ ํ๋ค.
- monitor๋ ์์ ์ฌํญ๋ค์ ์ฒดํฌํ์ฌ ์์ฒญ์ ์ด๋ป๊ฒ ๋ณด๋ผ์ง ํ๋จํ๋ค.
- ํ์์ monitor๋ฅผ ๋์ด ์ฟผ๋ผ์ ํ๋๋ก ํ๋ค.
- ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ค๋ฃจ์ง๋ ์์.
Manager
- luminous ๋ฒ์ ๋ถํฐ ๋ฑ์ฅํ ๋ฐ๋ชฌ
- external monitoring๊ณผ management๋ฅผ ์ํด ์ถ๊ฐ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
- manager framework interface๋ฅผ ํตํด ๋ค์ํ ๋ชจ๋๊ณผ์ ํธํ์ฑ์ ๋์ผ ์ ์๋ค.
- ๋ชจ๋ ์์
Object Placement with crush
- CRUSH : Controlled Replication Under Scalable Hashing
- client์ธก์์ ํด๋น object๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ ์ด๋ค osd์ ์ ๊ทผํ ์ง ์์์ผ ํ๋ค.
- ์ด์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด crush ์๊ณ ๋ฆฌ์ฆ
- ์ ๊ทผ ๋ฐฉ์ (object storage, block storage, ceph file system๋ฑ)์ ์๊ด์์ด crush ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋์ผํ๋ค
- PGs
- 100๊ฐ๊ฐ ๋๋ osd์ ๊ฑธ์ณ ๋ณต์ ๋์ด ์๋ ์๋ง์ object๋ฅผ ๊ด๋ฆฌํ๋๊ฒ์ ํ๋ค๋ค. ๋ฐ๋ผ์ ๋ชจ๋ object๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋์ ์, ์ด๋ฅผ PG(placement group)์ผ๋ก ์์ฝ๊ฒ ๋ค๋ฃจ๋๋ก ํ๋ค.
- object๊ฐ ์ ์ฅ๋ osd๋ฅผ ํ์ํ๊ธฐ ์ํด์๋ pool์ placement group์ด๋ผ๋ sub device๋ก ๋๋๊ฒ ๋๋ค.
- object name hash % number of pgs in the pool
- ์ด๋์ pool : cluster๋ฅผ ๋
ผ๋ฆฌ์ ์ผ๋ก ๋๋ ํํฐ์
-
โ A Placement Group (PG) is a logical collection of objects that are replicated on OSDs to provide reliability in a storage system. Depending on the replication level of a Ceph pool, each PG is replicated and distributed on more than one OSD of a Ceph cluster. You can consider a PG as a logical container holding multiple objects, such that this logical container is mapped to multiple OSDs
- 100๊ฐ๊ฐ ๋๋ osd์ ๊ฑธ์ณ ๋ณต์ ๋์ด ์๋ ์๋ง์ object๋ฅผ ๊ด๋ฆฌํ๋๊ฒ์ ํ๋ค๋ค. ๋ฐ๋ผ์ ๋ชจ๋ object๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋์ ์, ์ด๋ฅผ PG(placement group)์ผ๋ก ์์ฝ๊ฒ ๋ค๋ฃจ๋๋ก ํ๋ค.
Erasure Coding
๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ธฐ ์ํ ๋ฐฉ์์ผ๋ก ๋๊ฐ์ง๊ฐ ์๋ค.
- replicated ๋ฐฉ์
- default : ํด๋น pool์์ ๊ฐ๊ฐ์ pg๋ฅผ replicated 3ํ๋ ๊ฒ.
- erasure coded ๋ฐฉ์
- ์ ์ฅ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์๋ค.
- ํ์ง๋ง, ํ๋์ osd๋ฅผ ์์ผ๋ฉด ๋ค๋ฅธ osd๋ค์ ๋ชจ๋ ์ฝ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌ์์ผ์ผ ํ๋ค.
- cluster recovery๊ฐ ๋ ์ด๋ ค์์ง.
์ฐธ๊ณ ์๋ฃ
Ceph CRUSH Map, Bucket ์๊ณ ๋ฆฌ์ฆ
Dynamic Data Placement with Red Hat Ceph Storage
'๐ฏ OpenSource > Ceph' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ceph ] Rados Block Device (RBD) ์ค์นํ๊ธฐ (0) | 2022.05.21 |
---|---|
[ ceph-deploy ] 02. ceph cluster ๋ฐฐํฌํ๊ธฐ (0) | 2022.02.27 |
[ ceph-deploy ] 01. ์ฌ์ ์์ (0) | 2022.02.26 |