오브젝트 스토리지를 사용하기 위해 공식 문서을 읽어보던중 간단하게 도커로 배포가 가능하여 시도해보았다.
배포 및 사용을 꽤하면서 알게된 사실이지만 도커로써의 노드 확장을 사실상 불가능인거 같다.
과거에 지원햇지만 지금은 지원하지 않는거 같구 추가적인 디스크 확장이나, 디스크 추가 등과 같은 작업은 minio의 구조때문인지 불가능하고 확장을 위해선 노드를 추가하여 다중노드다중디스크 시스템으로 결국 가야한다. 다만 이럴경우 리눅스 배포나 쿠버네티스 배포를 사용하여 배포를 진행해야 추가적인 확장이 가능한거같다.
minio docker 배포
아무튼 minio를 간단하게 도커를 활용하여 서비스를 올리기 위해 디스크 4장을 준비하였다.
8TB 4장을 공식문서에서 권장하는데로 xfs으로 디스크 포맷을 진행 후 도커컴포즈를 작성하였다.
다음은 사용할 docer-compose.yml 구성이다
version: '3'
services:
minio:
image: quay.io/minio/minio:latest
command: server /data{1...4} --console-address ":9001"
container_name: minio
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: 12341234!
CONSOLE_DEV_MODE: "on"
restart: always
#shm_size: '1gb' # default는 64MB
ports:
- "9002:9000" # minio 서비스 포트
- "9001:9001" # minio 콘솔 포트
volumes:
- /mnt/bay0/minio_disk1:/data1 # 버킷 데이터 저장소 위치
- /mnt/bay1/minio_disk2:/data2 # hdd2
- /mnt/bay2/minio_disk3:/data3 # hdd3
- /mnt/bay3/minio_disk4:/data4 # hdd4
- ./minio:/root/.minio # 컨테이너 실행 데이터 위치