CEPH ๊ฒฝํ—˜

ํ•˜๋‚˜์˜ ๋””์Šคํฌ์— ๋งž๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ RAID์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ๋•Œ์ž…๋‹ˆ๋‹ค. ์–ด๋ ธ์„ ๋•Œ ์ €๋Š” ์žฅ๋กœ๋“ค๋กœ๋ถ€ํ„ฐ "์–ธ์  ๊ฐ€ RAID๋Š” ๊ณผ๊ฑฐ์˜ ์ผ์ด ๋  ๊ฒƒ์ด๊ณ  ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€๋Š” ์„ธ์ƒ์„ ๋ฒ”๋žŒ์‹œํ‚ฌ ๊ฒƒ์ด๋ฉฐ CEPH๊ฐ€ ๋ฌด์—‡์ธ์ง€์กฐ์ฐจ ๋ชจ๋ฆ…๋‹ˆ๋‹ค"๋ผ๋Š” ๋ง์„ ์ž์ฃผ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ž์‹ ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜์˜ ๋ชฉ์ ์€ ceph์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ตํžˆ๊ณ  ์‘์šฉ ๋ฒ”์œ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ค‘์†Œ ๊ธฐ์—…์ด ์•„๋‹ˆ๋ผ ์ค‘์†Œ๊ธฐ์—…์— ceph๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์ •๋‹นํ•ฉ๋‹ˆ๊นŒ? ์ˆ˜๋…„๊ฐ„์˜ ์šด์˜๊ณผ ๋ช‡ ๋ฒˆ์˜ ๋Œ์ดํ‚ฌ ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค ํ›„์— ๋ชจ๋“  ๊ฒƒ์ด ๊ทธ๋ ‡๊ฒŒ ๋‹จ์ˆœํ•˜์ง€ ์•Š๋‹ค๋Š” ๋ฏธ๋ฌ˜ํ•จ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. CEPH์˜ ๊ธฐ๋Šฅ์€ ๊ด‘๋ฒ”์œ„ํ•œ ๋ฐฐํฌ์— ์žฅ์• ๊ฐ€ ๋˜๊ณ  ์ด๋กœ ์ธํ•ด ์‹คํ—˜์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ทจํ•œ ๋ชจ๋“  ๋‹จ๊ณ„, ์–ป์€ ๊ฒฐ๊ณผ ๋ฐ ๋„์ถœ๋œ ๊ฒฐ๋ก ์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ง€์‹์ด ํ’๋ถ€ํ•œ ์‚ฌ๋žŒ๋“ค์ด ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•˜๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : ํ•ด์„ค์ž๋“ค์€ ์ „์ฒด ๊ธฐ์‚ฌ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ์ผ๋ถ€ ๊ฐ€์ •์—์„œ ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜๋ฅผ ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค.

CEPH ์ „๋žต

CEPH ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ž„์˜ ํฌ๊ธฐ์˜ ์ž„์˜ ์ˆ˜ K๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉฐ ๊ฐ ์กฐ๊ฐ(๊ธฐ๋ณธ์ ์œผ๋กœ 4MB)์„ ์ฃผ์–ด์ง„ ์ˆ˜ N๋ฒˆ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ๋™์ผํ•œ ๋””์Šคํฌ๊ฐ€ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. RAID 1 ๋˜๋Š” N=2์ธ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์–ด์…ˆ๋ธ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค. 2๊ฐœ์˜ ๋””์Šคํฌ๊ฐ€ ์žˆ๊ณ  ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ N=1๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋Š” ๋””์Šคํฌ 2๊ณผ 1์—, ์ผ๋ถ€๋Š” ๋””์Šคํฌ 3๊ณผ 2์—, ์ผ๋ถ€๋Š” 3์™€ 5์— ์žˆ์Šต๋‹ˆ๋‹ค. , RAID๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ด๋Ÿฌํ•œ RAID๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋ณ€ํƒœ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค). ๋” ๋งŽ์€ ๋””์Šคํฌ๊ฐ€ ์žˆ์œผ๋ฉด RAID 5๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CEPH์—๋Š” ๊ฐœ๋ฐœ์ž์˜ ์ดˆ๊ธฐ ๊ฐœ๋…๊ณผ ๋ชจ์ˆœ๋˜๋Š” erasure_code๋ผ๋Š” ์•„๋‚ ๋กœ๊ทธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ณ ๋ ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. RAID 3๋Š” ๋””์Šคํฌ ์ˆ˜๊ฐ€ ์ ๊ณ  ๋ชจ๋‘ ์–‘ํ˜ธํ•œ ์ƒํƒœ๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๊ฐ€ ์‹คํŒจํ•˜๋ฉด ๋‚˜๋จธ์ง€๋Š” ๋””์Šคํฌ๊ฐ€ ๊ต์ฒด๋˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์›๋  ๋•Œ๊นŒ์ง€ ๋ฒ„ํ…จ์•ผ ํ•ฉ๋‹ˆ๋‹ค. N>=XNUMX์ธ CEPH๋Š” ํŠนํžˆ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์‚ฌ๋ณธ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์–‘ํ˜ธํ•œ ๋””์Šคํฌ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋‚˜๋จธ์ง€ XNUMX~XNUMX๊ฐœ์˜ ์‚ฌ๋ณธ์„ ๋งŽ์€ ์ˆ˜์˜ ์˜ค๋ž˜๋œ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ ์˜ค๋ž˜๋œ ๋””์Šคํฌ์˜ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ƒˆ ๋””์Šคํฌ๊ฐ€ ์‚ด์•„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋ฉฐ ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํŒŒ์†๋˜๋ฉด ์„œ๋น„์Šค ์ˆ˜๋ช…์ด XNUMX๋…„ ์ด์ƒ์ธ XNUMX๊ฐœ์˜ ๋””์Šคํฌ๊ฐ€ ๋™์‹œ์— ์‹คํŒจํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋‚ฎ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ.

์‚ฌ๋ณธ ๋ฐฐํฌ์—๋Š” ๋ฏธ๋ฌ˜ํ•จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋Š” ๋” ๋งŽ์€(๋””์Šคํฌ๋‹น ~100๊ฐœ) PG ๋ฐฐํฌ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ ๊ฐ ๊ทธ๋ฃน์€ ์ผ๋ถ€ ๋””์Šคํฌ์— ๋ณต์ œ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. K=6, N=2๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ๋””์Šคํฌ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ™•๋ฅ  ์ด๋ก ์— ๋”ฐ๋ผ ์ด ๋‘ ๋””์Šคํฌ์— ์ ์–ด๋„ ํ•˜๋‚˜์˜ PG๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๊ทธ๋ฃน์ด ์†์‹ค๋˜๋ฉด ํ’€์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ๋ฅผ ์„ธ ์Œ์œผ๋กœ ๋‚˜๋ˆ„์–ด ํ•œ ์Œ์˜ ๋””์Šคํฌ์—๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ถ„ํฌ๋„ ์–ด๋Š ํ•œ ๋””์Šคํฌ์˜ ์žฅ์• ์— ๋‚ด์„ฑ์ด ์žˆ์ง€๋งŒ ๋‘ ๋””์Šคํฌ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค ํ™•๋ฅ ์ด 100%๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ๊ทธ๋Ÿฌ๋‚˜ 3/15, ๊ณ ์žฅ๋‚œ ๊ฒฝ์šฐ์—๋„ ๋””์Šคํฌ 12๊ฐœ - 20/XNUMX๋งŒ. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ์˜ ์—”ํŠธ๋กœํ”ผ๋Š” ๋‚ด๊ฒฐํ•จ์„ฑ์— ๊ธฐ์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒŒ์ผ ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ ์—ฌ์œ  RAM์ด ์‘๋‹ต์„ฑ์„ ํฌ๊ฒŒ ๋†’์ธ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ๊ฐ ๋…ธ๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋ชจ๋“  ๋…ธ๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์†๋„๊ฐ€ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜์‹ฌํ•  ์—ฌ์ง€์—†์ด ๋‹จ์ผ ์„œ๋ฒ„์— ๋น„ํ•ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด์ ์ด๋ฉฐ, ๊ฒŒ๋‹ค๊ฐ€ ๋งค์šฐ ์ ์€ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚ด์žฅ๋œ ํ•˜๋“œ์›จ์–ด NAS์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ CEPH๋Š” ๊ตฌ์‹ ์žฅ๋น„์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ํˆฌ์ž๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์‹ญ TB์˜ ์•ˆ์ •์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค(๋ฌผ๋ก  ๋น„์šฉ์ด ํ•„์š”ํ•˜์ง€๋งŒ ์ƒ์šฉ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์— ๋น„ํ•ด ์ž‘์Œ).

ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌํ˜„

์‹คํ—˜์„ ์œ„ํ•ด ํ๊ธฐ๋œ ์ปดํ“จํ„ฐ Intel DQ57TM + Intel core i3 540 + 16GB RAM์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 2๊ฐœ์˜ 10TB ๋””์Šคํฌ๋ฅผ RAIDXNUMX๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์„ฑ๊ณต์ ์ธ ํ…Œ์ŠคํŠธ ํ›„์— ๋‘ ๋ฒˆ์งธ ๋…ธ๋“œ์™€ ๋™์ผํ•œ ์ˆ˜์˜ ๋””์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ •์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Debian๊ณผ Suse๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. Suse์—๋Š” ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด๋‹ค ์œ ์—ฐํ•œ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ์‹œ์Šคํ…œ์„ ์†์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์–ด๋–ค ๊ฒƒ์„ ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. debootstrap buster๋ฅผ ํ†ตํ•ด ๋ฐ๋น„์•ˆ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. min-base ์˜ต์…˜์€ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์—†๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ’€๋ฒ„์ „๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ํฌ๊ธฐ ์ฐจ์ด๋Š” ๊ฑฐ์Šฌ๋ฆด ์ •๋„๋กœ ํฌ์ง€ ์•Š๋‹ค. ์‹ค์ œ ๋จธ์‹ ์—์„œ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์Šค๋ƒ…์ƒท์„ ์ฐ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. LVM ๋˜๋Š” btrfs(๋˜๋Š” xfs ๋˜๋Š” zfs - ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š์Œ)๋Š” ๊ทธ๋Ÿฌํ•œ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ LVM์˜ ์žฅ์ ์ด ์•„๋‹™๋‹ˆ๋‹ค. btrfs๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ถ€ํŠธ๋กœ๋”๋Š” MBR์— ์žˆ์Šต๋‹ˆ๋‹ค. 50MB ๋””์Šคํฌ๋ฅผ FAT ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋ง‰๋Š” ๊ฒƒ์€ ๋””์Šคํฌ๋ฅผ 1MB ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ” ์˜์—ญ์œผ๋กœ ๋ฐ€์–ด๋„ฃ๊ณ  ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๋ชจ๋“  ๊ณต๊ฐ„์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ์—์„œ 700MB๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. SUSE์˜ ๊ธฐ๋ณธ ์„ค์น˜ ์šฉ๋Ÿ‰์€ 1.1GB ๋˜๋Š” 1.4GB ์ •๋„์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CEPH๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. Debian ์ €์žฅ์†Œ์˜ ๋ฒ„์ „ 12๋Š” ๋ฌด์‹œํ•˜๊ณ  ์‚ฌ์ดํŠธ 15.2.3์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ์˜ ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ "CEPH ์ˆ˜๋™ ์„ค์น˜" ์„น์…˜์˜ ์ง€์นจ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  • ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์— gnupg wget ca-certificates๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•œ ํ›„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ํŒจํ‚ค์ง€ ์„ค์น˜๋Š” ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. apt -y --no-install-recommends install ceph-common ceph-mon ceph-osd ceph-mds ceph-mgr
  • CEPH ์„ค์น˜ ์‹œ ์•Œ ์ˆ˜ ์—†๋Š” ์ด์œ ๋กœ lvm2 ์„ค์น˜๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์œ ๊ฐ์Šค๋Ÿฝ์ง€ ์•Š์ง€๋งŒ ์„ค์น˜๊ฐ€ ์‹คํŒจํ•˜๋ฏ€๋กœ CEPH๋„ ์„ค์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ์ด ํŒจ์น˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    cat << EOF >> /var/lib/dpkg/status
    Package: lvm2
    Status: install ok installed
    Priority: important
    Section: admin
    Installed-Size: 0
    Maintainer: Debian Adduser Developers <[email protected]>
    Architecture: all
    Multi-Arch: foreign
    Version: 113.118
    Description: No-install
    EOF
    

ํด๋Ÿฌ์Šคํ„ฐ ๊ฐœ์š”

ceph-osd - ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋””์Šคํฌ์— ๋Œ€ํ•ด ๊ฐœ์ฒด ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ์— ๋‘ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ, ๋””์Šคํฌ ๋ฒˆํ˜ธ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ํ‚ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด 1KB ์ •๋ณด๋Š” ๋””์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉฐ ๋‹ค์‹œ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ํŒŒํ‹ฐ์…˜์—๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์—†์œผ๋ฉฐ CEPH ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ ์ž๋™ ์„ค์น˜๋Š” ์„œ๋น„์Šค ์ •๋ณด๋ฅผ ์œ„ํ•ด 100MB xfs ํŒŒํ‹ฐ์…˜์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ๋ฅผ MBR๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  16MB๋งŒ ํ• ๋‹นํ–ˆ๋Š”๋ฐ ์„œ๋น„์Šค๊ฐ€ ๋ถˆํ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์—†์ด xfs๋ฅผ ext๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒํ‹ฐ์…˜์€ ์„œ๋น„์Šค๊ฐ€ OSD์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฝ๊ณ  ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋ธ”๋ก ์žฅ์น˜์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ฐพ๋Š” /var/lib/โ€ฆ์— ๋งˆ์šดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ด๋ก ์ ์œผ๋กœ ๋ณด์กฐ ํ•ญ๋ชฉ์„ / var / lib / ...์— ์ฆ‰์‹œ ๋ฐฐ์น˜ํ•˜๊ณ  ์ „์ฒด ๋””์Šคํฌ๋ฅผ ๋ฐ์ดํ„ฐ์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ceph-deploy๋ฅผ ํ†ตํ•ด OSD๋ฅผ ์ƒ์„ฑํ•  ๋•Œ /var/lib/โ€ฆ์— ํŒŒํ‹ฐ์…˜์„ ๋งˆ์šดํŠธํ•˜๋Š” ๊ทœ์น™์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๊ณ  ceph ์‚ฌ์šฉ์ž์—๊ฒŒ ์›ํ•˜๋Š” ๋ธ”๋ก ์žฅ์น˜๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ์„ค์น˜์˜ ๊ฒฝ์šฐ ์ด ์ž‘์—…์„ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ ์„ค๋ช…์„œ์—๋Š” ์ด์— ๋Œ€ํ•ด ๋‚˜์™€ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜๋„๋ก osd ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์ƒ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

ceph-mds. ๋‚ฎ์€ ์ˆ˜์ค€์—์„œ CEPH๋Š” ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€ ๊ธฐ๋Šฅ์€ ๊ฐ 4MB ๋ธ”๋ก์„ ๊ฐ์ฒด๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋Š” ๋™์ผํ•œ ์›๋ฆฌ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํ’€์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์šฉ์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ฐ์ดํ„ฐ์šฉ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ผ์ข…์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ญ์ œํ•˜๊ณ  ๋‘ ํ’€์„ ๋ชจ๋‘ ์ €์žฅํ•˜๋ฉด ๋ณต์›ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์œผ๋กœ ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๋Š” ์ ˆ์ฐจ๊ฐ€ ์žˆ์ง€๋งŒ ํ…Œ์ŠคํŠธํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ceph-mds ์„œ๋น„์Šค๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์—๋Š” ๋ณ„๋„์˜ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์œ ์‚ฌ์„ฑ์„ ํ•˜๋‚˜์— ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” "์ธ๋ฑ์Šค" ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์—ญ์‹œ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ceph-mon - ์ด ์„œ๋น„์Šค๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋งต์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ชจ๋“  OSD์— ๋Œ€ํ•œ ์ •๋ณด, OSD์˜ PG ๋ฐฐํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ชจ๋“  ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‚˜์—๊ฒŒ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. /var/lib/ceph/mon/โ€ฆ/ store.db ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” 26MB์˜ ํฐ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ณ  105๊ฐœ ๊ฐœ์ฒด์˜ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๊ฐœ์ฒด๋‹น 256๋ฐ”์ดํŠธ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋งŽ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๊ฑฐ์ง“๋ง์„ํ•˜๊ณ ์žˆ์–ด). ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์†์ƒ๋˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ CRUSH๋Š” OSD์— ๋”ฐ๋ผ PG๊ฐ€ ์–ด๋–ป๊ฒŒ ์œ„์น˜ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  PG์— ๋”ฐ๋ผ ๊ฐœ์ฒด๊ฐ€ ์–ด๋–ป๊ฒŒ ์œ„์น˜ํ•˜๋Š”์ง€ ๋ณด์—ฌ ์ค€๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด ๋‹จ์–ด๋ฅผ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€๊ณ„์—†์ด ๊ฐœ์ฒด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด๋ถ€์— ์ค‘์•™์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฒซ์งธ, RO ๋ชจ๋“œ์—์„œ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์— ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์ง€๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ๋‚ด๊ฒฐํ•จ์„ฑ์ด ์ž๋™์œผ๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ๋ชจ๋‹ˆํ„ฐ๋Š” ์ตœ๋Œ€ 1๊ฐœ, ์ตœ๋Œ€ XNUMX๊ฐœ์ž…๋‹ˆ๋‹ค. OSD ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ก ์ ์ธ ์ ˆ์ฐจ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ์„ธ ๋ฒˆ, ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ธ ๋ฒˆ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฏธ๋‹ˆ์–ด์ฒ˜ OSD ํŒŒํ‹ฐ์…˜์„ ์šด์˜ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด RAID๋ฅผ ์กฐ๋ฆฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์•„๋งˆ๋„ ์„ฑ๋Šฅ์— ๋งค์šฐ ๋‚˜์œ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

rados-gw - S3 ํ”„๋กœํ† ์ฝœ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋งŽ์€ ํ’€์„ ์ƒ์„ฑํ•˜์ง€๋งŒ ๊ทธ ์ด์œ ๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์‹คํ—˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ceph-mgr - ์ด ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ์ž๋™ ํฌ๊ธฐ ์กฐ์ •์ž…๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ์ˆ˜์˜ PG/OSD๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋น„์œจ์„ ์ˆ˜๋™์œผ๋กœ ์ œ์–ดํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๊ฐ ํ’€์— ๋Œ€ํ•ด ์Šค์ผ€์ผ๋ง์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๊ฒฝ์šฐ ๋ชจ๋“ˆ์ด 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๊ฐ€ ERROR๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์€ Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ํ•„์š”ํ•œ ์ค„์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ธฐ์–ตํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๊ฒŒ์œผ๋ฅด๋‹ค.

์‚ฌ์šฉ ๋œ ์†Œ์Šค ๋ชฉ๋ก :

CEPH ์„ค์น˜
์ „์ฒด ๋ชจ๋‹ˆํ„ฐ ์žฅ์• ์—์„œ ๋ณต๊ตฌ

์Šคํฌ๋ฆฝํŠธ ๋ชฉ๋ก:

debootstrap์„ ํ†ตํ•œ ์‹œ์Šคํ…œ ์„ค์น˜

blkdev=sdb1
mkfs.btrfs -f /dev/$blkdev
mount /dev/$blkdev /mnt
cd /mnt
for i in {@,@var,@home}; do btrfs subvolume create $i; done
mkdir snapshot @/{var,home}
for i in {var,home}; do mount -o bind @${i} @/$i; done
debootstrap buster @ http://deb.debian.org/debian; echo $?
for i in {dev,proc,sys}; do mount -o bind /$i @/$i; done
cp /etc/bash.bashrc @/etc/

chroot /mnt/@ /bin/bash
echo rbd1 > /etc/hostname
passwd
uuid=`blkid | grep $blkdev | cut -d """ -f 2`
cat << EOF > /etc/fstab
UUID=$uuid / btrfs noatime,nodiratime,subvol=@ 0 1
UUID=$uuid /var btrfs noatime,nodiratime,subvol=@var 0 2
UUID=$uuid /home btrfs noatime,nodiratime,subvol=@home 0 2
EOF
cat << EOF >> /var/lib/dpkg/status
Package: lvm2
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install

Package: sudo
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
EOF

exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

apt -yq install --no-install-recommends linux-image-amd64 bash-completion ed btrfs-progs grub-pc iproute2 ssh  smartmontools ntfs-3g net-tools man
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

apt -yq install --no-install-recommends gnupg wget ca-certificates
echo 'deb https://download.ceph.com/debian-octopus/ buster main' >> /etc/apt/sources.list
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
apt update
apt -yq install --no-install-recommends ceph-common ceph-mon

echo 192.168.11.11 rbd1 >> /etc/hosts
uuid=`cat /proc/sys/kernel/random/uuid`
cat << EOF > /etc/ceph/ceph.conf
[global]
fsid = $uuid
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
mon allow pool delete = true
mon host = 192.168.11.11
mon initial members = rbd1
mon max pg per osd = 385
osd crush update on start = false
#osd memory target = 2147483648
osd memory target = 1610612736
osd scrub chunk min = 1
osd scrub chunk max = 2
osd scrub sleep = .2
osd pool default pg autoscale mode = off
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 1
osd pool default pgp num = 1
[mon]
mgr initial modules = dashboard
EOF

ceph-authtool --create-keyring ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
ceph-authtool --create-keyring ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
cp ceph.client.admin.keyring /etc/ceph/
ceph-authtool --create-keyring bootstrap-osd.ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
cp bootstrap-osd.ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
ceph-authtool ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
monmaptool --create --add rbd1 192.168.11.11 --fsid $uuid monmap
rm -R /var/lib/ceph/mon/ceph-rbd1/*
ceph-mon --mkfs -i rbd1 --monmap monmap --keyring ceph.mon.keyring
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-mon@rbd1
systemctl start ceph-mon@rbd1
ceph mon enable-msgr2
ceph status

# dashboard

apt -yq install --no-install-recommends ceph-mgr ceph-mgr-dashboard python3-distutils python3-yaml
mkdir /var/lib/ceph/mgr/ceph-rbd1
ceph auth get-or-create mgr.rbd1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-rbd1/keyring
systemctl enable ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_port 7000
ceph dashboard ac-user-create root 1111115 administrator
systemctl stop ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1

OSD ์ถ”๊ฐ€(์ผ๋ถ€)

apt install ceph-osd

osdnum=`ceph osd create`
mkdir -p /var/lib/ceph/osd/ceph-$osdnum
mkfs -t xfs /dev/sda1
mount -t xfs /dev/sda1 /var/lib/ceph/osd/ceph-$osdnum
cd /var/lib/ceph/osd/ceph-$osdnum
ceph auth get-or-create osd.0 mon 'profile osd' mgr 'profile osd' osd 'allow *' > /var/lib/ceph/osd/ceph-$osdnum/keyring
ln -s /dev/disk/by-partuuid/d8cc3da6-02  block
ceph-osd -i $osdnum --mkfs
#chown ceph:ceph /dev/sd?2
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-osd@$osdnum
systemctl start ceph-osd@$osdnum

๊ฐœ์š”

CEPH์˜ ์ฃผ์š” ๋งˆ์ผ€ํŒ… ์ด์ ์€ ๋ฐ์ดํ„ฐ ์œ„์น˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ CRUSH์ž…๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋Š” ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํด๋ผ์ด์–ธํŠธ์— ์ „ํŒŒํ•œ ํ›„ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜๋Š” ๋…ธ๋“œ์™€ ์›ํ•˜๋Š” OSD๋ฅผ ์ง์ ‘ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. CRUSH๋Š” ์ค‘์•™ ์ง‘์ค‘ํ™”๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋ฆฐํŠธํ•ด์„œ ๋ฒฝ์— ๊ฑธ์–ด๋‘˜ ์ˆ˜๋„ ์žˆ๋Š” ์ž‘์€ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์‹ค์Šต์„ ํ†ตํ•ด CRUSH๊ฐ€ ์™„์ „ํ•œ ๋งต์ด ์•„๋‹˜์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  OSD์™€ CRUSH๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ํŒŒ๊ดดํ•˜๊ณ  ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ณต์›ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ๋ถ€ํ„ฐ ๊ฐ ๋ชจ๋‹ˆํ„ฐ๋Š” ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ผ๋ถ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค. ๋ฏธ๋ฏธํ•œ ์–‘์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ์— ์ œํ•œ์„ ๋‘์ง€ ์•Š์ง€๋งŒ ์•ˆ์ „์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์‹œ์Šคํ…œ์„ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ์— ์„ค์น˜ํ•˜์—ฌ ๋””์Šคํฌ ์ ˆ์•ฝ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋…ธ๋“œ๊ฐ€ XNUMX๊ฐœ ๋ฏธ๋งŒ์ธ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ ๊ทน์ ์ธ ๊ฐœ๋ฐœ์ž ์ •์ฑ…. ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๋‹ค. ์ˆ˜์ค€์˜ ๋ฌธ์„œํ™”: "๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๊ฐ์‚ฌํ•˜์ง€๋งŒ ๋งค์šฐ ๋นˆ์•ฝํ•ฉ๋‹ˆ๋‹ค." ๋‚ฎ์€ ์ˆ˜์ค€์—์„œ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์ง€๋งŒ ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ฌธ์„œ๊ฐ€ ๋„ˆ๋ฌด ํ”ผ์ƒ์ ์ด๋ฏ€๋กœ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๊ธด๊ธ‰ ์ƒํ™ฉ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์กฐ์น˜๋ฅผ ์œ„ํ•œ ์˜ต์…˜: CEPH๋ฅผ ํฌ๊ธฐํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋‹ค์ค‘ ๋””์Šคํฌ btrfs(๋˜๋Š” xfs, zfs) ์‚ฌ์šฉ, ์ง€์ •๋œ ์กฐ๊ฑด์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” CEPH์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ •๋ณด ๋ฐฐ์šฐ๊ธฐ, ๊ณ ๊ธ‰ ๊ต์œก์œผ๋กœ ์ž์‹ ์˜ ์Šคํ† ๋ฆฌ์ง€ ์ž‘์„ฑ ์‹œ๋„ .

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€