환경 구성
Docker 네트워크 생성
docker network create minio-network
멀티 MinIO 컨테이너 설정 및 시작
포트는 9001~9004;
docker run -p 9001:9000 --name minio1 --network minio-network -e "MINIO_ACCESS_KEY=devplayg" -e "MINIO_SECRET_KEY=devplayg12!@" -v /storage/data1:/data minio/minio server http://minio{1...4}/data
docker run -p 9002:9000 --name minio2 --network minio-network -e "MINIO_ACCESS_KEY=devplayg" -e "MINIO_SECRET_KEY=devplayg12!@" -v /storage/data2:/data minio/minio server http://minio{1...4}/data
docker run -p 9003:9000 --name minio3 --network minio-network -e "MINIO_ACCESS_KEY=devplayg" -e "MINIO_SECRET_KEY=devplayg12!@" -v /storage/data3:/data minio/minio server http://minio{1...4}/data
docker run -p 9004:9000 --name minio4 --network minio-network -e "MINIO_ACCESS_KEY=devplayg" -e "MINIO_SECRET_KEY=devplayg12!@" -v /storage/data4:/data minio/minio server http://minio{1...4}/data
공통 Bucket 생성
4개 컨테이너 중, 임의의 컨테이너에 접속 후 Bucket 생성
복구 테스트
파일 삭제
임의의 컨테이너를 중지 후, 로컬호스트와 연결된 디스크에서 파일 삭제
docker stop minio4
docker rm minio4
rm -rf data
파일 복구
임의의 컨테이너 시작
docker run -p 9004:9000 --name minio4 --network minio-network -e "MINIO_ACCESS_KEY=devplayg" -e "MINIO_SECRET_KEY=devplayg12!@" -v /storage/data4:/data minio/minio server http://minio{1...4}/data
나머지 컨테이너 중 1개에 접속하여, MinIO Client 설치
docker exec -it minio2 /bin/sh
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
복구
./mc config host add minio4 http://minio4:9000 devplayg devplayg12!@ ./mc admin heal -r minio4/