当前位置: 首页 > news >正文

MinIO文件存储服务工具详细使用指南

        在当今数据爆炸式增长的时代,高效可靠的文件存储工具成为企业和开发者的刚需。Minio 作为一款高性能、分布式的对象存储服务器,凭借其卓越的特性,在众多存储工具中脱颖而出。本文将从 Minio 的详细介绍、多种安装方式(Windows、Linux、Docker)以及使用方法等方面进行深入探讨,帮助大家全面掌握这一强大的文件存储工具。

一、MinIO 详细介绍

1.1 基本概念

        MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,这意味着任何与 Amazon S3 兼容的工具都可以直接与 Minio 服务进行交互。Minio 提供了一个简单而强大的 RESTful API,使得用户可以轻松地存储和检索任意类型的文件,无论是图片、视频、文档还是二进制数据。

1.2 核心特点

  • 高性能:MinIO 采用了独特的架构设计,能够充分利用硬件资源,实现极高的读写性能。在测试环境下,MinIO 可以达到单节点 450GB / 小时的读速度和 900GB / 小时的写速度,在分布式集群环境下性能更是成倍提升,满足大规模数据存储和高并发访问的需求。

  • 分布式存储:支持分布式部署,用户可以将多个 Minio 服务器节点组合成一个分布式存储集群。这种分布式架构不仅提供了更大的存储容量,还增强了系统的容错性和可靠性。即使部分节点出现故障,整个集群仍然可以正常工作,数据不会丢失。

  • 数据安全:MinIO 支持端到端的加密,包括服务器端加密和客户端加密。服务器端加密使用 SSE - S3、SSE - KMS 和 SSE - C 等多种加密方式,确保数据在存储过程中的安全性;客户端加密则允许用户在数据上传到 Minio 之前对其进行加密,进一步保障数据的隐私性。此外,Minio 还提供了访问控制列表(ACL)和策略管理功能,用户可以精细地控制对存储桶和对象的访问权限。

  • 轻量级部署:Minio 的部署非常简单,它是一个单一的二进制文件,不依赖于复杂的系统环境。无论是在本地服务器、云服务器还是容器环境中,都可以快速完成安装和配置,降低了使用门槛和运维成本。

1.3 应用场景

  • 云原生应用:在云原生架构中,MinIO 作为对象存储服务,可以为容器化应用提供持久化的存储支持。例如,在 Kubernetes 集群中,Minio 可以作为存储后端,存储应用程序生成的日志、图片、视频等数据。

  • 大数据分析:MinIO 可以存储海量的原始数据,供大数据分析平台进行处理。与 Hadoop、Spark 等大数据框架集成后,能够实现高效的数据读取和写入,加速数据分析的过程。

  • 内容管理系统:对于内容管理系统(CMS),如 WordPress、Drupal 等,Minio 可以作为文件存储的后端,存储网站的图片、文档、媒体文件等。相比传统的本地存储或其他云存储服务,MinIO 具有更好的性能和灵活性。

  • 备份与归档:MinIO 可以作为企业数据备份和归档的存储解决方案。其分布式架构和数据冗余机制能够确保数据的安全性和可靠性,同时提供较低的存储成本。

二、MinIO 安装方式

2.1 Windows 安装

2.1.1 下载 MinIO 二进制文件

        首先,访问 MinIO 官方网站(S3 Compatible Storage for AI | MinIO),在下载页面找到适用于 Windows 系统的 MinIO 二进制文件。根据你的系统是 32 位还是 64 位,选择相应的版本进行下载。下载完成后,将文件解压到你希望安装 MinIO 的目录,例如C:\minio。

2.1.2 配置环境变量(可选但推荐)

        为了方便在命令行中使用 MinIO 命令,建议将 MinIO 的安装目录添加到系统的环境变量中。具体步骤如下:

  1. 右键点击 “此电脑”,选择 “属性”。

  2. 在弹出的窗口中,点击 “高级系统设置”。

  3. 在 “系统属性” 窗口的 “高级” 选项卡中,点击 “环境变量” 按钮。

  4. 在 “系统变量” 列表中,找到 “Path” 变量,双击进行编辑。

  5. 在弹出的 “编辑环境变量” 窗口中,点击 “新建” 按钮,然后输入 MinIO 的安装目录路径(例如C:\minio),点击 “确定” 保存设置。

2.1.3 启动 Minio 服务

        打开命令提示符(CMD),切换到 MinIO 的安装目录(如果已配置环境变量,则无需切换目录),然后执行以下命令启动 Minio 服务:

minio server C:\data

上述命令中,C:\data是指定的存储数据的目录,你可以根据实际情况修改为其他目录。执行命令后,MinIO 服务将在本地启动,你会看到类似以下的输出信息:

Endpoint:  http://127.0.0.1:9000  http://192.168.1.100:9000AccessKey: Q3AM3UQ867SPQQA43P2FSecretKey:zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TGBrowser Access:http://127.0.0.1:9000  http://192.168.1.100:9000Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide.htmlmc config host add myminio http://127.0.0.1:9000 Q3AM3UQ867SPQQA43P2F zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TGObject API (Amazon S3 compatible):Go:         https://docs.min.io/docs/golang-client-quickstart-guide.htmlPython:     https://docs.min.io/docs/python-client-quickstart-guide.htmlJava:       https://docs.min.io/docs/java-client-quickstart-guide.htmlJavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide.html.NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide.html

        其中,AccessKey和SecretKey是访问 MinIO 服务的密钥,后续在使用 MinIO 客户端或 API 访问时需要用到。

2.1.4 停止 MinIO 服务

在命令提示符中按下Ctrl + C组合键,即可停止 MinIO  服务。

2.2 Linux 安装

2.2.1 下载 MinIO 二进制文件

        在 Linux 系统中,打开终端,使用以下命令下载适用于 Linux 系统的 MinIO 二进制文件(以 64 位系统为例):

wget https://dl.min.io/server/minio/release/linux-amd64/minio

如果你的系统是其他架构(如 32 位或 ARM 架构),请访问 MinIO 官方网站下载对应的版本。

2.2.2 赋予执行权限

下载完成后,使用以下命令赋予 MinIO 二进制文件执行权限:

chmod +x minio
2.2.3 移动到合适的目录(可选)

为了方便管理和使用,你可以将 MinIO 二进制文件移动到系统的可执行文件目录中,例如/usr/local/bin:

sudo mv minio /usr/local/bin/
2.2.4 启动 Minio 服务

执行以下命令启动 MinIO  服务,/data是指定的存储数据的目录,你可以根据实际情况修改:

minio server /data

启动后,同样会显示 MinIO 服务的相关信息,包括访问地址、AccessKey 和 SecretKey 等。

你会看到以下信息:

INFO: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated.Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORDMinIO Object Storage ServerCopyright: 2015-2025 MinIO, Inc.License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.htmlVersion: RELEASE.2025-05-24T17-08-30Z (go1.24.3 linux/amd64)API: http://192.168.26.234:9000  http://172.17.0.1:9000  http://127.0.0.1:9000RootUser: minioRootPass: minio123WebUI: http://192.168.26.234:9001 http://172.17.0.1:9001 http://127.0.0.1:9001    RootUser: minioRootPass: minio123CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart$ mc alias set 'myminio' 'http://192.168.26.234:9000' 'minio' 'minio123'Docs: https://docs.min.io
2.2.5 设置开机自启(推荐)

为了让 MinIO 服务在系统重启后自动启动,可以创建一个 systemd 服务单元文件。执行以下命令创建文件:

sudo nano /etc/systemd/system/minio.service

在打开的文件中,输入以下内容(根据实际情况修改AccessKey、SecretKey和数据存储目录):

[Unit]Description=Minio object storage serverDocumentation=https://docs.min.ioWants=network-online.targetAfter=network-online.target[Service]WorkingDirectory=/dataExecStart=/usr/local/bin/minio server /data --console-address :9090 --address :9000Restart=alwaysRestartSec=5User=minio-userGroup=minio-userEnvironment="MINIO_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F"Environment="MINIO_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"[Install]WantedBy=multi-user.target

保存并关闭文件后,执行以下命令重新加载 systemd 配置,并启用 MinIO 服务:

sudo systemctl daemon-reloadsudo systemctl enable minio

最后,使用以下命令启动 MinIO 服务:

sudo systemctl start minio

2.3 Docker 安装

2.3.1 安装 Docker

如果你的系统尚未安装 Docker,请先根据你使用的操作系统安装 Docker。以下是常见操作系统安装 Docker 的简要步骤:

  • Ubuntu
sudo apt updatesudo apt install docker.iosudo systemctl start dockersudo systemctl enable docker
  • CentOS
sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo systemctl enable docker
2.3.2 运行 Minio 容器

使用以下命令运行 MinIO 容器:

docker run -p 9000:9000 -p 9090:9090 \-e "MINIO_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F" \-e "MINIO_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG" \-v /data:/data \minio/minio server /data

上述命令中:

  • -p 9000:9000将容器的 9000 端口映射到主机的 9000 端口,用于访问 MinIO 的 API。

  • -p 9090:9090将容器的 9090 端口映射到主机的 9090 端口,用于访问 MinIO  的 Web 控制台。

  • -e "MINIO_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F"和-e "MINIO_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"设置访问 Minio 的 AccessKey 和 SecretKey。

  • -v /data:/data将主机的/data目录挂载到容器的/data目录,用于存储数据。

容器启动后,你可以通过浏览器访问http://localhost:9090打开 Minio 的 Web 控制台,使用设置的 AccessKey 和 SecretKey 登录。

三、MinIO 使用方法

3.1 使用 Web 控制台

        MinIO 提供了一个直观易用的 Web 控制台,方便用户进行文件的管理和操作。通过浏览器访问 MinIO 服务的 Web 控制台地址(默认为http://localhost:9090),输入 AccessKey 和 SecretKey 进行登录。

登录后,你可以进行以下操作:

  • 创建存储桶:点击 “创建存储桶” 按钮,输入存储桶名称,选择存储桶的访问权限(私有、公有只读、公有读写),然后点击 “创建” 按钮即可创建一个新的存储桶。

  • 上传文件:进入存储桶后,点击 “上传” 按钮,选择要上传的文件或文件夹,设置相关的元数据(如内容类型等),然后点击 “上传” 即可将文件上传到存储桶中。

  • 下载文件:在存储桶中找到要下载的文件,点击文件名称右侧的下载图标,即可将文件下载到本地。

  • 管理权限:在存储桶的设置页面,可以管理存储桶的访问权限,添加或删除用户和组的访问权限。

3.2 使用 MinIO客户端(mc)

        MinIO 客户端(mc)是一个命令行工具,用于与 MinIO 服务进行交互。它提供了丰富的命令,方便用户进行文件的上传、下载、删除等操作。

3.2.1 安装 mc 客户端
  • Windows:访问 MinIO 官方网站,下载适用于 Windows 系统的 mc 客户端二进制文件,解压后将其所在目录添加到系统环境变量中。
  • Linux:使用以下命令下载并安装 mc 客户端:
wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mcsudo mv mc /usr/local/bin/
  • Docker:可以在一个临时的 Docker 容器中运行 mc 客户端,例如:
docker run --rm minio/mc config host add myminio http://localhost:9000 access_key secret_keydocker run --rm minio/mc ls myminio
3.2.2 配置 mc 客户端

使用以下命令将 mc 客户端配置为连接到 MinIO 服务:

mc config host add myminio http://localhost:9000 access_key secret_key

其中,myminio是自定义的别名,http://localhost:9000是 MinIO 服务的地址,access_key和secret_key是访问 MinIO 的密钥。

3.2.3 常用操作命令
  • 列出存储桶
mc ls myminio
  • 创建存储桶
mc mb myminio/mybucket
  • 上传文件
mc cp local_file myminio/mybucket/
  • 下载文件
mc cp myminio/mybucket/file local_file
  • 删除文件
mc rm myminio/mybucket/file

3.3 使用 API 进行开发

        MinIO 提供了一套完整的 RESTful API,开发者可以使用各种编程语言来调用这些 API,实现与 MinIO 服务的交互。以下是使用 Python 语言调用 MinIO  API 的简单示例:

首先,安装minio库:

pip install minio

然后,使用以下代码实现文件的上传:

from minio import Miniofrom minio.error import S3Error# 创建Minio客户端client = Minio("localhost:9000",access_key="Q3AM3UQ867SPQQA43P2F",secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",secure=False)# 检查存储桶是否存在,不存在则创建bucket_name = "mybucket"found = client.bucket_exists(bucket_name)if not found:client.make_bucket(bucket_name)else:print(f"Bucket {bucket_name} already exists")# 上传文件client.fput_object(bucket_name,"test.txt","local_test.txt")print("File uploaded successfully")

        上述代码首先创建了一个 MinIO 客户端,然后检查指定的存储桶是否存在,如果不存在则创建,最后将本地的local_test.txt文件上传到存储桶中,并命名为test.txt。

四、总结

        MinIO 作为一款功能强大的文件存储工具,凭借其高性能、分布式、数据安全等特点,在众多应用场景中发挥着重要作用。通过本文介绍的 Windows、Linux、Docker 等多种安装方式,以及 Web 控制台、MinIO 客户端和 API 等使用方法,相信大家已经对 Minio 有了全面的了解。无论是个人开发者还是企业用户,都可以根据自己的需求选择合适的安装和使用方式,充分发挥 MinIO 的优势,为数据存储和管理提供高效可靠的解决方案。在实际应用中,还可以进一步探索 MinIO 的高级功能和特性,如分布式集群搭建、数据迁移等,以满足更复杂的业务需求。

http://www.dtcms.com/a/274152.html

相关文章:

  • 和服腰封改造:3种解构主义造型的东方美学新解
  • 2025年亚太中文赛赛题浅析-助攻快速选题
  • 【氮化镓】100 V GaN晶体管在关态应力下的双退化
  • Spring Boot中请求参数读取方式
  • HTTP 请求方法详解:GET、POST、PUT、DELETE 等
  • Python中类静态方法:@classmethod/@staticmethod详解和实战示例
  • LeetCode 278. 第一个错误的版本
  • 基于生产者消费者模型的线程池【Linux操作系统】
  • mysql中的自增ID
  • 物联网-ESP8266
  • API、MCP Client、MCP Server、LLM之间的业务逻辑关系
  • 医疗预约系统中的录音与图片上传功能实现:Vue3+Uniapp 实战
  • 在线重装 Proxmox VE
  • Swift中SwiftyJSON使用详情
  • 墙裂推荐!McpStore库三行代码为Agent添加MCP能力
  • 业务建模如何让金融数字化转型 “轻” 装上
  • CentOS7环境安装包部署并配置MySQL5.7
  • 什么是proxy
  • 使用浏览器inspect调试wx小程序
  • 构建基于表单配置的 Jenkins 测试项目(接口、UI、APP、Jmeter)
  • 加速市场反馈,助力产品迭代升级​
  • 如何使用 Python 删除 Excel 中的行、列和单元格 – 详解
  • IAR携手矽力杰与普华基础软件,共推RISC-V车规芯片高安全应用落地
  • docker 启动中间件
  • Python 数据建模与分析项目实战预备 Day 2 - 数据构建与字段解析(模拟简历结构化数据)
  • 【Python练习】038. 编写一个函数,检查一个链表是否有环
  • PHY模式,slave master怎么区分
  • 力扣网编程134题:加油站(双指针)
  • Android15 无法接收到应用自身发出的广播分析解决
  • 【牛客刷题】dd爱科学1.0