MinIO - 1. MinIO 빠른 시작 가이드

목록

MinIO Quickstart Guide

MinIO 빠른 시작 가이드

MinIO is an object storage server released under Apache License v2.0.

MinIO는 Apache License v2.0에 따라 출시된 객체 스토리지 서버입니다.

It is compatible with Amazon S3 cloud storage service.

Amazon S3 클라우드 스토리지 서비스와 호환됩니다.

It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images.

사진, 비디오, 로그 파일, 백업, 컨테이너/VM 이미지 등 구조화되지 않은 데이터를 저장하는 데 가장 적합합니다.

Size of an object can range from a few KBs to a maximum of 5TB.

객체의 크기는 몇 KB에서 최대 5TB까지 가능합니다.

MinIO server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL.

MinIO 서버는 NodeJS, Redis 및 MySQL과 유사하게 애플리케이션 스택과 함께 번들로 제공될 만큼 가볍습니다.

MinIO in its default mode is faster and does not calculate MD5Sum unless passed by client.

기본 모드의 MinIO는 더 빠르며 클라이언트가 전달하지 않는 한 MD5Sum을 계산하지 않습니다.

This may lead to incompatibility with some S3 clients like s3ql that heavily depend on MD5Sum. For such applications start MinIO with --compat option.

이로 인해 MD5Sum에 크게 의존하는 s3ql과 같은 일부 S3 클라이언트와 호환되지 않을 수 있습니다. 이러한 애플리케이션의 경우 --compat 옵션을 사용하여 MinIO를 시작합니다.

Copy

복사

minio --compat server /data

Docker Container

도커 컨테이너

Stable

스테이블(안정적인)

Copy

복사

docker pull minio/minio docker run -p 9000:9000 minio/minio server /data

Edge

엣지

Copy

복사

docker pull minio/minio:edge docker run -p 9000:9000 minio/minio:edge server /data

Note: Docker will not display the autogenerated keys unless you start the container with the -it(interactive TTY) argument.

참고: -it(interactive TTY) 인수를 사용하여 컨테이너를 시작하지 않으면 Docker는 자동 생성된 키를 표시하지 않습니다.

Generally, it is not recommended to use autogenerated keys with containers. Please visit MinIO Docker quickstart guide for more information here

일반적으로 컨테이너에는 자동 생성 키를 사용하지 않는 것이 좋습니다. 자세한 내용은 여기에서 MinIO Docker 빠른 시작 가이드를 참조하세요.

macOS

맥OS

Homebrew

홈브류

Install minio packages using Homebrew

Homebrew를 사용하여 minio 패키지 설치

Copy

복사

brew install minio/stable/minio minio server /data

NOTE: If you previously installed minio using brew install minio then it is recommended that you reinstall minio from minio/stable/minio official repo instead.

참고: 이전에 brew install minio를 사용하여 minio를 설치한 경우, 대신 minio/stable/minio 공식 저장소에서 minio를 다시 설치하는 것이 좋습니다.

Copy

복사

brew uninstall minio brew install minio/stable/minio

Binary Download

바이너리 다운로드

Platform Architecture URL Apple macOS 64-bit Intel https://dl.min.io/server/minio/release/darwin-amd64/minio

Copy

복사

chmod 755 minio ./minio server /data

GNU/Linux

GNU/리눅스

Binary Download

바이너리 다운로드

Platform Architecture URL GNU/Linux 64-bit Intel https://dl.min.io/server/minio/release/linux-amd64/minio

Copy

복사

wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio ./minio server /dataPlatform Architecture URL GNU/Linux ppc64le https://dl.min.io/server/minio/release/linux-ppc64le/minio

Copy

복사

wget https://dl.min.io/server/minio/release/linux-ppc64le/minio chmod +x minio ./minio server /data

Microsoft Windows

마이크로소프트 윈도우

Binary Download

바이너리 다운로드

Platform Architecture URL Microsoft Windows 64-bit https://dl.min.io/server/minio/release/windows-amd64/minio.exe

Copy

복사

minio.exe server D:\Photos

FreeBSD

프리버스

Port

포트

Install minio packages using pkg

pkg를 사용하여 minio 패키지 설치

Copy

복사

pkg install minio sysrc minio_enable=yes sysrc minio_disks=/home/user/Photos service minio start

Install from Source

소스에서 설치

Source installation is only intended for developers and advanced users. If you do not have a working Golang environment, please follow How to install Golang. Minimum version required is go1.12

소스 설치는 개발자와 고급 사용자만을 위한 것입니다. 작동하는 Golang 환경이 없다면 Golang 설치 방법을 따르세요. 필요한 최소 버전은 go1.12입니다.

Copy

복사

GO111MODULE=on go get github.com/minio/minio

Allow port access for Firewalls

방화벽에 대한 포트 액세스 허용

By default MinIO uses the port 9000 to listen for incoming connections. If your platform blocks the port by default, you may need to enable access to the port.

기본적으로 MinIO는 포트 9000을 사용하여 들어오는 연결을 수신합니다. 플랫폼이 기본적으로 포트를 차단하는 경우 포트에 대한 액세스를 활성화해야 할 수도 있습니다.

iptables

iptables

For hosts with iptables enabled (RHEL, CentOS, etc), you can use iptables command to enable all traffic coming to specific ports. Use below command to allow access to port 9000

iptables가 활성화된 호스트 (RHEL, CentOS 등)의 경우 iptables 명령을 사용하여 특정 포트로 들어오는 모든 트래픽을 활성화할 수 있습니다. 포트 9000에 대한 액세스를 허용하려면 아래 명령을 사용하십시오.

Copy

복사

iptables -A INPUT -p tcp --dport 9000 -j ACCEPT service iptables restart

Below command enables all incoming traffic to ports ranging from 9000 to 9010.

아래 명령은 9000~9010 범위의 포트로 들어오는 모든 트래픽을 활성화합니다.

Copy

복사

iptables -A INPUT -p tcp --dport 9000:9010 -j ACCEPT service iptables restart

ufw

ufw

For hosts with ufw enabled (Debian based distros), you can use ufw command to allow traffic to specific ports. Use below command to allow access to port 9000 ufw

ufw가 활성화된 호스트 (Debian 기반 배포판)의 경우 ufw 명령을 사용하여 특정 포트에 대한 트래픽을 허용할 수 있습니다. 포트 9000에 대한 액세스를 허용하려면 아래 명령을 사용하십시오. ufw

Copy

복사

ufw allow 9000

ufw는 9000을 허용합니다

Below command enables all incoming traffic to ports ranging from 9000 to 9010.

아래 명령은 9000~9010 범위의 포트로 들어오는 모든 트래픽을 활성화합니다.

Copy

복사

ufw allow 9000:9010/tcp

ufw는 9000:9010/tcp를 허용합니다

firewall-cmd

firewall-cmd (방화벽-cmd)

For hosts with firewall-cmd enabled (CentOS), you can use firewall-cmd command to allow traffic to specific ports. Use below commands to allow access to port 9000

방화벽 cmd가 활성화된 호스트 (CentOS)의 경우 방화벽 cmd 명령을 사용하여 특정 포트에 대한 트래픽을 허용할 수 있습니다. 아래 명령을 사용하여 포트 9000에 대한 액세스를 허용하십시오.

Copy

복사

firewall-cmd --get-active-zones

방화벽-cmd --get-활성 영역

This command gets the active zone(s). Now, apply port rules to the relevant zones returned above. For example if the zone is public, use...

이 명령은 활성 영역을 가져옵니다. 이제 위에서 반환된 관련 영역에 포트 규칙을 적용합니다. 예를 들어 영역이 공개인 경우 다음을 사용하십시오...

Copy

복사

firewall-cmd --zone=public --add-port=9000/tcp --permanent

방화벽-cmd --zone=공개 --추가 포트=9000/tcp --영구

Note that permanent makes sure the rules are persistent across firewall start, restart or reload. Finally reload the firewall for changes to take effect.

영구는 방화벽 시작, 다시 시작 또는 다시 로드 전반에 걸쳐 규칙이 지속되는지 확인합니다. 마지막으로 변경 사항을 적용하려면 방화벽을 다시 로드하세요.

Copy

복사

firewall-cmd --reload

Test using MinIO Browser

MinIO 브라우저를 사용하여 테스트

MinIO Server comes with an embedded web based object browser.

MinIO 서버에는 웹 기반 객체 브라우저가 내장되어 있습니다.

Point your web browser to http://127.0.0.1:9000 ensure your server has started successfully.

웹 브라우저에서 http://127.0.0.1:9000으로 이동하여 서버가 성공적으로 시작되었는지 확인하세요.

Test using MinIO Client mc

MinIO 클라이언트 mc를 사용하여 테스트

mc provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc.

mc는 ls, cat, cp, mirror, diff 등과 같은 UNIX 명령에 대한 현대적인 대안을 제공합니다.

It supports filesystems and Amazon S3 compatible cloud storage services. Follow the MinIO Client Quickstart Guide for further instructions.

파일 시스템과 Amazon S3 호환 클라우드 스토리지 서비스를 지원합니다. 자세한 지침은 MinIO 클라이언트 빠른 시작 가이드를 따르세요.

Pre-existing data

기존 데이터

When deployed on a single drive, MinIO server lets clients access any pre-existing data in the data directory.

단일 드라이브에 배포되면 MinIO 서버를 통해 클라이언트는 데이터 디렉터리에 있는 모든 기존 데이터에 액세스할 수 있습니다.

For example, if MinIO is started with the command minio server/mnt/data, any pre-existing data in the /mnt/data directory would be accessible to the clients.

예를 들어, MinIO가 minio server/mnt/data 명령으로 시작되면 클라이언트는 /mnt/data 디렉토리에 있는 기존 데이터에 액세스할 수 있습니다.

The above statement is also valid for all gateway backends.

위의 설명은 모든 게이트웨이 백엔드에도 유효합니다.

Upgrading MinIO

MinIO 업그레이드

MinIO server supports rolling upgrades, i.e. you can update one MinIO instance at a time in a distributed cluster. This allows upgrades with no downtime.

MinIO 서버는 롤링 업그레이드를 지원합니다. 즉, 분산 클러스터에서 한 번에 하나의 MinIO 인스턴스를 업데이트할 수 있습니다. 이를 통해 가동 중지 시간 없이 업그레이드할 수 있습니다.

Upgrades can be done manually by replacing the binary with the latest release and restarting all servers in a rolling fashion.

업그레이드는 바이너리를 최신 릴리스로 교체하고 롤링 방식으로 모든 서버를 다시 시작하여 수동으로 수행할 수 있습니다.

However, we recommend all our users to use mc admin update from the client.

하지만 모든 사용자는 클라이언트에서 mc admin 업데이트를 사용하는 것이 좋습니다.

This will update all the nodes in the cluster and restart them, as shown in the following command from the MinIO client (mc):

그러면 MinIO 클라이언트 (mc)의 다음 명령에 표시된 대로 클러스터의 모든 노드가 업데이트되고 다시 시작됩니다:

Copy

복사

mc admin update

Important things to remember during upgrades:

업그레이드 중에 기억해야 할 중요한 사항:

mc admin update will only work if the user running MinIO has write access to the parent directory where the binary is located, for example if the current binary is at /usr/local/bin/minio, you would need write access to /usr/local/bin.

mc admin 업데이트는 MinIO를 실행하는 사용자가 바이너리가 있는 상위 디렉터리에 대한 쓰기 액세스 권한을 가지고 있는 경우에만 작동합니다. 예를 들어 현재 바이너리가 /usr/local/bin/minio에 있는 경우 /usr/에 대한 쓰기 액세스 권한이 필요합니다.

In the case of federated setups mc admin update should be run against each cluster individually. Avoid updating mc until all clusters have been updated.

연합 설정의 경우 mc admin 업데이트는 각 클러스터에 대해 개별적으로 실행되어야 합니다. 모든 클러스터가 업데이트될 때까지 mc를 업데이트하지 마세요.

If you are updating the server it is always recommended (unless explicitly mentioned in MinIO server release notes), to update mc once all the servers have been upgraded using mc update.

서버를 업데이트하는 경우 (MinIO 서버 릴리스 노트에 명시적으로 언급되지 않은 한) mc 업데이트를 사용하여 모든 서버가 업그레이드된 후 mc를 업데이트하는 것이 항상 권장됩니다.

mc admin update is disabled in docker/container environments, container environments provide their own mechanisms for updating running containers.

Docker/컨테이너 환경에서는 mc admin 업데이트가 비활성화되어 있으며, 컨테이너 환경은 실행 중인 컨테이너를 업데이트하기 위한 자체 메커니즘을 제공합니다.

If you are using Vault as KMS with MinIO, ensure you have followed the Vault upgrade procedure outlined here: https://www.vaultproject.io/docs/upgrading/index.html

MinIO와 함께 Vault를 KMS로 사용하는 경우 여기에 설명된 Vault 업그레이드 절차를 따랐는지 확인하세요: https://www.vaultproject.io/docs/upgrading/index.html

If you are using etcd with MinIO for the federation, ensure you have followed the etcd upgrade procedure outlined here: https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrading-etcd.md

페더레이션을 위해 MinIO와 함께 etcd를 사용하는 경우 여기에 설명된 etcd 업그레이드 절차를 따랐는지 확인하세요: https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrading-etcd.md

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 문서 웹사이트

Contribute to MinIO Project

MinIO 프로젝트에 기여

Please follow MinIO Contributor's Guide

MinIO 기고자 가이드를 따르세요