minIO 개요

minIO는 하이브리드 클라우드에 걸맞는 객체 스토리지입니다.
minIO는 쿠버네티스-네이티브 객체 스토리지이며, 하이브리드 클라우드의 수요에 맞춰 구축되었습니다. 따라서 쿠버네티스 환경에서 일관된 경험을 제공합니다. 또한 minIO는 산업을 리드하는 성능과 확장성을 제공하며, 다양한 사례(AI/ML, 백업저장소, 웹 또는 모바일 어플리케이션)에 적용될 수 있습니다.

Object Storage for theEra of the Hybrid Cloud

MinIO’s high performance, Kubernetes-native object storage suite is built for the demands of the hybrid cloud. Software-defined, it deliversa consistent experience across every Kubernetes environment.

minIO와 하이브리드 클라우드

minIO는 하이브리드 클라우드 전략하에서 적절하게 사용될 수 있는 객체 스토리지입니다. 현재 minIO는 수백만개의 인스턴스가 프라이빗 클라우드 위에 동작하며, 이 뿐만 아니라 수천만개의 인스턴스가 AWS, Azure, GCP위에서 동작하고 있습니다. 이러한 minIO는 AWS의 S3와 호환이 가능합니다.
minIO는 다른 어떤 객체 스토리지보다 클라우드 환경에 친화적이고, 쿠버네티스 환경에서 containerization, orchestration 등이 가능합니다.

minIO의 성능

minIO는 세계에서 가장 빠른 객체 스토리지이며, 읽고 쓰는 속도는 각각 183GB/s, 171GB/s입니다.

minIO의 확장성

minIO는 간단한 확장 모델을 사용합니다. 여러개의 minIO인스턴스는 하나의 클러스터로 묶이고, 이러한 클러스터들은 다시 글로벌 네임스페이스를 생성하며 병합될 수 있습니다.

minIO와 오픈소스

minIO는 사용자가 변경 및 락인하는 것이 가능합니다.

minIO기능과 아키텍처

minIO의 기능

minIO-엔터프라이즈 버전의 기능은 객체 스토리지의 표준을 의미한다.

Erasure Coding

minIO는 어셈블리 언어로 작성된 Erasure Coding을 통해 데이터를 보호합니다. minIO는 Reed-Solomon알고리즘을 사용합니다. 알고리즘과 관련된 자세한 내용은 정확히 이해하지 못했지만 .. 대략 여러 블럭으로 쪼개진 데이터 중 많은 부분이 손실되어도 복구가 가능하다고 합니다. 결론은 minIO는 오브젝트 수준에서 데이터 복구가 각각 가능하다고 합니다.

Bitort Protection

디스크 드라이브는 그 특성상(노후화된 디스크, 물리적 충격, 펌웨어의 버그 등) 데이터가 부패할 수 있으며, 사용자는 이러한 문제를 인식하지 못하게 되는 경우가 있습니다. 이를 방지하기 위해서 minIO는 해쉬 알고리즘을 통해서 쓰고 읽을 때의 데이터가 동일한지 검증을 하고 있습니다.

Encryption

WORM

Identity Management

Continuous Replication

Global Federation

Multi-Cloud Gateway

minIO의 Architecture

minIO는 클라우드 친화적으로 설계되었기에 경량의 컨테이너로 구동이 가능합니다. 이러한 컨테이너는 40MB이하의 바이너리 파일입니다.

아키텍처 개념도

  • 위와 같이 여러 노드에 분산된 minIO를 하나로 묶어서 사용이 가능합니다.
  • 어플리케이션 수준에서는 S3 API를 이용하여 자원에 접근할 수 있습니다.
  • 클러스터 내부에 minIO간에는 RESTful API를 통해서 통신합니다.

  • minIO는 내부적으로 3개의 Layer로 구성되어 있습니다.
  • S3 Lyaer는 대외적인 네트워크를 처리하는 영역입니다.
  • Object Layer는 Cache, Compression, Encryption, Erasure code, Bitrot와 같은 앞서 언급된 기능들을 수행하는 영역입니다.
  • Storage Layer는 File System과 직접적으로 통신하는 영역입니다.

출처

+ Recent posts