์
๋ฐ์ดํธ!. ๋๊ธ์์ ๋
์ ์ค ํ ๋ช
์ด ์๋ํด ๋ณด๋ผ๊ณ ์ ์ํ์ต๋๋ค.
์์งํ ํฌ๊ธฐํ๊ณ ํฌ๊ธฐํ์ด์
๊ทธ๋ ์ต๋๋ค. ์ ๋ ๊ฐ๋ฅํ Kubernetes ์คํ์ ํ๊ฐํ ๋ ์ด๋ค ์คํ ๋ฆฌ์ง๋ฅผ ์ ํํ ์ง ๊ฒฐ์ ํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ์ ๋ ๊ฐ๊ฒฉ ๋๋ฌธ์ ์คํ ์์ค ์๋ฃจ์
์ ์ ํธํ์ง๋ง, ์ ํ์ ์ธ ๋ฌด๋ฃ ๋ฒ์ ์ด ์๊ธฐ ๋๋ฌธ์ ํธ๊ธฐ์ฌ์ ๋ช ๊ฐ์ง ์ ๋ฃ ์ต์
์ ์ดํด๋ณด์์ต๋๋ค. ๋ค์ํ ์ต์
์ ๋น๊ตํ๋ฉด์ ์ต๊ทผ ํ
์คํธ์์ ์ป์ ๋ช ๊ฐ์ง ์์น๋ฅผ ์ ์ด ๋์๋๋ฐ, ์ด๋ Kubernetes ์คํ ๋ฆฌ์ง์ ๋ํด ๋ฐฐ์ฐ๋ ์ฌ๋๋ค์๊ฒ ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ง๊ธ์ Kubernetes์ ์๋ณ ์ธ์ฌ๋ฅผ ํ์ง๋ง. ๋๋ ๋ํ ์ธ๊ธํ๊ณ ์ถ๋ค
6~7๊ฐ์ ์คํ ๋ฆฌ์ง ์๋ฃจ์ ์ ํ ์คํธํ์ต๋๋ค.
์คํEBS
๋ด๊ฐ ์ด๋ฏธ ๋งํ๋ฏ์ด
๊ฐ๋จํ ๋งํด์ Jiva๊ฐ ์กฐ๊ธ ๋ ๋น ๋ฅด๋ฉฐ LocalPV๋ ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅด๋ฉฐ ์ง์ ๋์คํฌ ๋ฒค์น๋งํฌ๋ณด๋ค ๋์์ง ์์ต๋๋ค. LocalPV์ ๋ฌธ์ ์ ์ ๋ณผ๋ฅจ์ด ์ค๋น๋ ๋
ธ๋์์๋ง ์ก์ธ์คํ ์ ์๊ณ ๋ณต์ ๊ฐ ์ ํ ์๋ค๋ ๊ฒ์
๋๋ค. ๋ค์์ ํตํด ๋ฐฑ์
์ ๋ณต์ํ๋ ๋ฐ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ฌ๊ธฐ๊พผ
Rook์ ์คํ ์์ค์ด๊ธฐ๋ ํ๋ฉฐ, ๋ชฉ๋ก์ ๋๋จธ์ง ์ต์
๊ณผ ๊ตฌ๋ณ๋๋ ์ ์ ๋ค์ํ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ ์์
์ ์ฒ๋ฆฌํ๋ ์คํ ๋ฆฌ์ง ์กฐ์ ์๋ผ๋ ์ ์
๋๋ค.
Ceph์๋ ์ค๋
์ท์ด ์์ง๋ง ๋ด๊ฐ ์๋ ํ Rook/Kubernetes์์๋ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ค, ๋๋ ์ด๊ฒ์ ๊น์ด ๋ค์ด ๊ฐ์ง ์์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์คํ์ฌ์ดํธ ๋ฐฑ์
์ด ์์ด์ ๋ฒจ๋ ๋ก/๋ ์คํฑ์ผ๋ก ๋ญ๊ฐ๋ฅผ ์ด์ฉํด์ผ ํ๋๋ฐ, ์์ ์ค๋
์ท์ ์๋๊ณ ํ์ผ ๋จ์ ๋ฐฑ์
๋ง ์์ต๋๋ค. Rook์์ ์ ๊ฐ ์ ๋ง ์ข์ํ๋ ์ ์ Ceph๋ก ์์
ํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ฌ์ด์ง์์ต๋๋ค. ์ด๋ ๊ฑฐ์ ๋ชจ๋ ๋ณต์กํ ๋ด์ฉ์ ์จ๊ธฐ๊ณ ๋ฌธ์ ํด๊ฒฐ์ ์ํด 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๊ฐ ๊ฑธ๋ ธ๊ณ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ์ง ์์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ ์ธก์ ํญ๋ชฉ์ ์ต๊ณ ๊ฐ์ ๋ น์์ผ๋ก, ์ต์ ์ ๊ฐ์ ๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐํ์ต๋๋ค.
๊ฒฐ๋ก
๋ณด์๋ค์ํผ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Portworx๋ ๋ค๋ฅธ ๊ฒ๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋ฌ์ต๋๋ค. ํ์ง๋ง ๋์๊ฒ๋ ๋น์ธ๋ค. Robin์ ๊ฐ๊ฒฉ์ด ์ผ๋ง์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ๋ฅญํ ๋ฌด๋ฃ ๋ฒ์ ์ด ์์ผ๋ฏ๋ก ์ ๋ฃ ์ ํ์ ์ํ๋ค๋ฉด ์๋ํด ๋ณผ ์ ์์ต๋๋ค(๋ณต์ ๋ฐ ๋ฐฑ์ ๋ฌธ์ ๊ฐ ๊ณง ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค). ์ธ ๊ฐ์ง ๋ฌด๋ฃ ์๋น์ค ์ค์์ OpenEBS์ ๋ํ ๋ฌธ์ ๊ฐ ๊ฐ์ฅ ์ ์์ง๋ง ์ฑ๋ฅ์ ํํธ์์ต๋๋ค. ๋ ๋ง์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ง ๋ชปํด ์์ฝ์ง๋ง, ์์น์ ์ ๋๊ธ์ด ๋์์ด ๋์ จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com