MinIO 的许多工作都与精益求精有关。我们坚信,使用合适的工具才能取得最佳效果。因此,在过去的一年里,我们兢兢业业地扩展了 MinIO 对象存储适用场景和工作负载。我们同样努力扩展了用于采用、部署和运行 MinIO 的工具。这篇文章概述了创建、管理和扩展 MinIO 实例的不同选项,以及何时可能适合使用它们。
我们的工具使任何人都能利用 MinIO 对象存储的力量,无论其技能水平如何。如果您习惯使用命令行,可以使用 MinIO 客户端;您也可以随意编写脚本和自动化操作。或者,您可以使用 MinIO 控制台和 MinIO 运算符控制台来管理您的 MinIO 部署、对象和桶,一切由您决定。
这篇文章并非旨在提供规范性指导,而是一种观点。我们的社区在创造力和独创性方面不断带给我们惊喜,我们绝不希望以任何方式限制这种创造力。换句话说,如果对您有效,对我们也一样有效!
MinIO 客户端 (mc)
多年来,MinIO 的核心一直是 MinIO CLI (mc)。它既强大又简单,深受我们社区中喜欢使用命令行的成员的喜爱。他们喜欢 mc 的速度、低开销和可脚本化特性。该工具几乎可以在任何地方运行,为管理 MinIO 部署以及处理对象和桶提供了便捷的云原生方式。MinIO 和 mc 是 DevOps 工具链不可或缺的一部分,它们在不同环境中提供一致的 S3 功能。
虽然 mc 充满了有用的命令,但以下是一些特别强大的命令:
- mc admin info:admin 子命令用于对 MinIO 部署执行管理任务。info 命令显示有关 MinIO 部署的服务器信息,例如正常运行时间、软件版本、已使用的磁盘空间、桶和对象的数量以及联机的驱动器数量。添加 --json 标志将返回完整的集群状态细目列表。有关更多信息,请参见 MinIO 管理员完整指南。
- mc admin speedtest:speedtest 命令对 MinIO 集群进行快速性能评估。测试会自动增加 GET 和 PUT 负载,以查明最大聚合吞吐量。有关更多信息,请参见 MinIO 的 Speedtest 简介。
- mc admin trace:trace 命令显示一台 MinIO 服务器或整个集群的服务器 http 跟踪。跟踪是一种 http 请求方法,它将输入回显给用户。这对于调试和故障排除非常有用,因为您可以在无需解析 pcap 或配置代理的情况下看到每个请求和响应的详细内容。有关更多信息,请参见 MinIO 管理员完整指南。
- mc find:find 命令搜索与给定参数集匹配的对象并列出它们。这是一个对处理存储在 MinIO 中的对象非常有用的命令。您可以按名称、数据、年龄和大小进行搜索。搜索可以在存储在 MinIO 中的所有内容中进行,也可以限制在特定的桶中。为了获得终极功能,find 命令还可以监视匹配搜索条件的最新创建文件。mc find --exec 命令用于根据搜索结果生成外部进程。许多系统管理员发现自动复制、移动或删除对象的能力是不可或缺的。有关更多信息,请参见 MinIO 客户端完整指南。
- mc mirror:mirror 命令同步不同来源之间的数据,例如本地文件系统、NFS、S3 和 MinIO 对象存储。使用 mirror 命令在网络上进行一次性文件传输(如果需要实时同步,您将使用 桶复制)。可以按名称和年龄筛选对象。您还可以指定镜像流量是否加密。有关更多信息,请参见 MinIO 客户端完整指南。
此外,MinIO 还包括一些图形用户界面 (GUI),以便更轻松地部署、配置、管理和支持对象存储。现在,数据驱动型企业中的每个人都有能力以最适合其流程的方式与数据交互。好消息是,无论您选择哪个界面,MinIO 都是一样的:细粒度可管理、高性能且弹性可扩展。
MinIO 控制台
MinIO 控制台是一个基于浏览器的 GUI,它提供了与 `mc` 命令行工具和 S3 兼容 API 相同的深度管理功能。IT 管理员会感觉自己在家,在一个简化的、直观的界面中,所有 MinIO 功能都触手可及。
您将看到的第一块屏幕是一个由 Prometheus 驱动的仪表板,它提供系统运行状况的概述。管理员可以使用时间窗口可视化服务器池、服务器、驱动器、桶、对象、S3 API 请求、错误、网络流量和存储使用情况的当前和过去性能指标,从而快速评估所有 MinIO 实例的状态。

从那里,深入到用于创建和配置桶的管理功能。用户和组可以手动添加,也可以通过内置集成添加到 OpenID 兼容身份提供商或 ActiveDirectory/LDAP。可以使用复选框和下拉菜单将 IAM 策略快速应用于用户和组。
快速轻松地创建和管理服务帐户和 IAM 策略。MinIO 控制台以直观的方式显示每个 IAM 策略,清楚地指示活动 IAM 策略语句及其管理的资源。
审计人员和其他合规性人员可以深入到桶和对象中,以查看策略并深入挖掘日志。MinIO 记录每次操作,并且在配置为使用日志搜索时,允许审计人员按时间窗口查询和过滤日志,以及搜索特定桶、对象、API 名称、用户代理、请求 ID 和响应状态。
MinIO 控制台的功能还包括一组工具,使您能够监视桶、生成详细的诊断报告、修复存储等等。一个省时工具是 Speedtest,它可以自动执行对 MinIO 集群的性能测试。Speedtest 运行分布式测试,测量 GET 和 PUT 吞吐量,确保集群以最佳性能运行,或者在性能下降之前标记潜在问题。
MinIO Kubernetes 运算符
转向 Kubernetes,我们看到了 MinIO 运算符的快速采用——超过 60% 的客户在容器中运行 MinIO,其中一半使用 Kubernetes 进行编排。MinIO 是专门为了利用 Kubernetes 架构而构建的,通过提供一种在 Kubernetes 工具集中管理对象存储的方法,简化了基础设施管理。

使用 kubectl minio 插件或运算符来部署和管理多租户 对象存储即服务。使用插件编写脚本和自动化操作,或使用运算符控制台在 Kubernetes 运行的任何地方创建、部署和管理对象存储,包括 VMware Tanzu、Red Hat OpenShift 以及 Microsoft Azure Kubernetes Service 等云。

在 Kubernetes 上运行 MinIO 允许 Kubernetes 处理存储编排。MinIO 运算符允许您将基础设施任务(如配置、卷放置和存储分配)移交给 Kubernetes,并让 Kubernetes 自动处理它们。创建租户非常容易——命名它,选择一个命名空间和一个存储类别,让 Kubernetes 和 MinIO 为您启动它。通过切换到高级模式,您可以将身份提供商、TLS 证书、加密或特定资源分配给租户,从而更深入地进行配置。
MinIO 对象浏览器
我们以对象浏览器作为我们的第一个 GUI 开始。随着时间的推移,许多功能迁移到了 MinIO 控制台中,但对于简单的部署,对象浏览器提供了一个简单的解决方案。我们喜欢简单,因此我们必须包含一个指向和点击工具来创建桶、上传对象并浏览其 MinIO 实例的内容。只需启动一个浏览器,将其指向一个 MinIO 租户,并使用适当的凭据登录即可开始浏览或搜索对象和桶。

您可以使用对象浏览器上传和下载文件和文件夹。一个非常有用的协作功能是创建和共享一个指向文件的临时链接,有效期最长为 7 天。

SUBNET
SUBNET 将一组前所未有且功能强大的高级对象存储管理和故障排除工具结合在一起,并使其在 MinIO 中可用。SUBNET 将商业许可证与独特的支持模型相结合,通过一个由 MinIO 构建的集成 Slack 和 Zendesk 最佳功能的门户,提供全天候不间断的工程师直接支持。
只有 SUBNET 客户才能从任何浏览器直接访问 MinIO 工程师。客户与编写软件的同一位工程师合作,以评估、优化和保护其 MinIO 集群。许多人认为这种安全的通信渠道在生产环境中是必不可少的,因为他们可以共享日志和经过认证的软件二进制文件,并立即收到反馈。
以 DevOps 为中心的关键任务世界依赖于实时通信,SUBNET 使 MinIO 工程专业知识能够立即获得。创建一个新问题,并标记您和我们团队的成员以进行协作。这些可搜索的对话将永久保存以供参考。

SUBNET 运行状况 显示关键组件的状态,同时自动对您的 MinIO 实例运行数十项检查,以验证它是否以最佳状态运行。硬件和软件的完整目录会随着时间的推移而跟踪,以确保一致性,并使用易于理解的彩色编码指标(优先级)标记差异。在性能或集成问题影响服务之前,快速识别并修复它们。

您的首选 GUI
使用简化且响应灵敏的工具,部署和管理对象存储变得更加容易。MinIO 允许您为手头的任务选择最佳工具。我们在基于浏览器的图形工具中提供的功能与我们在命令行中提供的功能相同,因此每个人都可以将最快、最可扩展的对象存储解决方案投入使用。
您的首选 GUI 是什么?下载 MinIO,然后加入 我们的 Slack 频道 或发送电子邮件至 hello@min.io 并告诉我们。