1) Minio (Minimal Object Storage)
(1) Minio๋
- MiniO๋ ์คํ ์์ค๋ก ์ ๊ณต๋๋ ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์๋ฃจ์ ์ด๋ค.
- ํ์ผ ์คํ ๋ฆฌ์ง, ๋ธ๋ก ์คํ ๋ฆฌ์ง๋ฅผ ์ง์ํ์ง ์๊ณ ์ค๋ก์ง ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ํํ๋ก ์ ๊ณต๋๋ฉฐ Amazon S3 ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์๋น์ค์ ์๋ฒฝํ๊ฒ ํธํ๋๊ธฐ ๋๋ฌธ์ Amazon S3์ SDK๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ผ์ ๋ํ ์ง์ ์ ์ธ ์์ ์ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ํญ์ ๋ฎ์ด์ฐ๋ (Overwrite) ๋ฐฉ์์ด ์ฌ์ฉ๋๋ค.
(2) MiniO ์ฃผ์ ํน์ง
โ AWS S3 API ํธํ
- MiniO๋ AWS S3์ API๋ฅผ ์๋ฒฝํ๊ฒ ๋๊ฐ์ด ๊ตฌํํ์ฌ 100% ํธํ๋๊ธฐ ๋๋ฌธ์ MiniO๋ฅผ ์คํ ๋ฆฌ์ง๋ก ์ฌ์ฉํ๋ค S3 ์คํ ๋ฆฌ์ง๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋๋ผ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์์ ํ ํ์๊ฐ ์๋ค.
โก Erasure Coding์ ํตํ ๋ฐ์ดํฐ ๋ณต๊ตฌ
- ๋์คํฌ๋ฅผ JBOD, JBOF๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, Erasure Coding์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ค๋ณต ์์ค์ ์ค์ ํ ์ ์๊ณ , ์ค์ ๋ ์ค๋ณต ์์ค์ผ๋ก ๋ฐ์ดํฐ ๋ฐ ํจ๋ฆฌํฐ ๋ธ๋ก์ผ๋ก ๋ถ์ฐ ์ ์ฅํ๋ค.
โข Web UI ์ ๊ณต
- ๋ช ๋ น์ค ์ธํฐํ์ด์ค (CLI) ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค (API)๋ฅผ ์ ๊ณตํ ๋ฟ๋ง ์๋๋ผ ๊ทธ๋ํฝ ์ ์ ์ธํฐํ์ด์ค (GUI)๋ ์ ๊ณตํ๋ค.
โฃ ๊ณ ๊ฐ์ฉ์ฑ (High Availability)
- ์คํ ๋ฆฌ์ง ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ์ฌ ๋ฐ์ดํฐ์ ์ฉ๋๊ณผ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฅํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํ์ฌ ์ ์ฅ ๋ฐ ๋ณต์ ํ๋ค.
โค Kubernetes ํ๊ฒฝ์์ ์์ฝ๊ฒ ์ค์น ๊ฐ๋ฅ
Object Storage for theEra of the Hybrid Cloud
MinIO’s high performance, Kubernetes-native object storage suite is built for the demands of the hybrid cloud. Software-defined, it deliversa consistent experience across every Kubernetes environment.
- MiniO๋ Kubernetes์ Native Object Storage๋ก k8s ํ๊ฒฝ์์ ์ผ๊ด๋ ๊ฒฝํ์ ์ ๊ณตํ๋ค.
โฅ ์ํธํ (Encryption)
- MiniO๋ ์ ์ก ์ค์ธ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ฑฐ๋, ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋ณด๊ดํ ์ ์๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ก์ธ์ค ์ ์ด, ์๋ช ๋ฐ ์ธ์ฆ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ ์ ์๋ค.
(3) Minio ์ํคํ ์ฒ
- MiniO๋ ๋ด๋ถ์ ์ผ๋ก 3๊ฐ์ Layer๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ฒซ ๋ฒ์งธ๋ก S3 Layer๋ ๋์ธ์ ์ธ ๋คํธ์ํฌ๋ฅผ ์ฒ๋ฆฌํ๋ ์์ญ
- ๋ ๋ฒ์งธ๋ก Object Layer๋ Cache, Compression, Encryption, Erasure Code, Bitrot์ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ํํ๋ ์์ญ
- ์ธ ๋ฒ์งธ๋ก Storage Layer๋ File System๊ณผ ์ง์ ์ ์ผ๋ก ํต์ ํ๋ ์์ญ
(4) ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์
- MiniO๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก FS (File System)๊ณผ EC (Erasure Code)์ ๋ ๊ฐ์ง ์ ์ฅ ๋ชจ๋๋ฅผ ์ ๊ณตํ๋ค.
โ FS ๋ชจ๋ (File System)
- FS ๋ชจ๋๋ MiniO ์๋ฒ๋ฅผ ์คํํ ๋, ํ๋์ ํ์ผ ์์คํ ์์น๋ฅผ ์ง์ ํด์ฃผ๋ ๊ฒ์ผ๋ก MiniO์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ์ง์ ๋ ์์น์ ๊ธฐ๋ก๋๋ค.
- ์ง์ ๋ ์์น์ ์ด์ ์ ์กด์ฌํ๋ ํ์ผ ์์คํ ํด๋, ํ์ผ ๋ฐ MiniO ๋ฐฑ์๋ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ํ์ฉ๋๋ฏ๋ก ๋ณ๋์ ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ๋ง๋ค ํ์์์ด ์๋ฒ ์คํ ์, ์ง์ ํ ํ์ผ ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
- ์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด MiniO๊ฐ ์คํ๋๋ ์๋ฒ์์๋ MiniO๋ฅผ ํตํ์ง ์๊ณ ์ง์ ์ ์ผ๋ก ์ฌ๋ ค์ง ๊ฐ์ฒด๋ฅผ ์์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ถ์ฅ๋๋ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋๋ค.
โก EC ๋ชจ๋ (Erasure Code)
- EC ๋ชจ๋๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ฐ ๋ด๊ตฌ์ฑ์ ๋์ด๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐฉ์ ์ค ํ๋๋ก MiniO๋ EC ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ฌ (์ผ๋ฐ ๋ณต์ ๋ชจ๋์ ๋๋นํ์ฌ) ์ ์ฅ์ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์๊ณ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ด๊ตฌ์ฑ์ ๋์ผ ์ ์๋ค.
[Reference]
- https://min.io/docs/minio/linux/index.html
- https://frostflower-note.tistory.com/m/20
- https://velog.io/@wkfwktka/minio-%EC%8B%A4%EC%8A%B5
- https://www.itmaya.co.kr/wboard/view.php?wb=tech&idx=21
- https://devocean.sk.com/blog/techBoardDetail.do?ID=164946&boardType=techBlog
๋ฐ์ํ
'๐พ Storage > MiniO' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MiniO์์ ์ ๊ณต๋๋ API๋ฅผ ์ด์ฉํ CRUD ์ค์ต (Java) (0) | 2023.10.07 |
---|---|
MiniO๋ฅผ ์ค์นํด๋ณด์! (0) | 2023.10.07 |