개요

MinIO 는 AWS 의 S3 SDK 와 호환되는 오픈소스 오브젝트 스토리지 서버 제품입니다. 

go 언어로 개발되어 배포시 하나의 파일만 필요하고 빠른 속도와 좋은 매뉴얼을 제공하여 설치와 사용이 쉬운 장점이 있습니다.


MinIO 는 Server(Ex: minio.exe)와 Client (Ex: mc)와 언어별 SDK 를 제공합니다.


MinIO 의 SDK 를 설치하면 AWS 의 S3 와 동일한 인터페이스로 Object storage 를 사용할 수 있으므로 내부에서 minio 로 오브젝트를 관리하다가 app 변경없이 S3 로 이관하거나 그 반대의 경우도 가능합니다.

(물론 mino ↔ S3 간의 별도의 마이그레이션은 필요합니다.)


사용

설치

설치는 단일 실행 파일로 제공되므로 다운받아서 바로 실행하면 되므로 개인적으로는 특별한 이유가 없다면 docker 보다는 단일 실행 파일을 사용하는 것이 더 편리합니다.


Linux x64

$ wget https://dl.min.io/server/minio/release/linux-amd64/minio
$ chmod +x minio
BASH

Windows

wget https://dl.min.io/server/minio/release/windows-amd64/minio.exe
BASH

구동

기본 사용법은 server 옵션과 함께 스토리지로 사용할 폴더 경로를 입력해 주면 됩니다.

Linux x64

$ ./minio server /mnt/data
BASH

Windows

minio.exe server d:\data
BASH


정상적으로 구동이 되었다면 다음과 같은 안내 화면이 출력되며 Browser Access 에 있는 URL 로 웹 브라우저로 연결한 후에 AccessKey 와 SecretKey 를 입력하면 됩니다.



여러 개의 폴더를 묶어서 사용할 경우 경로를 모두 입력해 주면 됩니다.

Linux x64

$ ./minio server /mnt/data /var/data /opt/data
BASH

minio 는 기본적으로 client 가 전달하지 않는 이상 MD5 해시를 계산하지 않습니다. 이때문에 사용하는 S3 client 가 호환되지 않는다면 --compat 옵션을 띄워서 구동하면 됩니다.


minio --compat server /data
CODE


binding IP와 port 지정

minio 는 기본적으로 minio 구동 서버에 장착된 내부 네크워크 interface 와 9,000 번 포트를 사용합니다.

바인딩 IP 와 포트를 지정하려면 --address ADDRESS:PORT 를 지정하면 됩니다.

Linux x64

$ ./minio server --address 0.0.0.0:8888 /mnt/data /var/data /opt/data
BASH


자세한 사용법을 알아보려면 --help 옵션을 주고 실행하면 됩니다.

Linux x64

$ ./minio --help

USAGE:
  minio.exe [FLAGS] COMMAND [ARGS...]
BASH


만약 COMMAND(예: server) 에 대한 자세한 사용법을 보려면 COMMAND 뒤에 --help 옵션을 추가합니다.

Linux x64

$ ./minio server --help

NAME:
  minio.exe server - start object storage server

USAGE:
  minio.exe server [FLAGS] DIR1 [DIR2..]
  minio.exe server [FLAGS] DIR{1...64}
BASH

nginx 연동

minio 서버를 다른 서버와 연동할 경우 보안을 위해 https 를 사용하는 게 좋으며 이럴 경우 nginx 를 reverse proxy 로 사용해서 연동하면 편리합니다.

전체 레시피는 https://docs.min.io/docs/setup-nginx-proxy-with-minio.html 를 통해 확인할 수 있습니다.


Distributed MinIO 

minio는 HA 를 위해 multi drive 를 하나의 object storage 로 묶는 기능을 제공하고 있습니다.


같이 보기

Ref