minio - マルチクラウド☁️オブジェクトストレージ

(Multi-Cloud :cloud: Object Storage )

Created at: 2015-01-15 03:23:58
Language: Go
License: AGPL-3.0

MinIO クイックスタートガイド

スラック ドッカープル ライセンス

ミニョ

MinIOは、GNU Affero General Public License v3.0の下でリリースされた高性能オブジェクトストレージです。Amazon S3 クラウドストレージサービスと互換性のある API です。MinIOを使用して、機械学習、分析、アプリケーションデータワークロード用の高性能インフラストラクチャを構築します。

この README は、コンテナーベースのインストールなど、ベアメタルハードウェア上での MinIO の実行に関するクイックスタート手順を提供します。Kubernetes 環境の場合は、MinIO Kubernetes Operator を使用します。

コンテナのインストール

次のコマンドを使用して、スタンドアロンの MinIO サーバーをコンテナーとして実行します。

スタンドアロンの MinIO サーバーは、初期の開発と評価に最適です。バージョン管理、オブジェクトロック、バケットレプリケーションなどの特定の機能では、消去コーディングを使用してMinIOを分散デプロイする必要があります。拡張された開発と運用では、消去コーディングを有効にして MinIO を展開します (具体的には、MinIO サーバーあたり最低 4 台のドライブを使用します)。より完全なドキュメントについては、「MinIO 消去コードの概要」を参照してください。

次のコマンドを実行して、一時的なデータボリュームを使用して、MinIO の最新の安定したイメージをコンテナーとして実行します。

podman run -p 9000:9000 -p 9001:9001 \
  quay.io/minio/minio server /data --console-address ":9001"

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている埋め込みオブジェクトブラウザである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の場合は、「サポートされている言語の MinIO SDK を表示する https://min.io/docs/minio/linux/developers/minio-drivers.html」を参照してください。

mc
mc

注: 永続ストレージを使用して MinIO を展開するには、このオプションを使用して、ローカル永続ディレクトリをホスト OS からコンテナーにマップする必要があります。たとえば、ホスト OS ドライブをコンテナー上の にマップします。

podman -v
-v /mnt/data:/data
/mnt/data
/data

マックOS

次のコマンドを使用して、macOS 上でスタンドアロンの MinIO サーバーを実行します。

スタンドアロンの MinIO サーバーは、初期の開発と評価に最適です。バージョン管理、オブジェクトロック、バケットレプリケーションなどの特定の機能では、消去コーディングを使用してMinIOを分散デプロイする必要があります。拡張された開発と運用では、消去コーディングを有効にして MinIO を展開します (具体的には、MinIO サーバーあたり最低 4 台のドライブを使用します)。より完全なドキュメントについては、「MinIO 消去コードの概要」を参照してください。

自作(推奨)

次のコマンドを実行して、Homebrewを使用して最新の安定したMinIOパッケージをインストールします。MinIO にデータを格納するドライブまたはディレクトリへのパスに置き換えます。

/data

brew install minio/stable/minio
minio server /data

注:以前にminioを使用してインストールした場合は、代わりに公式リポジトリからminioを再インストールすることをお勧めします。

brew install minio
minio/stable/minio

brew uninstall minio
brew install minio/stable/minio

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている組み込み Web ベースのオブジェクト ブラウザーである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の方は、「サポートされている言語の MinIO SDK を表示するための https://min.io/docs/minio/linux/developers/minio-drivers.html/」を参照してください。

mc
mc

バイナリダウンロード

次のコマンドを使用して、macOS 上にスタンドアロンの MinIO サーバーをダウンロードして実行します。MinIO にデータを格納するドライブまたはディレクトリへのパスに置き換えます。

/data

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

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている組み込み Web ベースのオブジェクト ブラウザーである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の場合は、「サポートされている言語の MinIO SDK を表示する https://min.io/docs/minio/linux/developers/minio-drivers.html」を参照してください。

mc
mc

GNU/Linux

次のコマンドを使用して、64 ビットの Intel/AMD アーキテクチャーを実行する Linux ホスト上でスタンドアロンの MinIO サーバーを実行します。MinIO にデータを格納するドライブまたはディレクトリへのパスに置き換えます。

/data

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

MinIO にデータを格納するドライブまたはディレクトリへのパスに置き換えます。

/data

次の表に、サポートされているアーキテクチャを示します。URL を Linux ホストのアーキテクチャに置き換えます。

wget

建築 出典
64ビットインテル/ AMD https://dl.min.io/server/minio/release/linux-amd64/minio
64 ビット ARM https://dl.min.io/server/minio/release/linux-arm64/minio
64 ビット PowerPC LE (ppc64le) https://dl.min.io/server/minio/release/linux-ppc64le/minio
IBM Zシリーズ(S390X) https://dl.min.io/server/minio/release/linux-s390x/minio

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている組み込み Web ベースのオブジェクト ブラウザーである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の場合は、「サポートされている言語の MinIO SDK を表示する https://min.io/docs/minio/linux/developers/minio-drivers.html」を参照してください。

mc
mc

注: スタンドアロンの MinIO サーバーは、初期の開発と評価に最適です。バージョン管理、オブジェクトロック、バケットレプリケーションなどの特定の機能では、消去コーディングを使用してMinIOを分散デプロイする必要があります。拡張された開発と運用では、消去コーディングを有効にして MinIO を展開します (具体的には、MinIO サーバーあたり最低 4 台のドライブを使用します)。より完全なドキュメントについては、「MinIO 消去コードの概要」を参照してください。

マイクロソフトウィンドウズ

64 ビット Windows ホストで MinIO を実行するには、次の URL から MinIO 実行可能ファイルをダウンロードします。

https://dl.min.io/server/minio/release/windows-amd64/minio.exe

次のコマンドを使用して、Windows ホスト上でスタンドアロンの MinIO サーバーを実行します。MinIO にデータを格納するドライブまたはディレクトリへのパスに置き換えます。端末または powershell ディレクトリーを実行可能ファイルの場所に変更するか、そのディレクトリーへのパスをシステムに追加する必要があります。

D:\
minio.exe
$PATH

minio.exe server D:\

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている組み込み Web ベースのオブジェクト ブラウザーである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の場合は、「サポートされている言語の MinIO SDK を表示する https://min.io/docs/minio/linux/developers/minio-drivers.html」を参照してください。

mc
mc

注: スタンドアロンの MinIO サーバーは、初期の開発と評価に最適です。バージョン管理、オブジェクトロック、バケットレプリケーションなどの特定の機能では、消去コーディングを使用してMinIOを分散デプロイする必要があります。拡張された開発と運用では、消去コーディングを有効にして MinIO を展開します (具体的には、MinIO サーバーあたり最低 4 台のドライブを使用します)。より完全なドキュメントについては、「MinIO 消去コードの概要」を参照してください。

ソースからのインストール

次のコマンドを使用して、ソースからスタンドアロンの MinIO サーバーをコンパイルして実行します。ソースインストールは、開発者と上級ユーザーのみを対象としています。Golang 環境が動作していない場合は、Golang のインストール方法に従ってください。最低限必要なバージョンはgo1.18です

go install github.com/minio/minio@latest

MinIO 展開は、既定のルート資格情報を使用して開始されます。MinIO サーバーに組み込まれている組み込み Web ベースのオブジェクト ブラウザーである MinIO コンソールを使用して、展開をテストできます。ホスト・マシン上で実行されている Web ブラウザーに、ルート資格情報を使用して http://127.0.0.1:9000 およびログインするように指示します。ブラウザーを使用して、バケットの作成、オブジェクトのアップロード、MinIO サーバーのコンテンツの参照を行うことができます。

minioadmin:minioadmin

MinIO クライアントのコマンド ライン ツールなど、S3 互換のツールを使用して接続することもできます。コマンドラインツールの使用方法の詳細については、「MinIO クライアント mc を使用したテスト」を参照してください。アプリケーション開発者の場合は、「サポートされている言語の MinIO SDK を表示する https://min.io/docs/minio/linux/developers/minio-drivers.html」を参照してください。

mc
mc

注: スタンドアロンの MinIO サーバーは、初期の開発と評価に最適です。バージョン管理、オブジェクトロック、バケットレプリケーションなどの特定の機能では、消去コーディングを使用してMinIOを分散デプロイする必要があります。拡張された開発と運用では、消去コーディングを有効にして MinIO を展開します (具体的には、MinIO サーバーあたり最低 4 台のドライブを使用します)。より完全なドキュメントについては、「MinIO 消去コードの概要」を参照してください。

MinIO では、運用環境にソースからコンパイルされた MinIO サーバーを使用しないことを強くお勧めします。

展開に関する推奨事項

ファイアウォールのポートアクセスを許可する

デフォルトでは、MinIO はポート 9000 を使用して着信接続をリッスンします。プラットフォームがデフォルトでポートをブロックしている場合は、ポートへのアクセスを有効にする必要があります。

ティッカー

ufw が有効になっているホスト (Debian ベースのディストリビューション) の場合、コマンドを使用して特定のポートへのトラフィックを許可することができます。以下のコマンドを使用して、ポート9000へのアクセスを許可します。

ufw

ufw allow 9000

以下のコマンドは、9000 から 9010 までのポートへのすべての着信トラフィックを有効にします。

ufw allow 9000:9010/tcp

ファイアウォール cmd

firewall-cmd が有効になっているホスト (CentOS) の場合、コマンドを使用して特定のポートへのトラフィックを許可できます。以下のコマンドを使用して、ポート9000へのアクセスを許可します。

firewall-cmd

firewall-cmd --get-active-zones

このコマンドは、アクティブなゾーンを取得します。次に、上記で返された関連するゾーンにポートルールを適用します。たとえば、ゾーンが の場合は、

public

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

ルールがファイアウォールの開始、再起動、または再読み込み後も保持されていることを確認してください。最後に、ファイアウォールをリロードして変更を有効にします。

permanent

firewall-cmd --reload

iptables

iptables が有効になっているホスト (RHEL、CentOS など) の場合、コマンドを使用して、特定のポートに着信するすべてのトラフィックを有効にできます。以下のコマンドを使用して、ポート9000へのアクセスを許可します。

iptables

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

以下のコマンドは、9000 から 9010 までのポートへのすべての着信トラフィックを有効にします。

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

MinIO 接続のテスト

MinIO コンソールを使用したテスト

MinIOサーバーには、Webベースのオブジェクトブラウザが組み込まれています。Web ブラウザーを http://127.0.0.1:9000 にポイントして、サーバーが正常に始動したことを確認します。

メモ: MinIO は、特定のインターフェイスとポートを選択するために特定のポート使用を選択する場合、デフォルトでランダムなポートでコンソールを実行します。

--console-address

考慮すべき事項

MinIOは、ブラウザアクセス要求を設定されたサーバーポート(つまり)にリダイレクトし、設定されたコンソールポートにリダイレクトします。MinIO は、リダイレクト URL を構築するときに、要求で指定されたホスト名または IP アドレスを使用します。リダイレクトが機能するには、URL とポートにクライアントがアクセスできる必要があります

127.0.0.1:9000

MinIO ホストの IP アドレスまたはポートがパブリックでないロードバランサー、プロキシ、またはイングレスルールの背後にあるデプロイメントの場合は、環境変数を使用してリダイレクトの外部ホスト名を指定します。LB/プロキシには、特にコンソール ポートにトラフィックを送信するためのルールが必要です。

MINIO_BROWSER_REDIRECT_URL

For example, consider a MinIO deployment behind a proxy , with rules for forwarding traffic on port :9000 and :9001 to MinIO and the MinIO Console respectively on the internal network. Set to to ensure the browser receives a valid reachable URL.

https://minio.example.net
https://console.minio.example.net
MINIO_BROWSER_REDIRECT_URL
https://console.minio.example.net

Similarly, if your TLS certificates do not have the IP SAN for the MinIO server host, the MinIO Console may fail to validate the connection to the server. Use the environment variable and specify the proxy-accessible hostname of the MinIO server to allow the Console to use the MinIO server API using the TLS certificate.

MINIO_SERVER_URL

For example:

export MINIO_SERVER_URL="https://minio.example.net"

Dashboard Creating a bucket
Dashboard Dashboard

Test using MinIO Client
mc

mc
provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services. Follow the MinIO Client Quickstart Guide for further instructions.

Upgrading MinIO

Upgrades require zero downtime in MinIO, all upgrades are non-disruptive, all transactions on MinIO are atomic. So upgrading all the servers simultaneously is the recommended way to upgrade MinIO.

NOTE: requires internet access to update directly from https://dl.min.io, optionally you can host any mirrors at https://my-artifactory.example.com/minio/

  • For deployments that installed the MinIO server binary by hand, use
    mc admin update
mc admin update <minio alias, e.g., myminio>
  • For deployments without external internet access (e.g. airgapped environments), download the binary from https://dl.min.io and replace the existing MinIO binary let's say for example , apply executable permissions and proceed to perform .

    /opt/bin/minio
    chmod +x /opt/bin/minio
    mc admin service restart alias/

  • For installations using Systemd MinIO service, upgrade via RPM/DEB packages parallelly on all servers or replace the binary lets say on all nodes, apply executable permissions and process to perform .

    /opt/bin/minio
    chmod +x /opt/bin/minio
    mc admin service restart alias/

Upgrade Checklist

  • 運用環境に適用する前に、下位の環境 (DEV、QA、UAT) ですべてのアップグレードをテストします。本番環境でブラインド・アップグレードを実行すると、大きなリスクが伴います。
  • アップグレードを実行する前にMinIOのリリースノートを読んでください、すべてのリリースで最新のリリースにアップグレードする強制的な要件はありません。一部のリリースはセットアップに関連しない場合があり、運用環境を不必要にアップグレードしないでください。
  • を使用する予定の場合は、MinIO プロセスに、ホスト システム上にバイナリが存在する親ディレクトリへの書き込みアクセス権が必要です。
    mc admin update
  • mc admin update
    はサポートされておらず、kubernetes/コンテナ環境では避けるべきですが、関連するコンテナイメージをアップグレードしてコンテナをアップグレードしてください。
  • 一度に1つのMinIOサーバーをアップグレードすることはお勧めしませんが、製品は並列アップグレードをサポートするように設計されています。

さらに詳しく

MinIOプロジェクトへの貢献

MinIOコントリビューターズガイドに従ってください

ライセンス