元经纪 - 元宇宙与人工智能领域相关产品与服务一站式采购平台

400-6166692

MinIO:面向 AI 的高性能对象存储

分类:开源 时间:2023-05-15 07:17 浏览:596
概述
内容

概述

MinIO 是根据 GNU Affero 通用公共许可证 v3.0 发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

容器安装

使用以下命令将独立的 MinIO 服务器作为容器运行。

独立的 MinIO 服务器最适合早期开发和评估。版本控制、对象锁定和存储桶复制等某些功能需要使用纠删码分布式部署 MinIO。为了扩展开发和生产,部署启用了纠删码的 MinIO——具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述 。

稳定的

运行以下命令以使用临时数据卷将 MinIO 的最新稳定映像作为容器运行:

  • [hidecontent type="logged" desc="隐藏内容:登录后可查看"]

    podman run -p 9000:9000 -p 9001:9001 \
      quay.io/minio/minio server /data --console-address ":9001"

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,这是一个内置于 MinIO 服务器的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅 使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html以查看支持语言的 MinIO SDK。

    注意:要使用持久存储部署 MinIO,您必须使用该选项将本地持久目录从主机操作系统映射到容器podman -v。例如,-v /mnt/data:/data将主机操作系统驱动器映射/mnt/data/data容器上。

    苹果系统

    使用以下命令在 macOS 上运行独立的 MinIO 服务器。

    独立的 MinIO 服务器最适合早期开发和评估。版本控制、对象锁定和存储桶复制等某些功能需要使用纠删码分布式部署 MinIO。为了扩展开发和生产,部署启用了纠删码的 MinIO——具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述

    自制软件(推荐)

    运行以下命令以使用Homebrew安装最新的稳定 MinIO 包。替换/data为您希望 MinIO 存储数据的驱动器或目录的路径。

    brew install minio/stable/minio
    minio server /data

    注意:如果您之前安装过 minio,brew install minio那么建议您从minio/stable/minio官方仓库重新安装 minio。

    brew uninstall minio
    brew install minio/stable/minio

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,MinIO 控制台是一个内置于 MinIO 服务器的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html/以查看支持语言的 MinIO SDK。

    二进制下载

    使用以下命令在 macOS 上下载并运行独立的 MinIO 服务器。替换/data为您希望 MinIO 存储数据的驱动器或目录的路径。

    wget https://dl.min.io/server/minio/release/darwin-amd64/minio
    chmod +x minio
    ./minio server /data

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,MinIO 控制台是一个内置于 MinIO 服务器的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html以查看支持语言的 MinIO SDK。

    GNU/Linux

    使用以下命令在运行 64 位 Intel/AMD 架构的 Linux 主机上运行独立的 MinIO 服务器。替换/data为您希望 MinIO 存储数据的驱动器或目录的路径。

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    ./minio server /data

    下表列出了支持的体系结构。将wgetURL 替换为您的 Linux 主机的体系结构。

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,MinIO 控制台是一个内置于 MinIO 服务器的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html以查看支持语言的 MinIO SDK。

    注意:独立的 MinIO 服务器最适合早期开发和评估。版本控制、对象锁定和存储桶复制等某些功能需要使用纠删码分布式部署 MinIO。为了扩展开发和生产,部署启用了纠删码的 MinIO——具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述

    微软Windows

    要在 64 位 Windows 主机上运行 MinIO,请从以下 URL 下载 MinIO 可执行文件:

    https://dl.min.io/server/minio/release/windows-amd64/minio.exe

    使用以下命令在 Windows 主机上运行独立的 MinIO 服务器。替换D:\为您希望 MinIO 存储数据的驱动器或目录的路径。您必须将终端或 powershell 目录更改为可执行文件的位置minio.exe或者将该目录的路径添加到系统中$PATH

    minio.exe server D:\

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,MinIO 控制台是一个内置于 MinIO 服务器的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html以查看支持语言的 MinIO SDK。

    注意:独立的 MinIO 服务器最适合早期开发和评估。版本控制、对象锁定和存储桶复制等某些功能需要使用纠删码分布式部署 MinIO。为了扩展开发和生产,部署启用了纠删码的 MinIO——具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述

    从源安装

    使用以下命令从源代码编译和运行独立的 MinIO 服务器。源安装仅适用于开发人员和高级用户。如果您没有可用的 Golang 环境,请按照如何安装 Golang进行操作。所需的最低版本是go1.19

    go install github.com/minio/minio@latest

    MinIO 部署开始使用默认的根凭据minioadmin:minioadmin。您可以使用 MinIO 控制台测试部署,MinIO 控制台是一个内置于 MinIO 服务器的基于 Web 的嵌入式对象浏览器。将主机上运行的 Web 浏览器指向http://127.0.0.1:9000并使用根凭据登录。您可以使用浏览器创建存储桶、上传对象以及浏览 MinIO 服务器的内容。

    您还可以使用任何 S3 兼容工具进行连接,例如 MinIO Clientmc命令行工具。有关使用命令行工具的更多信息,请参阅使用 MinIO 客户端进行测试mcmc。对于应用程序开发人员,请参阅https://min.io/docs/minio/linux/developers/minio-drivers.html以查看支持语言的 MinIO SDK。

    注意:独立的 MinIO 服务器最适合早期开发和评估。版本控制、对象锁定和存储桶复制等某些功能需要使用纠删码分布式部署 MinIO。为了扩展开发和生产,部署启用了纠删码的 MinIO——具体来说,每个 MinIO 服务器至少有 4 个驱动器。有关更完整的文档,请参阅MinIO 纠删码概述

    MinIO 强烈建议不要在生产环境中使用源代码编译的 MinIO 服务器。

    部署建议

    允许防火墙端口访问

    默认情况下,MinIO 使用端口 9000 来监听传入的连接。如果您的平台默认阻止该端口,您可能需要启用对该端口的访问。

    ufw

    对于启用了 ufw 的主机(基于 Debian 的发行版),您可以使用ufw命令允许流量流向特定端口。使用以下命令允许访问端口 9000

    ufw allow 9000

    下面的命令启用从 9000 到 9010 范围内的所有传入流量。

    ufw allow 9000:9010/tcp

    防火墙命令

    对于启用了 firewall-cmd 的主机 (CentOS),您可以使用firewall-cmd命令允许流量流向特定端口。使用以下命令允许访问端口 9000

    firewall-cmd --get-active-zones

    此命令获取活动区域。现在,将端口规则应用于上面返回的相关区域。例如,如果区域是public,请使用

    firewall-cmd --zone=public --add-port=9000/tcp --permanent

    请注意,permanent确保规则在防火墙启动、重新启动或重新加载时保持不变。最后重新加载防火墙以使更改生效。

    firewall-cmd --reload

    iptables

    对于启用了 iptables 的主机(RHEL、CentOS 等),您可以使用iptables命令启用所有到达特定端口的流量。使用以下命令允许访问端口 9000

    iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
    service iptables restart

    下面的命令启用从 9000 到 9010 范围内的所有传入流量。

    iptables -A INPUT -p tcp --dport 9000:9010 -j ACCEPT
    service iptables restart

    测试 MinIO 连接

    使用 MinIO 控制台测试

    MinIO Server 带有一个基于 Web 的嵌入式对象浏览器。将您的 Web 浏览器指向http://127.0.0.1:9000以确保您的服务器已成功启动。

    注意:如果您希望选择特定端口,MinIO 默认在随机端口上运行控制台,用于--console-address选择特定接口和端口。

    需要考虑的事情

    MinIO 将浏览器访问请求重定向到配置的服务器端口(即127.0.0.1:9000)到配置的控制台端口。MinIO 在构建重定向 URL 时使用请求中指定的主机名或 IP 地址。客户端必须可以访问URL 和端口才能使重定向生效。

    对于 MinIO 主机 IP 地址或端口不公开的负载平衡器、代理或入口规则后面的部署,请使用环境变量MINIO_BROWSER_REDIRECT_URL为重定向指定外部主机名。LB/Proxy 必须有专门将流量定向到 Console 端口的规则。

    例如,考虑一个代理后面的 MinIO 部署https://minio.example.nethttps://console.minio.example.net其规则是将端口 :9000 和 :9001 上的流量分别转发到内部网络上的 MinIO 和 MinIO 控制台。设置MINIO_BROWSER_REDIRECT_URLhttps://console.minio.example.net以确保浏览器收到有效的可访问 URL。

    同样,如果您的 TLS 证书没有 MinIO 服务器主机的 IP SAN,则 MinIO 控制台可能无法验证与服务器的连接。使用MINIO_SERVER_URL环境变量并指定 MinIO 服务器的代理可访问主机名,以允许控制台使用 TLS 证书使用 MinIO 服务器 API。

    例如:export MINIO_SERVER_URL="https://minio.example.net"

    仪表盘

    创建存储桶

    使用 MinIO 客户端测试mc

    mc为 ls、cat、cp、mirror、diff 等 UNIX 命令提供现代替代方案。它支持文件系统和 Amazon S3 兼容的云存储服务。请按照 MinIO 客户端快速入门指南获取更多说明。

    升级 MinIO

    升级要求 MinIO 中的零停机时间,所有升级都是无中断的,MinIO 上的所有事务都是原子的。所以同时升级所有服务器是升级 MinIO 的推荐方式。

    注意:需要互联网访问才能直接从https://dl.min.io更新,您可以选择在https://my-artifactory.example.com/minio/托管任何镜像

    • 对于手动安装 MinIO 服务器二进制文件的部署,请使用mc admin update
    mc admin update <minio alias, e.g., myminio>
    • 对于没有外部互联网访问的部署(例如气隙环境),从https://dl.min.io下载二进制文件并替换现有的 MinIO 二进制文件,例如/opt/bin/minio,应用可执行权限chmod +x /opt/bin/minio并继续执行mc admin service restart alias/

    • 对于使用 Systemd MinIO 服务的安装,通过 RPM/DEB 包在所有服务器上并行升级或替换二进制文件让我们说/opt/bin/minio在所有节点上,应用可执行权限chmod +x /opt/bin/minio和进程来执行mc admin service restart alias/.

    升级清单

    • 在应用于生产之前,在较低的环境(DEV、QA、UAT)中测试所有升级。在生产环境中执行盲目升级会带来重大风险。
    • 在执行任何升级之前阅读 MinIO 的发行说明,没有强制要求在每个版本上升级到最新版本。某些版本可能与您的设置无关,避免不必要地升级生产环境。
    • 如果您打算使用mc admin update,MinIO 进程必须对主机系统上存在二进制文件的父目录具有写入权限。
    • mc admin update在 kubernetes/container 环境中不支持,应避免使用,请通过升级相关容器镜像来升级容器。
    • 我们不建议一次升级一台 MinIO 服务器,该产品旨在支持并行升级,请遵循我们推荐的指南。

    进一步探索

    [/hidecontent]

     
微信客服
返回顶部