minio本地服务搭建

559 阅读3分钟

上一篇介绍了网盘的功能以及后续开发的基本实现,本文简单介绍下网盘开发所用到的开源存储系统minio

介绍

minio是一款开源的高性能的分布式对象存储系统(非结构化的存储架构),主要是为了满足私有云和公共云环境下对大规模数据存储的需求。主要有以下特点(有几个未实践过先记录下):

  • 高性能:由于存储结构是非结构化的,所以存取速度较快。
  • 兼容性好:MinIO 完全兼容S3 API,使得与使用 S3 API 的现有应用程序和工具能够无缝集成。
  • 可扩展性:MinIO 可以水平扩展,支持从 TB 到 PB 级的数据存储,适合于大规模部署。
  • 数据保护:提供高可用性和容错能力,通过纠删码和对象锁定等特性保护数据。
  • 部署方便:支持多种方式部署,包括docker一键部署、K8、虚拟机和单机部署。

另外minio在以下场景中应用比较广泛:

  • 文件存储:作为一个分布式对象存储系统,文件存储是其基本能力之一。他的API能够方便我们存储文件。

  • 大数据分析:MinIO 的高性能和可扩展性使其非常适合大数据分析和机器学习应用。它可以存储大量的数据集,并且支持高吞吐量的数据访问,适用于训练复杂的机器学习模型和处理大数据分析任务。

  • 备份和恢复:文件存储服务的扩展能力,minio它可以在本地和远程数据中心之间进行数据复制,以确保数据的高可用性和冗余。MinIO 兼容 S3 API,使其能够与许多现有的备份工具无缝集成。

安装部署

下载文件部署minio

此种部署方式只在测试机上试过,未在生产环境中使用,目前基本用的都是docker部署。

  • 下载文件
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 将minio可执行文件移动到usr目录下并设置权限
sudo mv minio /usr/local/bin/
sudo chmod +x /usr/local/bin/minio

  • 初始化目录
sudo mkdir ***
  • 配置相关选项

  • 运行服务

minio server ******

docker镜像部署minio(建议使用)

  • 拉取minio最新版本的镜像
docker pull minio/minio
  • 初始化文件存储目录
mkdir ***/data
  • 初始配置文件(或用参数启动),主要配置内容如下
    • MINIO_ROOT_USER:登录用户名
    • MINIO_ROOT_PASSWORD:登录密码
    • MINIO_VOLUMES:文件存储位置
    • 启动时通过--address port配置API端口号
  • 运行服务
//运行设置用户名秘密以及API端口号
 docker run -d -p 9000:9000 -p 9092:9092 --name minio -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=******" -v ***/data:/data -v ***/config:/root/.minio minio/minio server /data --console-address ":9000" -address ":9092"