在 macOS 上部署 MinIO
本页记录了在 Apple MacOS 主机上部署 MinIO 的步骤。
MinIO 官方对 macOS 操作系统的服务状态支持期限通常为自初始发布起 3 年。 在撰写本文时,受支持的系统包括:
macOS 14 (Sonoma) (推荐)
macOS 13 (Ventura)
macOS 12 (Monterey)
MinIO可能在较旧或不受支持的 macOS 版本上运行,MinIO 或 RedHat 提供的支持或故障排除有限。
MinIO 支持基于 Intel 和 ARM 的 macOS 硬件,并为每种架构提供不同的二进制文件。 请根据文档确保为您的宿主机系统下载正确的二进制文件。
该流程包含部署单节点多驱动器(SNMD)和单节点单驱动器(SNSD)拓扑结构的指导,旨在支持早期开发和评估环境。
MinIO 官方不支持在 MacOS 主机上配置多节点多驱动器(MNMD)“分布式”模式。
注意事项
审查清单
在尝试此过程之前,请确保您已查阅我们发布的硬件、软件和安全检查清单。
擦除编码奇偶校验
MinIO 自动确定默认值纠删码基于拓扑中的节点和驱动器总数配置集群。
您可以配置每个对象的奇偶性设置集群时的设置or让 MinIO 选择默认值(EC:4适用于生产级集群)。
Parity controls the relationship between object availability and storage on disk. Use the MinIOErasure Code Calculator为您的集群选择合适的纠删码奇偶校验级别提供指导。
虽然您可以随时更改擦除码奇偶校验设置,但使用特定奇偶校验写入的对象不自动更新到新的奇偶校验设置。
过程
1. 下载 MinIO 二进制文件
打开终端并运行以下命令,使用以下方式安装最新的稳定版 MinIO 包:Homebrew.
brew install minio/stable/minio
重要
如果您之前使用brew install minio,那么我们建议您从minio/stable/minio相反。
brew uninstall minio
brew install minio/stable/minio
打开终端,然后使用以下命令下载最新的稳定版 MinIO 二进制文件,将其设置为可执行文件,并安装到系统中$PATH:
curl -O https://dl.min.io/server/minio/release/darwin-arm64/minio chmod +x ./minio sudo mv ./minio /usr/local/bin/
打开终端,然后使用以下命令下载最新的稳定版 MinIO 二进制文件,将其设置为可执行文件,并安装到系统中$PATH:
curl -O https://dl.min.io/server/minio/release/darwin-amd64/minio chmod +x ./minio sudo mv ./minio /usr/local/bin/
2. 启用 TLS 连接
您可以跳过此步骤以在不启用 TLS 的情况下部署。 MinIO 强烈建议反对早期开发阶段之外的非TLS部署。
创建或提供传输层安全协议 (TLS)证书到 MinIO 以自动启用服务器与客户端之间的 HTTPS 安全连接。
MinIO 期望的默认证书名称为private.key和public.crt分别用于私钥和公钥。
将证书放置在专用目录中:
mkdir -p /opt/minio/certs
cp private.key /opt/minio/certs
cp public.crt /opt/minio/certs
MinIO 验证客户端证书时会参照操作系统/系统的默认受信任证书颁发机构列表。
要启用对第三方或内部签名证书的验证,请将 CA 文件放置在/opt/minio/certs/CAs文件夹。
CA 文件应包含从叶子证书到根证书的完整信任链,以确保验证成功。
有关配置 MinIO TLS 的更多具体指导,包括通过服务器名称指示(SNI)实现多域名支持,请参阅网络加密(TLS).
早期开发证书
对于本地测试或开发环境,您可以使用 MinIOcertgen要生成自签名证书。 例如,以下命令生成一个自签名证书,其中包含一组与MinIO服务器主机关联的IP和DNS使用者可选名称(SAN):
certgen -host "localhost,minio-*.example.net"
放置生成的public.crt和private.key进入/path/to/certsdirectory 来为 MinIO 部署启用 TLS。
应用程序可以使用public.crt作为受信任的证书颁发机构,允许连接到 MinIO 部署而无需禁用证书验证。
3. 创建 MinIO 环境文件
在以下位置创建环境文件:/etc/default/minioMinIO 服务使用此文件作为所有环境变量由 MinIO 使用和theminio.servicefile.
根据您的部署拓扑修改示例。
在开发和评估环境中使用单节点多驱动器部署。 您也可以将它们用于可以容忍因节点停机而导致数据丢失或不可用的较小存储工作负载。
# Set the volumes MinIO uses at startup
# The command uses MinIO expansion notation {x...y} to denote a
# sequential series.
#
# The following specifies a single host with 4 drives at the specified location
#
# The command includes the port that the MinIO server listens on
# (default 9000).
# If you run without TLS, change https -> http
MINIO_VOLUMES="https://minio1.example.net:9000/mnt/drive{1...4}/minio"
# Set all MinIO server command-line options
#
# The following explicitly sets the MinIO Console listen address to
# port 9001 on all network interfaces.
# The default behavior is dynamic port selection.
MINIO_OPTS="--console-address :9001 --certs-dir /opt/minio/certs"
# Set the root username.
# This user has unrestricted permissions to perform S3 and
# administrative API operations on any resource in the deployment.
#
# Defer to your organizations requirements for superadmin user name.
MINIO_ROOT_USER=minioadmin
# Set the root password
#
# Use a long, random, unique string that meets your organizations
# requirements for passwords.
MINIO_ROOT_PASSWORD=minio-secret-key-CHANGE-ME
在早期开发和评估环境中使用单节点单驱动器("独立")部署。 MinIO 不建议在生产环境中使用独立部署,因为节点或其存储介质的丢失会导致数据丢失。
# Set the volume MinIO uses at startup
#
# The following specifies the drive or folder path
MINIO_VOLUMES="/mnt/drive1/minio"
# Set all MinIO server command-line options
#
# The following explicitly sets the MinIO Console listen address to
# port 9001 on all network interfaces.
# The default behavior is dynamic port selection.
MINIO_OPTS="--console-address :9001 --certs-dir /opt/minio/certs"
# Set the root username.
# This user has unrestricted permissions to perform S3 and
# administrative API operations on any resource in the deployment.
#
# Defer to your organizations requirements for superadmin user name.
MINIO_ROOT_USER=minioadmin
# Set the root password
#
# Use a long, random, unique string that meets your organizations
# requirements for passwords.
MINIO_ROOT_PASSWORD=minio-secret-key-CHANGE-ME
指定任何其他环境变量或根据您的部署需求配置服务器命令行选项。
4. 启动 MinIO 服务器
以下命令启动连接到当前终端/Shell窗口的MinIO服务器:
export MINIO_CONFIG_ENV_FILE=/etc/default/minio
minio server --console-address :9001
命令输出类似于以下内容:
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-06-07T16-42-07Z (go1.22.4 linux/amd64)
API: https://minio-1.example.net:9000 https://203.0.113.10:9000 https://127.0.0.1:9000
RootUser: minioadmin
RootPass: minioadmin
WebUI: https://minio-1.example.net:9001 https://203.0.113.10:9001 https://127.0.0.1:9001
RootUser: minioadmin
RootPass: minioadmin
CLI: https://docs.min.io/community/minio-object-store/reference/minio-mc.html#quickstart
$ mc alias set 'myminio' 'https://minio-1.example.net:9000' 'minioadmin' 'minioadmin'
Docs: https://docs.min.io/community/minio-object-store/index.html
Status: 1 Online, 0 Offline.
TheAPIblock lists the network interfaces and port on which clients can access the MinIO S3 API.
该Consoleblock 列出了客户端可以访问 MinIO Web Console 的网络接口和端口。
要在后台或作为守护进程运行 MinIO 服务器进程,请参考您的 MacOS 操作系统文档以了解最佳实践和操作步骤。
5. 连接到部署
打开浏览器并通过端口访问任意 MinIO 主机名:9001要打开MinIO 控制台登录页面。
例如,https://minio1.example.com:9001.
使用登录MINIO_ROOT_USER和MINIO_ROOT_PASSWORD从上一步。
您可以使用 MinIO 控制台执行常规管理任务,例如身份和访问管理、指标和日志监控或服务器配置。 每个 MinIO 服务器都包含其自己内嵌的 MinIO 控制台。
遵循安装说明formc在您的本地主机上运行。mc --version验证安装。
如果您的 MinIO 部署使用第三方或自签名的 TLS 证书,请复制CA文件到~/.mc/certs/CAs允许mc
安装完成后,为 MinIO 部署创建别名:
mc alias set myminio https://minio-1.example.net:9000 USERNAME PASSWORD
将主机名、用户名和密码更改为反映您的部署配置。 主机名可以是部署中的任何 MinIO 节点。 您也可以指定处理连接到部署的主机名负载均衡器、反向代理或类似网络控制平面。
6. Next Steps
TODO