欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

=== 介绍 ===

MinIO 是在 Apache License v2.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 构建 用于机器学习、分析和应用的高性能基础设施 数据工作负载。

什么是对象存储?

An object 是二进制数据,有时也称为 Binary 大对象 (BLOB)。 Blob 可以是图像、音频文件、电子表格,甚至 二进制可执行代码。 像 MinIO 这样的对象存储平台提供了专用的 用于存储、检索和搜索 blob 的工具和功能。

MinIO 对象存储使用 buckets 来组织对象。 存储桶类似于文件系统中的文件夹或目录,其中每个 桶可以容纳任意数量的对象。 MinIO 存储桶提供 与 AWS S3 存储桶相同的功能。

例如,考虑一个托管网络博客的应用程序。 应用程序 需要存储各种 blob,包括丰富的多媒体,如视频和 图片。 MinIO 服务器上的对象结构可能类似于 下列的:

/ #root
/images/
   2020-01-02-MinIO-Diagram.png
   2020-01-03-MinIO-Advanced-Deployment.png
   MinIO-Logo.png
/videos/
   2020-01-04-MinIO-Interview.mp4
/articles/
   /john.doe/
      2020-01-02-MinIO-Object-Storage.md
      2020-01-02-MinIO-Object-Storage-comments.json
   /jane.doe/
      2020-01-03-MinIO-Advanced-Deployment.png
      2020-01-02-MinIO-Advanced-Deployment-comments.json
      2020-01-04-MinIO-Interview.md

MinIO支持多级嵌套目录和对象支持 即使是最动态的对象存储工作负载.

部署架构

Erasure Set

一组支持MinIO的磁盘 Erasure Coding. 纠删码提供高可用性,

MinIO 部署中存储的数据的可靠性和冗余。

MinIO 将对象分成块,并在每个块之间均匀分布 驱动器在擦除集。 MinIO 可以继续无缝地服务于读取和 尽管丢失了任何单个驱动器,但仍会发出写入请求。 在最高 冗余级别,MinIO 可以以最低的性能处理读取请求 尽管损失了多达一半 (N/2) 的总驱动器部署。

Server Pool
一套 MinIO minio server 将其驱动器池化的节点和

用于支持对象存储/检索请求的资源。 这

HOSTNAME 参数传递给 minio server 命令代表一个服务器池:

minio server https://minio{1...4}.example.net/mnt/disk{1...4}

             |                    Server Pool                |

上面的例子描述了一个单一的服务器池 4 minio server 每个节点和 4 个驱动器,总共 16 个驱动器。 MinIO 需要启动每个 minio server 在同一套 启动命令以启用所有设置对等点的感知。

See minio server 完整的语法和用法。

MinIO 根据 Server Pool 计算 Erasure Sets 的大小和数量 在集合中的驱动器总数 * and * 的数量 minio 集合中的服务器。 看 Erasure Sets 想要查询更多的信息。

Cluster

整个 MinIO 部署由一个或多个服务器池组成。 每个 HOSTNAME 参数传递给 minio server 命令代表一个服务器池:

minio server https://minio{1...4}.example.net/mnt/disk{1...4} \
             https://minio{5...8}.example.net/mnt/disk{1...4}

             |                    Server Pool                |

上面的例子描述了两个 Server Pools,每个 Server Pools 由 4 个 minio server 每个节点有 4 个驱动器,总共 32 个驱动器。 MinIO 始终将每个唯一对象和该对象的所有版本存储在 相同的服务器池。

服务器池扩展是 Horizontal Scaling 的一个功能,其中每个新集合 扩展集群存储和计算资源。 服务器池扩展 不支持将现有设备迁移到更新的硬件。

MinIO 独立集群由单个服务器池和单个服务器池组成 minio server 节点。 独立集群最适合初始 开发和评估。 MinIO强烈推荐生产 集群由 minimum 4 个组成 minio server 节点在服务器池。

部署 MinIO

部署到 Kubernetes 集群的用户应该从我们的 Kubernetes documentation.

适用于裸机环境,包括私有云服务 或容器化环境,安装并运行 minio server 在 MinIO 部署中的每个主机。 看 Installation 想要查询更多的信息。