文档

MinIO 服务器

MinIO 服务器

The minio server 命令启动 MinIO 服务器进程

minio server /mnt/disk{1...4}

有关在裸机环境中部署 minio server 的示例,请参见 安装和部署 MinIO.

有关在 Kubernetes 环境中部署 minio server 的示例,请参见 部署 MinIO 租户.

语法

启动 minio 服务器进程。

该命令具有以下语法

minio server [FLAGS] HOSTNAME/DIRECTORIES [HOSTNAME/DIRECTORIES..]

该命令接受以下参数

HOSTNAME

minio server 进程的主机名。

对于独立部署,此字段是可选的。您可以仅使用 DIRECTORIES 参数启动独立的 server 进程。

对于分布式部署,请在部署中指定每个 minio server 的主机名。一组 minio server 进程代表一个单个 服务器池.

HOSTNAME 支持 MinIO 扩展表示法 {x...y} 来表示一系列连续的主机名。MinIO *要求* 连续的主机名来识别集合中的每个 minio server 进程。

例如,https://minio{1...4}.example.net 将扩展为

  • https://minio1.example.net

  • https://minio2.example.net

  • https://minio3.example.net

  • https://minio4.example.net

您必须使用 *相同* 的 HOSTNAMEDIRECTORIES 组合在服务器池中的每个主机上运行 minio server 命令。

每个额外的 HOSTNAME/DIRECTORIES 对表示一个额外的服务器集,用于水平扩展 MinIO 部署。有关服务器池的更多信息,请参见 服务器池

DIRECTORIES
必需

minio server 进程用作存储后端的目录或驱动器。

DIRECTORIES 支持 MinIO 扩展表示法 {x...y} 来表示一系列连续的文件夹或驱动器。例如,/mnt/disk{1...4} 将扩展为

  • /mnt/disk1

  • /mnt/disk2

  • /mnt/disk3

  • /mnt/disk4

第一次启动 minio 进程时,DIRECTORIES 路径 *必须* 为空。

minio server 进程至少需要 4 个驱动器或目录才能启用 擦除编码

重要

MinIO 建议使用本地连接的驱动器,其中 DIRECTORIES 路径指向主机上的每个驱动器。MinIO 建议*不要* 使用网络连接的存储,因为与本地连接的存储相比,网络延迟会降低这些驱动器的性能。

为了开发或评估,您可以在单个物理卷上指定多个逻辑目录或分区,以在部署上启用擦除编码。

对于生产环境,MinIO *不建议* 在单个物理磁盘上使用多个逻辑目录或分区。虽然 MinIO 支持这些配置,但潜在的成本节约是以降低可靠性为代价的。

--address
可选

minio 服务器进程绑定到特定的网络地址和端口号。将地址和端口指定为 ADDRESS:PORT,其中 ADDRESS 是 IP 地址或主机名,而 PORT 是主机上有效的开放端口。MinIO 支持 IPv4 和 IPv6 寻址,前提是指定的地址是可路由的和可解析的。

要更改主机上配置的所有 IP 地址或主机名的端口号,只需指定 :PORT,其中 PORT 是主机上有效的开放端口。

Changed in version RELEASE.2023-01-02T09-40-09Z: 您可以配置您的主机文件以使 MinIO 仅监听特定 IP。例如,如果机器的 /etc/hosts 文件包含以下内容

127.0.1.1       minioip
127.0.1.2       minioip

以下命令将在两个配置的 IP 地址上监听端口 9000 上的 API 调用。

minio server --address "minioip:9000" ~/miniodirectory

如果省略,minio 将绑定到主机上所有配置的 IPv4 地址、IPv6 地址和主机名上的端口 9000

--console-address
可选

为嵌入式 MinIO 控制台指定一个静态端口。

省略以指示 MinIO 在服务器启动时生成一个动态端口。MinIO 服务器会将端口输出到系统日志。

--ftp
可选

启用并配置文件传输协议 (FTP) 或通过 SSL/TLS (FTPS) 的文件传输协议服务器。多次使用此标志以指定地址端口、地址的被动端口范围或 TLS 证书和密钥作为键值对。

有效键

  • address,它接受用于服务器的单个端口,通常为 8021

  • (可选) passive-port-range,它限制服务器可以用于传输数据的潜在端口范围,例如当严格的防火墙规则限制 FTP 服务器可以为连接请求的端口时

  • (可选) tls-private-key,它接受用户用于通过 TLS 访问 MinIO 部署的私钥的路径

    tls-public-cert 一起使用。

  • (可选) tls-public-cert,它接受用于通过 TLS 访问 MinIO 部署的证书的路径

    tls-private-key 一起使用。

对于启用了 TLS 的 MinIO 部署,省略 tls-private-keytls-public-key 以指示 MinIO 使用 MinIO 部署的默认 TLS 密钥。有关更多信息,请参见 网络加密 (TLS)。您只需要指定证书和私钥到与 MinIO 默认不同的 TLS 证书和密钥集(例如,要使用不同的域)。

例如

minio server http://server{1...4}/disk{1...4} \
--ftp="address=:8021"                         \
--ftp="passive-port-range=30000-40000"        \
--ftp="tls-private-key=path/to/private.key"   \
--ftp="tls-public-cert=path/to/public.crt"    \
...
--sftp
可选

启用并配置 SSH 文件传输协议 (SFTP) 服务器。多次使用以指定每个所需的键值对。

下表列出了有效的键。

描述

有效值

address

用于连接到 SFTP 的端口。

任何有效的端口号,通常为 8022

ssh-private-key

用户私钥文件的路径。

要使用的密钥文件的绝对路径或相对于当前位置的相对路径。

trusted-user-ca-key

指定包含受信任的证书颁发机构的公钥的文件,该证书颁发机构受信任对用户证书进行签名以进行身份验证。该文件必须包含一个 用户主体列表,并且该列表必须包含可以使用该密钥进行身份验证的用户。

用户受信任的证书颁发机构公钥文件的绝对路径或相对于当前位置的相对路径。

pub-key-algos

要支持的公钥算法的逗号分隔列表。

ssh-ed25519
[email protected]
[email protected]
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
rsa-sha2-256
rsa-sha2-512
ssh-rsa
ssh-dss

kex-algos

要支持的密钥交换算法的优先级顺序逗号分隔列表。

curve25519-sha256
[email protected]
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group14-sha1
diffie-hellman-group1-sha1

cipher-algos

要支持的密码算法的逗号分隔列表

aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]
[email protected]
arcfour256
arcfour128
arcfour
aes128-cbc
3des-cbc

mac-algos

要支持的 MAC 算法的优先级顺序逗号分隔列表。基于 RFC 4253 第 6.4 节,除了 hmac-md5 变体,它们已经过时。

[email protected]
[email protected]
hmac-sha2-256
hmac-sha2-512
hmac-sha1
hmac-sha1-96

disable-password-auth

禁用密码身份验证。

true

例如

minio server http://server{1...4}/disk{1...4}                                 \
--sftp="address=:8022" --sftp="ssh-private-key=/home/miniouser/.ssh/id_rsa"   \
--sftp="kex-algos=diffie-hellman-group14-sha256,[email protected]" \
...
--certs-dir, -S
可选

指定包含 minio 进程用于配置 TLS/SSL 连接的证书的文件夹的路径。

指定文件夹的内容必须遵循 默认路径结构。例如,--certs-dir /etc/minio 的路径内容应类似于以下内容

/etc/minio
  private.key
  public.crt
  domain.tld/
    private.key
    public.crt
  CAs/
    full-chain-ca.crt

省略以使用默认目录路径

  • Linux/macOS: ${HOME}/.minio/certs

  • Windows: %%USERPROFILE%%\.minio\certs

有关 TLS/SSL 连接的更多信息,请参见 网络加密 (TLS)

重要

MinIO Server RELEASE.2023-12-09T18-17-51Z 删除了已弃用的 --config-dir | -C 参数。使用此标志的部署可能会在未启用 TLS 的情况下启动。将这些参数替换为 --certs-dir | -S 并重新启动以重新启用 TLS。

--quiet
可选

禁用启动信息。

--anonymous
可选

从日志中隐藏敏感信息。

--json
可选

JSON 格式输出服务器日志和启动信息。

注意

您可以通过在 MINIO_OPTS 环境变量中设置它们来定义上述任何 minio 参数。此变量将其值作为单个字符串,其中包含您希望在启动 MinIO 服务器时设置的上述任何参数及其值。

设置

您可以通过定义额外的 配置值环境变量 来对 MinIO 服务器进程进行其他自定义。

许多配置值和环境变量定义了相同的值。如果您同时设置了配置值和匹配的环境变量,MinIO 将使用环境变量中的值。