
์ ๋ฐ์ดํธ!. ๋๊ธ์์ ๋ ์ ์ค ํ ๋ช ์ด ์๋ํด ๋ณด๋ผ๊ณ ์ ์ํ์ต๋๋ค. (์ด์ฉ๋ฉด ๊ทธ ์ฌ๋์ด ์ง์ ์์ ํ๊ณ ์์ ์๋ ์์) ๊ทธ๋์ ์ด ์๋ฃจ์ ์ ๋ํ ์น์ ์ ์ถ๊ฐํ์ต๋๋ค. ๋๋ ์ผ๋ค , ํ๋ก์ธ์ค๊ฐ ๋๋จธ์ง ํ๋ก์ธ์ค์ ๋งค์ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์งํ ํฌ๊ธฐํ๊ณ ํฌ๊ธฐํ์ด์ (์ ์ด๋ ์ง๊ธ์). ๋๋ ์ฌ์ฉํ ๊ฒ์ด๋ค . ์? ๋ณด๊ด ๋๋ฌธ์! ๋ด๊ฐ Kubernetes ์์ฒด๋ณด๋ค ์คํ ๋ฆฌ์ง์ ๋ ๋ง์ ๊ด์ฌ์ ๊ธฐ์ธ์ผ ๊ฒ์ด๋ผ๊ณ ๋๊ฐ ์๊ฐ์ด๋ ํ์๊น์? ๋๋ ์ฌ์ฉํ๋ค ๊ฐ๊ฒฉ์ด ์ ๋ ดํ๊ณ ์ฑ๋ฅ์ด ์ข๊ธฐ ๋๋ฌธ์ ์ฒ์๋ถํฐ ๋ค์์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํด ์์ต๋๋ค. . ๋ชจ๋ ๊ฒ์ ์ค์ค๋ก ๋ฐฐ์ฐ๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ Google/Amazon/Microsoft/DigitalOcean ๋ฑ์ ๊ด๋ฆฌํ Kubernetes ์๋น์ค๋ฅผ ์๋ํ์ง ์์์ต๋๋ค. ๋๋ ๋ํ ์๋ฐํ๋ค.
๊ทธ๋ ์ต๋๋ค. ์ ๋ ๊ฐ๋ฅํ Kubernetes ์คํ์ ํ๊ฐํ ๋ ์ด๋ค ์คํ ๋ฆฌ์ง๋ฅผ ์ ํํ ์ง ๊ฒฐ์ ํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ์ ๋ ๊ฐ๊ฒฉ ๋๋ฌธ์ ์คํ ์์ค ์๋ฃจ์ ์ ์ ํธํ์ง๋ง, ์ ํ์ ์ธ ๋ฌด๋ฃ ๋ฒ์ ์ด ์๊ธฐ ๋๋ฌธ์ ํธ๊ธฐ์ฌ์ ๋ช ๊ฐ์ง ์ ๋ฃ ์ต์ ์ ์ดํด๋ณด์์ต๋๋ค. ๋ค์ํ ์ต์ ์ ๋น๊ตํ๋ฉด์ ์ต๊ทผ ํ ์คํธ์์ ์ป์ ๋ช ๊ฐ์ง ์์น๋ฅผ ์ ์ด ๋์๋๋ฐ, ์ด๋ Kubernetes ์คํ ๋ฆฌ์ง์ ๋ํด ๋ฐฐ์ฐ๋ ์ฌ๋๋ค์๊ฒ ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ง๊ธ์ Kubernetes์ ์๋ณ ์ธ์ฌ๋ฅผ ํ์ง๋ง. ๋๋ ๋ํ ์ธ๊ธํ๊ณ ์ถ๋ค , Hetzner Cloud ๋ณผ๋ฅจ์ ์ง์ ํ๋ก๋น์ ๋ํ ์ ์์ง๋ง ์์ง ์๋ํ์ง ์์์ต๋๋ค. ํนํ ๋ ธ๋ ์ค๋ฅ ๋ฐ ๊ธฐํ ์ ์ฌํ ์ํฉ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ณต์ ์ ๋ชจ๋ ๋ ธ๋์ ์๊ตฌ ๋ณผ๋ฅจ์ ์ ์ํ๊ฒ ๋ง์ดํธํ๋ ๊ธฐ๋ฅ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ฐ๋ ์ํํธ์จ์ด ์ ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ดํด๋ณด์์ต๋๋ค. ์ผ๋ถ ์๋ฃจ์ ์ ํน์ ์์ ์ค๋ ์ท๊ณผ ์คํ์ฌ์ดํธ ๋ฐฑ์ ์ ์ ๊ณตํ๋ฏ๋ก ํธ๋ฆฌํฉ๋๋ค.
6~7๊ฐ์ ์คํ ๋ฆฌ์ง ์๋ฃจ์ ์ ํ ์คํธํ์ต๋๋ค.
๋ด๊ฐ ์ด๋ฏธ ๋งํ๋ฏ์ด ๋ชฉ๋ก์ ์๋ ๋๋ถ๋ถ์ ์ต์ ์ ํ ์คํธํ ํ ์ฒ์์๋ OpenEBS๋ฅผ ์ ํํ์ต๋๋ค. OpenEBS๋ ์ค์น์ ์ฌ์ฉ์ด ๋งค์ฐ ์ฝ์ง๋ง, ์์งํ ๋ก๋ ์ค์ธ ์ค์ ๋ฐ์ดํฐ๋ก ํ ์คํธํ ๊ฒฐ๊ณผ ์ฑ๋ฅ์ ์ค๋งํ์ต๋๋ค. ์ด๊ฒ์ ์คํ ์์ค์ด๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ค์ค๋ก ์์ ํฉ๋๋ค. ๋์์ด ํ์ํ ๋๋ง๋ค ํญ์ ํฐ ๋์์ด ๋์์ต๋๋ค. ์ํ๊น๊ฒ๋ ๋ค๋ฅธ ์ต์ ์ ๋นํด ์ฑ๋ฅ์ด ๋งค์ฐ ์ข์ง ์์ ํ ์คํธ๋ฅผ ๋ค์ ์คํํด์ผ ํ์ต๋๋ค. OpenEBS์๋ ํ์ฌ 3๊ฐ์ ์คํ ๋ฆฌ์ง ์์ง์ด ์๋๋ฐ cStor์ ๋ํ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋ ค๋ณด๊ฒ ์ต๋๋ค. ์์ง Jiva ๋ฐ LocalPV์ ๋ํ ๋ฒํธ๊ฐ ์์ต๋๋ค.
๊ฐ๋จํ ๋งํด์ Jiva๊ฐ ์กฐ๊ธ ๋ ๋น ๋ฅด๋ฉฐ LocalPV๋ ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅด๋ฉฐ ์ง์ ๋์คํฌ ๋ฒค์น๋งํฌ๋ณด๋ค ๋์์ง ์์ต๋๋ค. LocalPV์ ๋ฌธ์ ์ ์ ๋ณผ๋ฅจ์ด ์ค๋น๋ ๋ ธ๋์์๋ง ์ก์ธ์คํ ์ ์๊ณ ๋ณต์ ๊ฐ ์ ํ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ค์์ ํตํด ๋ฐฑ์ ์ ๋ณต์ํ๋ ๋ฐ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ ธ๋ ์ด๋ฆ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ํด๋ฌ์คํฐ์ ์์ต๋๋ค. ๋ฐฑ์ ์ ๊ดํด ์ด์ผ๊ธฐํ๋ฉด cStor๋ ๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์์ ์ ์ค๋ ์ท์ ์คํ์ฌ์ดํธ ๋ฐฑ์ ์ ์ํํ ์ ์์ผ๋ฉฐ ์ด๋ Velero-Restic์ ์ฌ์ฉํ ํ์ผ ์์ค ๋ฐฑ์ ๋ณด๋ค ๋ ํธ๋ฆฌํฉ๋๋ค. ๋๋ ์ผ๋ค , ์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๋ฐฑ์ ๋ฐ ๋ณต์์ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ ์ฒด์ ์ผ๋ก OpenEBS๋ฅผ ์ ๋ง ์ข์ํ๋๋ฐ ์ฑ๋ฅ์ด...
Rook์ ์คํ ์์ค์ด๊ธฐ๋ ํ๋ฉฐ, ๋ชฉ๋ก์ ๋๋จธ์ง ์ต์ ๊ณผ ๊ตฌ๋ณ๋๋ ์ ์ ๋ค์ํ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ ์์ ์ ์ฒ๋ฆฌํ๋ ์คํ ๋ฆฌ์ง ์กฐ์ ์๋ผ๋ ์ ์ ๋๋ค. , ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ฒ๋ค์ ์์ ์ ํฌ๊ฒ ๋จ์ํ์ํต๋๋ค. ๋ช ๋ฌ ์ ์ 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์ ์ข์ํ๋ค๊ณ ๋งํ์ง๋ง ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค.
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๋ ์ค๋ ์ท ๊ธฐ๋ฅ์ ์์ง๋ง ์คํ์ฌ์ดํธ ๋ฐฑ์ ์ ์ง์ํ์ง ์์์ ๋ณผ๋ฅจ ๋ฐฑ์ ์ ์ํด Velero์ Restic์ ๋ค์ ์ฌ์ฉํด์ผ ํ์ต๋๋ค. ํ์ผ ์์ค ๋ฐฑ์ ๋ณด๋ค๋ ์ค๋ ์ท์ ์ ํธํ์ง๋ง, ์ฑ๋ฅ๊ณผ ์์ ์ฑ๋ง ์ข๋ค๋ฉด ๊ฐ์ํ ๋งํฉ๋๋ค. 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
