728x90
[MinIO] MinIO
MinIO
MinIO(민-아이오)는 고성능, 고가용성의 오픈 소스 오브젝트 스토리지 시스템이다.
Amazon S3와 호환되는 API를 제공하여 클라우드 네이티브 애플리케이션에서 널리 사용되며,
분산 환경에서 대규모 데이터를 효율적으로 관리할 수 있도록 설계되었다.
MinIO의 동작
MinIO는 S3 API 기반으로 자체적으로 경량화된 오브젝트 스토리 엔진을 구현했다.
🤔 MinIO는 어떻게 요청을 처리할까 ?
1. 클라이언트는 S3 API를 통해 HTTP 요청을 minio 서버에 전송한다.
2. minio 서버는 해당 요청을 인증 -> 권한 확인 -> API 라우팅 단계로 처리한다.
- 인증 : 요청 헤더에서 액세스 키와 시크릿 키를 읽고 검증한다.
- 권한 확인 : 버킷 및 오브젝트에 대해 사용자가 권한이 있는지를 확인한다.
- API 라우팅 : API 요청 경로와 메서드에 따라 적절한 핸들러를 호출한다.
MinIO는 오브젝트와 버킷의 메타데이터를 내부 데이터베이스를 통해 관리한다.
MinIO 구축
1️⃣ 단일 노드 설정
테스트나 소규모 환경에 적합하다.
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
/data는 데이터를 저장할 디렉토리 경로다.
실행 후 MinIO 웹 UI (port 9000)에서 관리할 수 있다.
2️⃣ 분산 노드 설정
아래는 4개의 서버를 활용한 분산모드의 예시다.
minio server http://node1/data http://node2/data \
http://node3/data http://node4/data
각 노드는 동알한 데이터 경로 구조를 가져야하며, 네트워크를 통해 연결된다.
3️⃣ Kubernetes 환경에서의 구축
MinIO는 kubernetes에서 배포하기 적합한 Helm 차트를 제공한다.
helm repo add minio https://charts.min.io/
helm install my-minio minio/minio \
--set accesskey="minioadmin" \
--set secretkey="minioadmin"
accessKey와 secretKey는 MinIO에 접근하기 위한 인증정보이다.
설치 후 Service와 PVC를 통한 스토리지 관리가 가능하다.
다음포스팅에서 MinIO를 통해서 S3 API 인터페이스를 사용하는 방법에 대해 알아보자.
반응형
'💡 etc > Infra' 카테고리의 다른 글
[Ceph] Ceph 설치하기 (0) | 2025.01.22 |
---|---|
[Ceph] 분산 스토리지 플랫폼 : Ceph (0) | 2025.01.21 |
[etc] STRIDE 위협 모델 (0) | 2024.10.22 |
[etc] VPN (Virtual Private Network) (0) | 2024.02.20 |
[etc] 가상환경과 컨테이너 비교 (0) | 2023.08.23 |