MinIO - 4. 분산 MinIO 빠른 시작 가이드

목록

Distributed MinIO Quickstart Guide

분산 MinIO 빠른 시작 가이드

MinIO in distributed mode lets you pool multiple drives (even on different machines) into a single object storage server.

분산 모드의 MinIO를 사용하면 여러 드라이브 (다른 시스템에 있는 경우에도)를 단일 객체 스토리지 서버로 풀링할 수 있습니다.

As drives are distributed across several nodes, distributed MinIO can withstand multiple node failures and yet ensure full data protection.

드라이브가 여러 노드에 분산되어 있으므로 분산 MinIO는 여러 노드 오류를 견딜 수 있으면서도 완전한 데이터 보호를 보장합니다.

Why distributed MinIO?

MinIO를 배포하는 이유는 무엇입니까?

MinIO in distributed mode can help you setup a highly-available storage system with a single object storage deployment. With distributed MinIO, you can optimally use storage devices, irrespective of their location in a network.

분산 모드의 MinIO는 단일 객체 스토리지 배포로 고가용성 스토리지 시스템을 설정하는 데 도움이 됩니다. 분산형 MinIO를 사용하면 네트워크 내 위치에 관계없이 저장 장치를 최적으로 사용할 수 있습니다.

Data protection

데이터 보호

Distributed MinIO provides protection against multiple node/drive failures and bit rot using erasure code.

분산형 MinIO는 삭제 코드를 사용하여 여러 노드/드라이브 오류 및 비트 부패로부터 보호합니다.

As the minimum disks required for distributed MinIO is 4 (same as minimum disks required for erasure coding), erasure code automatically kicks in as you launch distributed MinIO.

분산 MinIO에 필요한 최소 디스크는 4개 (삭제 코딩에 필요한 최소 디스크와 동일)이므로 분산 MinIO를 시작할 때 삭제 코드가 자동으로 시작됩니다.

High availability

고가용성

A stand-alone MinIO server would go down if the server hosting the disks goes offline.

디스크를 호스팅하는 서버가 오프라인 상태가 되면 독립형 MinIO 서버가 다운됩니다.

In contrast, a distributed MinIO setup with n disks will have your data safe as long as n/2 or more disks are online. You'll need a minimum of (n/2 + 1) Quorum disks to create new objects though.

이와 대조적으로, n개의 디스크가 있는 분산형 MinIO 설정은 n/2개 이상의 디스크가 온라인 상태인 한 데이터를 안전하게 유지합니다. 하지만 새 객체를 만들려면 최소 (n/2 + 1)개의 쿼럼 디스크가 필요합니다.

For example, an 16-node distributed MinIO setup with 16 disks per node would continue serving files, even if up to 8 servers are offline. But, you'll need at least 9 servers online to create new objects.

예를 들어, 노드당 16개의 디스크가 있는 16노드 분산 MinIO 설정은 최대 8개의 서버가 오프라인인 경우에도 계속해서 파일을 제공합니다. 그러나 새 객체를 만들려면 온라인에 최소 9개의 서버가 필요합니다.

Limits

제한

As with MinIO in stand-alone mode, distributed MinIO has a per tenant limit of minimum of 2 and maximum of 32 servers. There are no limits on number of disks across these servers.

독립 실행형 모드의 MinIO와 마찬가지로 분산형 MinIO는 테넌트당 최소 2대, 최대 32대의 서버로 제한됩니다. 이러한 서버 전체의 디스크 수에는 제한이 없습니다.

If you need a multiple tenant setup, you can easily spin up multiple MinIO instances managed by orchestration tools like Kubernetes, Docker Swarm etc.

다중 테넌트 설정이 필요한 경우, Kubernetes, Docker Swarm 등과 같은 오케스트레이션 도구로 관리되는 여러 MinIO 인스턴스를 쉽게 스핀업할 수 있습니다.

Note that with distributed MinIO you can play around with the number of nodes and drives as long as the limits are adhered to.

분산형 MinIO를 사용하면 제한을 준수하는 한 노드와 드라이브 수를 가지고 놀 수 있습니다.

For example, you can have 2 nodes with 4 drives each, 4 nodes with 4 drives each, 8 nodes with 2 drives each, 32 servers with 64 drives each and so on.

예를 들어, 각각 4개의 드라이브가 있는 2개의 노드, 각각 4 개의 드라이브가 있는 4개의 노드, 2개의 드라이브가 있는 8개의 노드, 각각 64개의 드라이브가 있는 32개의 서버 등이 있을 수 있습니다.

You can also use storage classes to set custom data and parity distribution per object.

스토리지 클래스를 사용하여 객체별로 사용자 정의 데이터 및 패리티 분포를 설정할 수도 있습니다.

Consistency Guarantees

일관성 보장

MinIO follows strict read-after-write and list-after-write consistency model for all i/o operations both in distributed and standalone modes.

MinIO는 분산 모드와 독립 실행형 모드 모두에서 모든 I/O 작업에 대해 엄격한 쓰기 후 읽기 및 쓰기 후 목록 일관성 모델을 따릅니다.

Get started

시작합니다

If you're aware of stand-alone MinIO set up, the process remains largely the same. MinIO server automatically switches to stand-alone or distributed mode, depending on the command line parameters.

독립형 MinIO 설정을 알고 있다면 프로세스는 거의 동일하게 유지됩니다. MinIO 서버는 명령줄 매개변수에 따라 자동으로 독립형 또는 분산 모드로 전환됩니다.

1. Prerequisites

1. 전제 조건

Install MinIO - MinIO Quickstart Guide.

MinIO 설치 - MinIO 빠른 시작 가이드

2. Run distributed MinIO

2. 분산 MinIO 실행

To start a distributed MinIO instance, you just need to pass drive locations as parameters to the minio server command. Then, you’ll need to run the same command on all the participating nodes.

분산 MinIO 인스턴스를 시작하려면 드라이브 위치를 minio 서버 명령에 매개변수로 전달하기만 하면 됩니다. 그런 다음 참여하는 모든 노드에서 동일한 명령을 실행해야 합니다.

Note

메모

All the nodes running distributed MinIO need to have same access key and secret key for the nodes to connect. To achieve this, it is mandatory to export access key and secret key as environment variables, MINIO_ACCESS_KEY and MINIO_SECRET_KEY, on all the nodes before executing MinIO server command.

분산 MinIO를 실행하는 모든 노드는 노드를 연결하기 위해 동일한 액세스 키와 비밀 키를 가지고 있어야 합니다. 이를 위해서는 MinIO 서버 명령을 실행하기 전에 모든 노드에서 액세스 키와 비밀 키를 환경 변수 MINIO_ACCESS_KEY 및 MINIO_SECRET_KEY로 내보내는 것이 필수입니다.

All the nodes running distributed MinIO setup are recommended to be in homogeneous environment, i.e. same operating system, same number of disks and same network interconnects.

분산 MinIO 설정을 실행하는 모든 노드는 동일한 운영 체제, 동일한 수의 디스크 및 동일한 네트워크 상호 연결과 같은 동종 환경에 있는 것이 좋습니다.

MinIO distributed mode requires fresh directories. If required, the drives can be shared with other applications. You can do this by using a sub-directory exclusive to MinIO. For example, if you have mounted your volume under /export, pass /export/data as arguments to MinIO server.

MinIO 분산 모드에는 새로운 디렉토리가 필요합니다. 필요한 경우 드라이브를 다른 애플리케이션과 공유할 수 있습니다. MinIO 전용 하위 디렉터리를 사용하면 이 작업을 수행할 수 있습니다. 예를 들어 /export 아래에 볼륨을 탑재한 경우 /export/data를 MinIO 서버에 인수로 전달합니다.

The IP addresses and drive paths below are for demonstration purposes only, you need to replace these with the actual IP addresses and drive paths/folders.

아래의 IP 주소와 드라이브 경로는 데모용일 뿐이므로 실제 IP 주소와 드라이브 경로/폴더로 바꿔야 합니다.

Servers running distributed MinIO instances should be less than 15 minutes apart. You can enable NTP service as a best practice to ensure same times across servers.

분산형 MinIO 인스턴스를 실행하는 서버의 간격은 15분 미만이어야 합니다. NTP 서비스를 모범 사례로 활성화하여 서버 전체에서 동일한 시간을 보장할 수 있습니다.

Running Distributed MinIO on Windows operating system is experimental. Please proceed with caution.

Windows 운영 체제에서 Distributed(분산) MinIO를 실행하는 것은 실험적입니다. 주의해서 진행하시기 바랍니다.

MINIO_DOMAIN environment variable should be defined and exported if domain is needed to be set.

도메인을 설정해야 하는 경우 MINIO_DOMAIN 환경 변수를 정의하고 내보내야 합니다.

Example 1: Start distributed MinIO instance on 32 nodes with 32 drives each mounted at /export1 to /export32 (pictured below), by running this command on all the 32 nodes:

예 1: 32개 노드 모두에서 이 명령을 실행하여 /export1에서 /export32 (아래 그림)에 각각 마운트된 32개의 드라이브가 있는 32개 노드에서 분산 MinIO 인스턴스를 시작합니다.

GNU/Linux and macOS

GNU/리눅스 및 macOS

Copy

복사

export MINIO_ACCESS_KEY= export MINIO_SECRET_KEY= minio server http://host{1...32}/export{1...32}

NOTE: {1...n} shown have 3 dots! Using only 2 dots {1..32} will be interpreted by your shell and won't be passed to minio server, affecting the erasure coding order, which may impact performance and high availability. Always use ellipses syntax {1...n} (3 dots!) for optimal erasure-code distribution.

참고: 표시된 {1...n}에는 점이 3개 있습니다! 2개의 점 {1..32}만 사용하면 셸에서 해석되며 minio 서버로 전달되지 않아 삭제 코딩 순서에 영향을 미치며 성능과 고가용성에 영향을 미칠 수 있습니다. 최적의 삭제 코드 배포를 위해 항상 타원 구문 {1...n}(점 3개!)을 사용하세요.

3. Test your setup

3. 설정 테스트

To test this setup, access the MinIO server via browser or mc.

이 설정을 테스트하려면 브라우저나 mc를 통해 MinIO 서버에 액세스하세요.

Explore Further

더 자세히 살펴보세요

MinIO Erasure Code QuickStart Guide

MinIO 삭제 코드 빠른 시작 가이드

Use mc with MinIO Server

MinIO 서버와 함께 mc 사용

Use aws-cli with MinIO Server

MinIO 서버와 함께 aws-cli 사용

Use s3cmd with MinIO Server

MinIO 서버와 함께 s3cmd 사용

Use minio-go SDK with MinIO Server

MinIO 서버와 함께 minio-go SDK 사용

The MinIO documentation website

MinIO 문서 웹사이트