MinIO | VM에 구성해보기

icurfer·2024년 5월 11일

kubernetes

목록 보기
4/5

참고자료

MinIO Object Storage for Linux

소개자료

QuickStart: MinIO for Linux

MinIO 개체 스토리지 및 S3 호환 API 계층의 초기 개발 및 평가를 위해 VM 1대에 MinIO 서버를 구축한다.

Install

패키지를 다운 받는다.

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20240510014138.0.0_amd64.deb -O minio.deb

설치

dpkg -i minio.deb

Launch the MinIO Server

minio가 이용할 폴더 생성

mkdir ~/minio

RunServer Test

테스트해보려면 실행하고 필요없으면 다음 단계로 넘어간다

# 9001 포트로 서버 실행
minio server ~/minio --console-address :9001

서버 실행을 할때 root 계정정보를 변경하는 것도 가능하다.

export MINIO_ROOT_USER='admin'
export MINIO_ROOT_PASSWORD='비밀번호'

데이터 폴더를 지정하는 것도 가능하다.
minio server ~/minio --console-address :9001 /data
ctrl+c로 종료후 minio 환경파일 구성을 해야한다.

실행 결과 예시

웹콘솔 예시

Configuration default

본격적으로 서버 설정을 하고 systemd를 이용해서 서버를 시작한다.

minio-user 계정생성

systemd 실행 파일을 보면 minio-user로 실행하도록 되어있다.
/usr/lib/systemd/system/minio.service

groupadd minio-user
useradd -r -m -g minio-user -d /home/minio-user -s /bin/bash minio-user
mkdir /home/minio-user/data
chown -R minio-user:minio-user /home/minio-user/data

default 설정파일생성

참고자료

sudo vi /etc/default/minio
MINIO_VOLUMES="/home/minio-user/data"
MINIO_OPTS="--console-address :9001"
MINIO_ROOT_USER='icurfer'
MINIO_ROOT_PASSWORD='icurfer'
MINIO_SERVER_URL="http://192.168.0.191:9000"

MinIO 서버 실행

systemctl enable --now minio

웹콘솔 예시


TLS/SSL 설정하기

참고자료
인증서는 Let's encrpyt로 생성한 인증서 적용.

# 디렉토리가 없으면 생성
mkdir /home/minio-user/.minio/certs

폴더 및 파일 구조 예시

minio.icurfer.com
s3.icurfer.com
두개 서브 도메인으로 적용시 아래와 같은 구조로 구성.

.minio
│   └── certs
│       ├── CAs
│       │   └── fullchain.pem
│       ├── private.key
│       ├── public.crt
│       └── s3-icurfer.com
│           ├── private.key
│           └── public.crt

설정파일 변경

MinIO TLS/SSL 설정을 위해 환경 구성을 변경한다.

HAProxy를 Offloding으로 이용 중이면, Offloading과 무관한 TPC Frontend설정을 하도록 한다. TCP프로토콜로 9000포트 9001 포트 매핑 작업 필요.

sudo vi /etc/default/minio

도메인 주소로 서버주소 정보를 변경한다.

MINIO_VOLUMES="/home/minio-user/data"
MINIO_OPTS="--console-address :9001"
MINIO_ROOT_USER='icurfer'
MINIO_ROOT_PASSWORD='icurfer'
MINIO_SERVER_URL="https://minio.icurfer.com:9000"

신뢰할수있는 인증서 등록

MinIO Client를 이용하여 사설 인증서가 적용된 MinIO서버를 사용하려면, Client쪽에 신뢰할수 있는 인증서 등록이 필요하다. 인증서 등록을하지 않으면 --insecure 옵션이 필요하다.


MinIO Client 사용

MinIO Client 설치 및 로그인

Install MinIO Client

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc

로그인 및 확인

Offloading은 Offloading에 맞게 수정해서 진행.

mc alias set ${임의 이름} http://127.0.0.1:9000 minioadmin minioadmin
mc admin info local

계정 삭제

mc alias rm ${계정 이름}

alias list

mc alias list

버켓 생성

mc mb ${alias명}/${버킷이름}

버켓 리스트

mc ls ${alias명}

파일 업로드

mc cp ${로컬 파일경로} ${alias명}/${버킷이름}/

파일 다운로드

업로드 반대로 하면 다운로드됨.

profile
낮에는 클라우드엔지니어, 밤에는 나홀로 개발자...

0개의 댓글