安装minio

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

下载

从官方网站下载最新版本Minio,网址为: https://github.com/minio/minio,最新下载URL为: https://dl.min.io/server/minio/release/linux-amd64/minio
用ftp或sftp工具拷贝minio到linux操作系统

启动

  1. chmod +x minio
  2. # 使用默认端口:9000
  3. ./minio server /data
  4. # 指定端口
  5. ./minio server --address ":9001" ./data
  6. # 指定accessKey和secretKey启动
  7. export MINIO_ACCESS_KEY=clown
  8. export MINIO_SECRET_KEY=clown
  9. ./minio server /data

集群部署

  1. export MINIO_ACCESS_KEY=Minio
  2. export MINIO_SECRET_KEY=Test123456
  3. /opt/minio/minio server --config-dir /etc/minio \
  4. http://172.16.1.101/minio/data1 http://172.16.1.101/minio/data2 \
  5. http://172.16.1.102/minio/data1 http://172.16.1.102/minio/data2 \

其中,“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“–config-dir”指定集群配置文件目录,生成复杂用户名和密码可通过类似Linux命令
tr -cd ‘[:alnum:]’ </dev/urandom |fold -w64|head -n1的方式来生成

多租户部署

单机部署

要在单台机器上托管多个租户,为每个租户运行一个Minio server,使用不同的HTTPS端口、配置和数据目录。

示例1:单主机,单磁盘

以下示例在一块磁盘上托管三个租户。

  1. minio --config-dir ~/tenant1 server --address :9001 /data/tenant1
  2. minio --config-dir ~/tenant2 server --address :9002 /data/tenant2
  3. minio --config-dir ~/tenant3 server --address :9003 /data/tenant3

示例2:单主机,多块磁盘 (erasure code)

以下示例在多块磁盘上托管三个租户。

  1. minio --config-dir ~/tenant1 server --address :9001 /disk1/data/tenant1 /disk2/data/tenant1 /disk3/data/tenant1 /disk4/data/tenant1
  2. minio --config-dir ~/tenant2 server --address :9002 /disk1/data/tenant2 /disk2/data/tenant2 /disk3/data/tenant2 /disk4/data/tenant2
  3. minio --config-dir ~/tenant3 server --address :9003 /disk1/data/tenant3 /disk2/data/tenant3 /disk3/data/tenant3 /disk4/data/tenant3

分布式部署

要在分布式环境中托管多个租户,同时运行多个分布式Minio实例。
To host multiple tenants in a distributed environment, run several distributed Minio instances concurrently.

示例3 : 多主机,多块磁盘 (erasure code)

以下示例在一个4节点集群中托管三个租户。在4个节点里都执行下列命令:

  1. export MINIO_ACCESS_KEY=<TENANT1_ACCESS_KEY>
  2. export MINIO_SECRET_KEY=<TENANT1_SECRET_KEY>
  3. minio --config-dir ~/tenant1 server --address :9001 http://192.168.10.11/data/tenant1 http://192.168.10.12/data/tenant1 http://192.168.10.13/data/tenant1 http://192.168.10.14/data/tenant1
  4. export MINIO_ACCESS_KEY=<TENANT2_ACCESS_KEY>
  5. export MINIO_SECRET_KEY=<TENANT2_SECRET_KEY>
  6. minio --config-dir ~/tenant2 server --address :9002 http://192.168.10.11/data/tenant2 http://192.168.10.12/data/tenant2 http://192.168.10.13/data/tenant2 http://192.168.10.14/data/tenant2
  7. export MINIO_ACCESS_KEY=<TENANT3_ACCESS_KEY>
  8. export MINIO_SECRET_KEY=<TENANT3_SECRET_KEY>
  9. minio --config-dir ~/tenant3 server --address :9003 http://192.168.10.11/data/tenant3 http://192.168.10.12/data/tenant3 http://192.168.10.13/data/tenant3 http://192.168.10.14/data/tenant3