Kubernetes์˜ ์Šคํ† ๋ฆฌ์ง€: OpenEBS vs Rook(Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

Kubernetes์˜ ์Šคํ† ๋ฆฌ์ง€: OpenEBS vs Rook(Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

์—…๋ฐ์ดํŠธ!. ๋Œ“๊ธ€์—์„œ ๋…์ž ์ค‘ ํ•œ ๋ช…์ด ์‹œ๋„ํ•ด ๋ณด๋ผ๊ณ  ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฐ์Šคํ„ฐ (์–ด์ฉŒ๋ฉด ๊ทธ ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ž‘์—…ํ•˜๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์Œ) ๊ทธ๋ž˜์„œ ์ด ์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋„ ์ผ๋‹ค ์„ค์น˜๋ฐฉ๋ฒ• ํฌ์ŠคํŒ…, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‚˜๋จธ์ง€ ํ”„๋กœ์„ธ์Šค์™€ ๋งค์šฐ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์†”์งํžˆ ํฌ๊ธฐํ•˜๊ณ  ํฌ๊ธฐํ–ˆ์–ด์š” Kubernetes (์ ์–ด๋„ ์ง€๊ธˆ์€). ๋‚˜๋Š” ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค ํ—ค๋กœ ๊พธ. ์™œ? ๋ณด๊ด€ ๋•Œ๋ฌธ์—! ๋‚ด๊ฐ€ Kubernetes ์ž์ฒด๋ณด๋‹ค ์Šคํ† ๋ฆฌ์ง€์— ๋” ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ธฐ์šธ์ผ ๊ฒƒ์ด๋ผ๊ณ  ๋ˆ„๊ฐ€ ์ƒ๊ฐ์ด๋‚˜ ํ–ˆ์„๊นŒ์š”? ๋‚˜๋Š” ์‚ฌ์šฉํ•œ๋‹ค ํ—ค์ธ ๋„ˆ ํด๋ผ์šฐ๋“œ๊ฐ€๊ฒฉ์ด ์ €๋ ดํ•˜๊ณ  ์„ฑ๋Šฅ์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๋ชฉ์žฅ ๊ฒฝ์˜์ž. ๋ชจ๋“  ๊ฒƒ์„ ์Šค์Šค๋กœ ๋ฐฐ์šฐ๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Google/Amazon/Microsoft/DigitalOcean ๋“ฑ์˜ ๊ด€๋ฆฌํ˜• Kubernetes ์„œ๋น„์Šค๋ฅผ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ์•Œ๋œฐํ•˜๋‹ค.

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

6~7๊ฐœ์˜ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆEBS

๋‚ด๊ฐ€ ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ์ด์ „ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋ชฉ๋ก์— ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์˜ต์…˜์„ ํ…Œ์ŠคํŠธํ•œ ํ›„ ์ฒ˜์Œ์—๋Š” OpenEBS๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. OpenEBS๋Š” ์„ค์น˜์™€ ์‚ฌ์šฉ์ด ๋งค์šฐ ์‰ฝ์ง€๋งŒ, ์†”์งํžˆ ๋กœ๋“œ ์ค‘์ธ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋กœ ํ…Œ์ŠคํŠธํ•œ ๊ฒฐ๊ณผ ์„ฑ๋Šฅ์— ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ž™ ์ฑ„๋„ ๋„์›€์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ•ญ์ƒ ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ๋‹ค๋ฅธ ์˜ต์…˜์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ข‹์ง€ ์•Š์•„ ํ…Œ์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. OpenEBS์—๋Š” ํ˜„์žฌ 3๊ฐœ์˜ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ด ์žˆ๋Š”๋ฐ cStor์— ๋Œ€ํ•œ ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๋ฅผ ์˜ฌ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„์ง Jiva ๋ฐ LocalPV์— ๋Œ€ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ Jiva๊ฐ€ ์กฐ๊ธˆ ๋” ๋น ๋ฅด๋ฉฐ LocalPV๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋น ๋ฅด๋ฉฐ ์ง์ ‘ ๋””์Šคํฌ ๋ฒค์น˜๋งˆํฌ๋ณด๋‹ค ๋‚˜์˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LocalPV์˜ ๋ฌธ์ œ์ ์€ ๋ณผ๋ฅจ์ด ์ค€๋น„๋œ ๋…ธ๋“œ์—์„œ๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ณ  ๋ณต์ œ๊ฐ€ ์ „ํ˜€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ํ†ตํ•ด ๋ฐฑ์—…์„ ๋ณต์›ํ•˜๋Š” ๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”ํŠธ ๋…ธ๋“œ ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์— ๊ด€ํ•ด ์ด์•ผ๊ธฐํ•˜๋ฉด cStor๋Š” Velero์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ์‹œ์ ์— ์Šค๋ƒ…์ƒท์˜ ์˜คํ”„์‚ฌ์ดํŠธ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” Velero-Restic์„ ์‚ฌ์šฉํ•œ ํŒŒ์ผ ์ˆ˜์ค€ ๋ฐฑ์—…๋ณด๋‹ค ๋” ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ผ๋‹ค ์—ฌ๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ, ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—… ๋ฐ ๋ณต์›์„ ๋” ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์œผ๋กœ OpenEBS๋ฅผ ์ •๋ง ์ข‹์•„ํ•˜๋Š”๋ฐ ์„ฑ๋Šฅ์ด...

์‚ฌ๊ธฐ๊พผ

Rook์€ ์˜คํ”ˆ ์†Œ์Šค์ด๊ธฐ๋„ ํ•˜๋ฉฐ, ๋ชฉ๋ก์˜ ๋‚˜๋จธ์ง€ ์˜ต์…˜๊ณผ ๊ตฌ๋ณ„๋˜๋Š” ์ ์€ ๋‹ค์–‘ํ•œ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์กฐ์ •์ž๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์„ธํ”„, EdgeFS ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๊ฒƒ๋“ค์€ ์ž‘์—…์„ ํฌ๊ฒŒ ๋‹จ์ˆœํ™”์‹œํ‚ต๋‹ˆ๋‹ค. ๋ช‡ ๋‹ฌ ์ „์— EfgeFS๋ฅผ ์‹œ๋„ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์„œ ์ฃผ๋กœ Ceph๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. Ceph๋Š” ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ S3/Swift ๋ฐ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ํ˜ธํ™˜๋˜๋Š” ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Ceph์—์„œ ์ œ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ ์€ ๋ณผ๋ฅจ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋””์Šคํฌ์— ๋ถ„์‚ฐ์‹œ์ผœ ๋ณผ๋ฅจ์ด ๋‹จ์ผ ๋””์Šคํฌ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŽธ์•ˆํ•ด์š”. ๋˜ ๋‹ค๋ฅธ ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์€ ํด๋Ÿฌ์Šคํ„ฐ์— ๋””์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ชจ๋“  ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žฌ๋ฐฐํฌ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Ceph์—๋Š” ์Šค๋ƒ…์ƒท์ด ์žˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ Rook/Kubernetes์—์„œ๋Š” ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋‚˜๋Š” ์ด๊ฒƒ์— ๊นŠ์ด ๋“ค์–ด ๊ฐ€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์˜คํ”„์‚ฌ์ดํŠธ ๋ฐฑ์—…์ด ์—†์–ด์„œ ๋ฒจ๋ ˆ๋กœ/๋ ˆ์Šคํ‹ฑ์œผ๋กœ ๋ญ”๊ฐ€๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์‹œ์  ์Šค๋ƒ…์ƒท์€ ์•„๋‹ˆ๊ณ  ํŒŒ์ผ ๋‹จ์œ„ ๋ฐฑ์—…๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. Rook์—์„œ ์ œ๊ฐ€ ์ •๋ง ์ข‹์•„ํ–ˆ๋˜ ์ ์€ Ceph๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‰ฌ์šด์ง€์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๋ณต์žกํ•œ ๋‚ด์šฉ์„ ์ˆจ๊ธฐ๊ณ  ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด Ceph์™€ ์ง์ ‘ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ Ceph ๋ณผ๋ฅจ์˜ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ ์ค‘์— ๊ณ„์†ํ•ด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์ด๋กœ ์ธํ•ด Ceph๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด Ceph ์ž์ฒด์˜ ๋ฒ„๊ทธ์ธ์ง€, ์•„๋‹ˆ๋ฉด Rook์ด Ceph๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ธ์ง€๋Š” ์•„์ง ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •์„ ๋งŒ์ง€์ž‘๊ฑฐ๋ฆฌ๊ณ  ๋‚˜์•„์กŒ์œผ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. Ceph๋Š” ์•„๋ž˜ ๋ฒค์น˜๋งˆํฌ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹œ๋ณด๋“œ๋„ ์ž˜ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

๋žœ์ฒ˜ ๋กฑํ˜ผ

์ €๋Š” ๋กฑํ˜ผ์„ ์ •๋ง ์ข‹์•„ํ•ด์š”. ๋‚ด ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์ด ์œ ๋งํ•œ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค. ์‚ฌ์‹ค, ๊ฐœ๋ฐœ์ž ์ž์‹ (Rancher Labs)์€ ์ด๊ฒƒ์ด ์•„์ง ์ž‘์—… ํ™˜๊ฒฝ์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ •ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋Š” ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ด๊ณ  ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ(์•„์ง ์ตœ์ ํ™”ํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ) ๋ณผ๋ฅจ์ด ํฌ๋“œ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋งค์šฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ์ตœ์•…์˜ ๊ฒฝ์šฐ ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฐฑ์—…์„ ๋ณต์›ํ•œ ํ›„ ๋˜๋Š” ์ตœ์•…์˜ ๊ฒฝ์šฐ 15~16๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์Šค๋ƒ…์ƒท๊ณผ ์ด๋Ÿฌํ•œ ์Šค๋ƒ…์ƒท์˜ ์˜คํ”„์‚ฌ์ดํŠธ ๋ฐฑ์—…์ด ์žˆ์ง€๋งŒ ๋ณผ๋ฅจ์—๋งŒ ์ ์šฉ๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฑ์—…ํ•˜๋ ค๋ฉด ์—ฌ์ „ํžˆ Velero์™€ ๊ฐ™์€ ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—… ๋ฐ ๋ณต์›์€ ๋งค์šฐ ์•ˆ์ •์ ์ด์ง€๋งŒ ๋„ˆ๋ฌด ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์ •๋ง์ด์ง€ ์—„์ฒญ๋‚˜๊ฒŒ ๋Š๋ฆฝ๋‹ˆ๋‹ค. Longhorn์—์„œ ์ค‘๊ฐ„ ์ •๋„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์—…ํ•  ๋•Œ CPU ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์‹œ์Šคํ…œ ๋กœ๋“œ๊ฐ€ ๊ธ‰์ฆํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋กฑํ˜ผ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•œ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ Longhorn์„ ์ข‹์•„ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์ง€๋งŒ ์•ฝ๊ฐ„์˜ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ OS

StorageOS๋Š” ๋ชฉ๋ก์˜ ์ฒซ ๋ฒˆ์งธ ์œ ๋ฃŒ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ๊ด€๋ฆฌํ˜• ์Šคํ† ๋ฆฌ์ง€ ํฌ๊ธฐ๊ฐ€ 500GB๋กœ ์ œํ•œ๋œ ๊ฐœ๋ฐœ์ž ๋ฒ„์ „์ด ์žˆ์ง€๋งŒ ๋…ธ๋“œ ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜์—…๋ถ€์—์„œ๋Š” ๋‚ด ๊ธฐ์–ต์ด ๋งž๋‹ค๋ฉด ๋น„์šฉ์ด 125TB๋‹น ์›” 1๋‹ฌ๋Ÿฌ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋Œ€์‹œ๋ณด๋“œ์™€ ํŽธ๋ฆฌํ•œ CLI๊ฐ€ ์žˆ์ง€๋งŒ ์„ฑ๋Šฅ์— ์ด์ƒํ•œ ํ˜„์ƒ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฒค์น˜๋งˆํฌ์—์„œ๋Š” ๊ฝค ๊ดœ์ฐฎ์•˜์ง€๋งŒ ๋ณผ๋ฅจ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์†๋„๊ฐ€ ์ „ํ˜€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌด์Šจ ๋ง์„ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ์‹ค ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ ๋์–ด์š”. ์—ฌ๊ธฐ์—๋Š” ์˜คํ”„์‚ฌ์ดํŠธ ๋ฐฑ์—…์ด ์—†์œผ๋ฉฐ ๋ณผ๋ฅจ์„ ๋ฐฑ์—…ํ•˜๋ ค๋ฉด Restic๊ณผ ํ•จ๊ป˜ Velero๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒํ•œ๋ฐ ์ƒํ’ˆ์ด ์œ ๋ฃŒ๋ผ์„œ์š”. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์€ Slack์—์„œ ์†Œํ†ตํ•˜๋Š” ๊ฒƒ์„ ์—ด๋งํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‚จ์ž ์ด๋ฆ„

๋‚˜๋Š” Reddit์˜ ๊ธฐ์ˆ  ๋””๋ ‰ํ„ฐ๋กœ๋ถ€ํ„ฐ Robin์— ๋Œ€ํ•ด ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ „์— ๊ทธ์— ๋Œ€ํ•ด ๋“ค์–ด ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ์†”๋ฃจ์…˜์„ ์ฐพ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ Robin์€ ์œ ๋ฃŒ์ž…๋‹ˆ๋‹ค. 10TB์˜ ์Šคํ† ๋ฆฌ์ง€์™€ XNUMX๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ–์ถ˜ ๊ฝค ๋„‰๋„‰ํ•œ ๋ฌด๋ฃŒ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ์ œํ’ˆ์€ ๊ฝค ๊ดœ์ฐฎ๊ณ  ๊ธฐ๋Šฅ๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ํ›Œ๋ฅญํ•œ CLI๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋ฉ‹์ง„ ์ ์€ ๋ณผ๋ฅจ ๋ฐ ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๋ฆฌ์†Œ์Šค ์„ ํƒ๊ธฐ์—์„œ๋Š” Helm ๋ฆด๋ฆฌ์Šค ๋˜๋Š” "ํ”Œ๋ ‰์Šค ์•ฑ"์ด๋ผ๊ณ  ํ•จ)์˜ ์Šค๋ƒ…์ƒท์„ ์ฐ๊ณ  ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Velero ์—†์ด๋„ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ ์ž‘์€ ์„ธ๋ถ€ ์‚ฌํ•ญ๋งŒ ์•„๋‹ˆ๋ผ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ํ›Œ๋ฅญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์žฌํ•ด๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณต์›(๋˜๋Š” Robin์—์„œ ํ˜ธ์ถœํ•˜๋Š” ๋Œ€๋กœ "๊ฐ€์ ธ์˜ค๊ธฐ")ํ•˜๋Š” ๊ฒฝ์šฐ ๋ณต์›, ๋ฌผ๋ก  ์ž‘๋™ํ•˜์ง€๋งŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ณ„์† ๋ฐฑ์—…ํ•˜๋Š” ๊ฒƒ์€ ๊ธˆ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ™•์ธํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ด๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋‹ค๋ฅธ ์žฅ์ (์˜ˆ: ๋ฏฟ์„ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋น ๋ฅธ ๋ฐฑ์—… ๋ฐ ๋ณต์›)์„ ๊ณ ๋ คํ•˜๋ฉด ๋‹ค์†Œ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๊นŒ์ง€ ๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜์ •ํ•  ๊ฒƒ์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹์ง€๋งŒ ์ด์ƒํ•œ ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ๋œ ๋ณผ๋ฅจ์—์„œ ์ง์ ‘ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํฌ๋“œ ๋‚ด์—์„œ ๋™์ผํ•œ ๋ณผ๋ฅจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ฝ๊ธฐ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•˜์ง€๋งŒ ์ด๋ก ์ ์œผ๋กœ๋Š” ์ฐจ์ด๊ฐ€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—… ์ค‘์ด์ง€๋งŒ ๋ณต์› ๋ฐ ๋ฐฑ์—… ๋ฌธ์ œ๋กœ ์ธํ•ด ์†์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์นจ๋‚ด ์ ํ•ฉํ•œ ์†”๋ฃจ์…˜์„ ์ฐพ์•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  ๋” ๋งŽ์€ ๊ณต๊ฐ„์ด๋‚˜ ๋” ๋งŽ์€ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๋น„์šฉ์„ ์ง€๋ถˆํ•  ์šฉ์˜๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํฌํŠธ์›์Šค

์—ฌ๊ธฐ์„œ๋Š” ๋ณ„๋กœ ํ•  ๋ง์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์œ ๋ฃŒ ์ œํ’ˆ์ด๋ฉฐ ๋˜‘๊ฐ™์ด ๋ฉ‹์ง€๊ณ  ๋น„์Œ‰๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์€ ์ •๋ง ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ€์žฅ ์ข‹์€ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. Slack์€ Google์˜ GKE Marketplace์— ๋‚˜์—ด๋œ ๋Œ€๋กœ ๊ฐ€๊ฒฉ์ด ๋…ธ๋“œ๋‹น ์›” 205๋‹ฌ๋Ÿฌ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ๊ตฌ๋งคํ•˜๋ฉด ๋” ์‹ธ์งˆ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋„ค์š”. ์–ด์ฐจํ”ผ ๊ทธ๋Ÿด ์—ฌ์œ ๊ฐ€ ์—†์–ด์„œ ์ •์  ํ”„๋กœ๋น„์ €๋‹์— ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ฐœ๋ฐœ์ž ๋ผ์ด์„ ์Šค(์ตœ๋Œ€ 1TB ๋ฐ 3๊ฐœ ๋…ธ๋“œ)๊ฐ€ Kubernetes์—์„œ ์‹ค์งˆ์ ์œผ๋กœ ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค๋Š” ์ ์— ๋งค์šฐ ์‹ค๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‰๊ฐ€ํŒ ๊ธฐ๊ฐ„์ด ๋๋‚˜๋ฉด ๋ณผ๋ฅจ ๋ผ์ด์„ ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐœ๋ฐœ์ž๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž์ง€๋งŒ ๊ทธ๋Ÿฐ ์ผ์€ ์ผ์–ด๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๋ผ์ด์„ ์Šค๋Š” Docker์—์„œ๋งŒ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Kubernetes์˜ ๊ตฌ์„ฑ์€ ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ €๋Š” ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์„ ํ˜ธํ•˜์ง€๋งŒ, ๋ˆ์ด ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ Portworx๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊ทธ ์„ฑ๋Šฅ์€ ๋‹ค๋ฅธ ์˜ต์…˜๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฆฐ์Šคํ„ฐ

๊ฒŒ์‹œ๋ฌผ์ด ๊ฒŒ์‹œ๋œ ํ›„ ํ•œ ๋…์ž๊ฐ€ Linstor ์‚ฌ์šฉ์„ ์ œ์•ˆํ–ˆ์„ ๋•Œ ์ด ์„น์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ์ข‹์•„ํ–ˆ์Šต๋‹ˆ๋‹ค! ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์„ฑ๋Šฅ์€ ๋‚˜์˜์ง€ ์•Š๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”(์•„๋ž˜์— ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค). ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ๋””์Šคํฌ์™€ ๋™์ผํ•œ ์„ฑ๋Šฅ์„ ์ง์ ‘ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. (Portworx๊ฐ€ ์™œ ๋“œ๋ผ์ด๋ธŒ ๋ฒค์น˜๋งˆํฌ๋ณด๋‹ค ๋” ๋‚˜์€ ์ˆ˜์น˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์ง์ ‘ ๋ฌป์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งˆ์ˆ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.) ๋”ฐ๋ผ์„œ Linstor๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋งค์šฐ ํšจ๊ณผ์ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€๋Š” ์•Š์ง€๋งŒ ๋‹ค๋ฅธ ์˜ต์…˜๋งŒํผ ์‰ฝ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋จผ์ € Linstor(์ปค๋„ ๋ชจ๋“ˆ ๋ฐ ๋„๊ตฌ/์„œ๋น„์Šค)๋ฅผ ์„ค์น˜ํ•˜๊ณ  Kubernetes ์™ธ๋ถ€์˜ ์”ฌ ํ”„๋กœ๋น„์ €๋‹ ๋ฐ ์Šค๋ƒ…์ƒท ์ง€์›์„ ์œ„ํ•ด ํ˜ธ์ŠคํŠธ์—์„œ ์ง์ ‘ LVM์„ ๊ตฌ์„ฑํ•œ ๋‹ค์Œ Kubernetes์—์„œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. CentOS์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์„œ Ubuntu๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋”์ฐํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์•ฝ๊ฐ„ ์งœ์ฆ๋‚˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ(ํ›Œ๋ฅญํ•˜์ง€๋งŒ)์—๋Š” ์ง€์ •๋œ Epel ์ €์žฅ์†Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๊ฐ€ ์–ธ๊ธ‰๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Linstor์—๋Š” ์Šค๋ƒ…์ƒท์ด ์žˆ์ง€๋งŒ ์˜คํ”„์‚ฌ์ดํŠธ ๋ฐฑ์—…์€ ์—†์œผ๋ฏ€๋กœ ์ด๋ฒˆ์—๋„ ๋ณผ๋ฅจ์„ ๋ฐฑ์—…ํ•˜๊ธฐ ์œ„ํ•ด Restic๊ณผ ํ•จ๊ป˜ Velero๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์ˆ˜์ค€ ๋ฐฑ์—…๋ณด๋‹ค๋Š” ์Šค๋ƒ…์ƒท์„ ์„ ํ˜ธํ•˜์ง€๋งŒ ์†”๋ฃจ์…˜์ด ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๊ณ  ์•ˆ์ •์ ์ด๋ผ๋ฉด ์ด๋Š” ํ—ˆ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linstor๋Š” ์˜คํ”ˆ ์†Œ์Šค์ด์ง€๋งŒ ์œ ๋ฃŒ ์ง€์›์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ดํ•ดํ•œ ๊ฒƒ์ด ๋งž๋‹ค๋ฉด ์ง€์› ๊ณ„์•ฝ์ด ์—†๋”๋ผ๋„ ์ œํ•œ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Linstor๊ฐ€ Kubernetes์— ๋Œ€ํ•ด ์–ผ๋งˆ๋‚˜ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต ์ž์ฒด๊ฐ€ Kubernetes ์™ธ๋ถ€์— ์žˆ๊ณ  ๋ถ„๋ช…ํžˆ ์–ด์ œ ์†”๋ฃจ์…˜์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์ด๋ฏธ ์‹ค์ œ ์กฐ๊ฑด์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์Œ์„ ๋ฐ”๊พธ๊ณ  Kubernetes๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ชจ๋ฅด๊ฒ ์–ด์š”. ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด ๋ณต์ œ๋ฅผ ์—ฐ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋”” ๋ณด์ž. ํ•˜์ง€๋งŒ ์ฒซ์ธ์ƒ์€ ์ข‹๋‹ค. ๋‚˜๋Š” ๋” ๋งŽ์€ ์ž์œ ๋ฅผ ๋ˆ„๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด Heroku ๋Œ€์‹  ๋‚ด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. Linstor๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๋งŒํผ ์„ค์น˜๊ฐ€ ์‰ฝ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๋งŒ๊ฐ„ ์ด์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ

๋ถˆํ–‰ํžˆ๋„ ๋‚˜๋Š” ๋น„๊ต์— ๋Œ€ํ•ด ๊ธ€์„ ์“ธ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ต์— ๋Œ€ํ•ด ๋งŽ์€ ๋ฉ”๋ชจ๋ฅผ ๋ณด๊ด€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ fio ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ์™€ ๋‹จ์ผ ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋งŒ ์žˆ์œผ๋ฏ€๋กœ ์•„์ง ๋ณต์ œ๋œ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ˆ˜์น˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ๊ฐ ์˜ต์…˜์—์„œ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋œ ๋ณผ๋ฅจ์— ๋Œ€ํ•ด ๋™์ผํ•œ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„, 4๊ฐœ ์ฝ”์–ด, 16GB RAM ๋ฐ ์ถ”๊ฐ€ 100GB ๋””์Šคํฌ์—์„œ ์˜ต์…˜์„ ๋น„๊ตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด ๋ฒค์น˜๋งˆํฌ๋ฅผ 38๋ฒˆ ์‹คํ–‰ํ•˜๊ณ  ํ‰๊ท  ๊ฒฐ๊ณผ๋ฅผ ๊ณ„์‚ฐํ–ˆ์œผ๋ฉฐ, ๊ฐ ์ œํ’ˆ์— ๋Œ€ํ•œ ์„œ๋ฒ„ ์„ค์ •์„ ์žฌ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ง€ ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ฉฐ ์™„์ „ํžˆ ๋น„๊ณผํ•™์ ์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋ณผ๋ฅจ์—์„œ XNUMXGB์˜ ์‚ฌ์ง„๊ณผ ๋น„๋””์˜ค๋ฅผ ๋ณต์‚ฌํ–ˆ์ง€๋งŒ ์•„์‰ฝ๊ฒŒ๋„ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, Portworkx๊ฐ€ ํ›จ์”ฌ ๋นจ๋ž์Šต๋‹ˆ๋‹ค.

๋ณผ๋ฅจ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์œ„ํ•ด ๋‹ค์Œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: dbench
spec:
  storageClassName: ...
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: batch/v1
kind: Job
metadata:
  name: dbench
spec:
  template:
    spec:
      containers:
      - name: dbench
        image: sotoaster/dbench:latest
        imagePullPolicy: IfNotPresent
        env:
          - name: DBENCH_MOUNTPOINT
            value: /data
          - name: FIO_SIZE
            value: 1G
        volumeMounts:
        - name: dbench-pv
          mountPath: /data
      restartPolicy: Never
      volumes:
      - name: dbench-pv
        persistentVolumeClaim:
          claimName: dbench
  backoffLimit: 4

๋จผ์ € ์ ์ ˆํ•œ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋กœ ๋ณผ๋ฅจ์„ ์ƒ์„ฑํ•œ ๋‹ค์Œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ fio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์„ ์ถ”์ •ํ•˜๋Š” ๋ฐ 1GB๊ฐ€ ๊ฑธ๋ ธ๊ณ  ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Kubernetes์˜ ์Šคํ† ๋ฆฌ์ง€: OpenEBS vs Rook(Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

๊ฐ ์ธก์ • ํ•ญ๋ชฉ์˜ ์ตœ๊ณ  ๊ฐ’์€ ๋…น์ƒ‰์œผ๋กœ, ์ตœ์•…์˜ ๊ฐ’์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๊ฐ•์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

๋ณด์‹œ๋‹ค์‹œํ”ผ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ Portworx๋Š” ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜์—๊ฒŒ๋Š” ๋น„์‹ธ๋‹ค. Robin์˜ ๊ฐ€๊ฒฉ์ด ์–ผ๋งˆ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ํ›Œ๋ฅญํ•œ ๋ฌด๋ฃŒ ๋ฒ„์ „์ด ์žˆ์œผ๋ฏ€๋กœ ์œ ๋ฃŒ ์ œํ’ˆ์„ ์›ํ•œ๋‹ค๋ฉด ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ณต์› ๋ฐ ๋ฐฑ์—… ๋ฌธ์ œ๊ฐ€ ๊ณง ํ•ด๊ฒฐ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค). ์„ธ ๊ฐ€์ง€ ๋ฌด๋ฃŒ ์„œ๋น„์Šค ์ค‘์—์„œ OpenEBS์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ๊ฐ€์žฅ ์ ์—ˆ์ง€๋งŒ ์„ฑ๋Šฅ์€ ํ˜•ํŽธ์—†์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜์ง€ ๋ชปํ•ด ์•„์‰ฝ์ง€๋งŒ, ์ˆ˜์น˜์™€ ์ œ ๋Œ“๊ธ€์ด ๋„์›€์ด ๋˜์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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