MiniO (1/3) - 기본 사용법

이현우·2022년 4월 18일
0

쿠버네티스

목록 보기
7/11
post-custom-banner

1. minio란?

Apache License v2.0에 따라 출시 된 고성능 개체 스토리지이다.
Amazon S3 클라우드 스토리지 서비스와 호환되는 API이다.
오브젝트 스토리지를 사용하고 있기 때문에 파일에 대한 직접적인 수정은 불가능하며, 항상 덮어쓰는 방식이 사용된다.

minio는 Docker / Mac / Linux / Windows / FreeBSD 환경에서 사용이 가능하다.

2. minio 설치

# 다운로드
$ wget https://dl.min.io/server/minio/release/linux-amd64/minio

# 실행 가능하도록 권한을 부여
chmod +x minio

3. minio 서버 실행

minio는 FS(file-system) 방식과 EC(erasure-code) 방식의 두 가지 실행 모드를 제공한다.

3.1 FS(file-system) 방식

minio 서버를 실행할 때 하나의 destination(경로, 목적지)을 설정해 주면 된다.

FS 방식으로 서버를 실행한다면 minio 스토리지에 들어간 파일을 서버에서 직접 열어 확인이 가능하다.
텍스트 문서라면 편집도 가능하다.
하지만 서버가 오프라인이 된다면 minio 서버는 다운되게 된다.

3.1.1 FS실행

server 옵션과 함께 스토리지로 사용할 폴더 경로를 입력하여 실행
./minio server /data

기본 포트는 9000이다.
binding IP와 접속 포트를 지정하려고 한다면 다음과 같이 진행한다.

./minio server --address ADDRESS:PORT (destination)
# ./minio server --address 0.0.0.0:8888 /data

콘솔 포트도 지정할 수 있다.
해당 포트 접속 시 브라우저에 접속할 수 있다. 만약 해당 옵션을 주지 않는다면 minio 서버는 랜덤한 포트를 할당한다.

minio server data --address :9000 --console-address :9001

여러개의 폴더를 묶어서 사용할 경우

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

FS 방식으로 minio 서버를 실행한다면 아래와 같은 화면을 확인할 수 있다.

Minio 서버에 접근하기 위해서는 Access Key와 Secret Key가 필요하다. 기본적으로 설정되어 있는 값은 minioadmin이다.
Access Key와 Secret Key를 변경하려면 아래와 같이 환경변수를 설정하면 된다.

export MINIO_ROOT_USER='hyunwoo'
export MINIO_ROOT_PASSWORD='hyunwoopassword'

3.2 ES(erasure-code) 방식

  • 추후에 다룸

3.3 minio console

Bucket 생성 및 이미지 업로드를 통한 실습을 해보자

minio는 콘솔 브라우저를 제공한다.
쉘 접속없이 브라우저로 버켓 생성 및 브라우저 업로드, 다운로드, 설정 변경 등이 가능하다.
minio 서버 실행 시 --console-address 포트를 입력하면 해당 포트로 콘솔 브라우저에 접속 가능하다.
해당 옵션을 주지 않았다면 minio 서버는 랜덤한 포트를 할당한다.

  1. 로그인 화면 - 기본 아이디 및 비밀번호는 minioadmin이다

  2. Buckets 화면

  3. Buckets 생성

  • 상단의 Create Bucket을 누르자.
  • Bucket Name을 지어주자. 여기선 sample이라 하겠다.
  1. Buckets 확인
  • bucket이 생성되었다. 우측의 Browse를 누르자.
  1. 이미지 업로드
  • 우측 상단의 upload를 통해 이미지파일을 업로드 해보자.
  1. 업로드 완료
  • 우측의 Preview를 통해 이미지 미리보기가 가능하다.

3.4 minio client사용하기

minio는 정책과 데이터를 bucket(버켓) 기준으로 저장한다.
그렇기 때문에 버켓을 생성해야 데이터를 넣을 수 있다.

버킷을 생성하는 방법은 두 가지가 있습니다.

  • 3.3과 같이 브라우저에 접속한 후 버킷을 생성해 주는 방법
  • minio client(mc)를 사용하는 방법

설치

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mc --help

mc를 사용하여 minio 서버를 컨트롤 하기 위해서는 유저를 등록할 필요가 있습니다.

mc config host add ALIAS MINIO_SERVER
mc mb ALIAS/test0

명령어를 입력하면 ALIAS로 MINIO_SERVER를 등록 할 수 있다.
이후 mb 명령어를 통하여 버켓을 생성할 수 있다.

해당 버켓은 서버 실행 시 지정했던 디렉토리 혹은 브라우저에서 확인이 가능하다.

mc를 통하여 minio server 의 설정 및 정책을 변경 할 수 있다.

profile
GitHub - https://github.com/jenu8628
post-custom-banner

0개의 댓글