Featured image of post 自建支持S3的对象存储服务

自建支持S3的对象存储服务

想用 S3 这类存储,又不想花钱。那么我们可以通过 MinIO 来完成我们的需求。 什么是 MinIO Min…

想用 S3 这类存储,又不想花钱。那么我们可以通过 MinIO 来完成我们的需求。

什么是 MinIO

MinIO 是一款高性能、分布式、开源的对象存储服务器,支持 S3 API。它是专门为大规模私有云基础架构和容器化环境而设计的,并且具有高可用性、可扩展性和数据安全性等特点。

MinIO 可以在常见操作系统(如 Linux、Windows 和 macOS)上运行,也可以在容器化环境中使用(如 Docker、Kubernetes 等)。它支持多种数据保护机制,如端到端加密、访问策略、限制访问时间、IP 地址白名单、防止跨站点请求伪造(CSRF)攻击等。

除此之外,MinIO 还具备灵活的部署和配置方式,可以将数据存储在本地磁盘或云存储中,支持多种编程语言的 SDK,还提供了可视化的 Web 界面和命令行界面,方便用户管理和使用。

总之,MinIO 是一个功能强大、易于使用、开源免费的对象存储服务器,可以帮助用户搭建私有云存储平台、构建云原生应用和实现数据的安全存储与管理。

MinIO 的部署形式

MinIO 有以下几种搭建形式:

  1. 单节点部署:在一台物理主机或虚拟机上运行 MinIO,可以使用 Docker 镜像或二进制包安装。
  2. 分布式部署:在多台物理主机或虚拟机上运行多个 MinIO 实例,以实现负载均衡和高可用性。可以使用 Docker Swarm、Kubernetes 等容器编排工具进行集群管理。
  3. 网关模式部署:在 MinIO 的对象存储服务器前端加上 Nginx、Apache 等反向代理服务器,可以为 MinIO 对象存储提供额外的功能支持,如 SSL/TLS 加密、访问控制、IP 访问限制等。
  4. 缓存模式部署:在 MinIO 对象存储服务器前端添加 Redis、Memcached 等缓存层,可以为 MinIO 提供更高的读写性能和更低的延迟。

无论是单节点还是多节点分布式部署,MinIO 都可以在 Linux、Windows 和 macOS 等常见操作系统上运行,部署方式也灵活多变,可以根据实际需求进行选择。

MinIO Docker 形式部署

要在 Docker 中安装 MinIO,可以按照以下步骤操作:

  1. 获取 MinIO 的 Docker 镜像

1
docker pull minio/minio 
  1. 创建 MinIO 容器

1
2
3
4
5
6
7
8
9


|  | docker run -d --name minio -p 9000:9000 -p 9001:9001 \ |
| --- | --- |
|  | -v /mnt/data:/data \ |
|  | -v /mnt/config:/root/.minio \ |
|  | -e "MINIO_ROOT_USER=minioadmin" \ |
|  | -e "MINIO_ROOT_PASSWORD=minioadmin" \ |
|  | minio/minio server /data --console-address ":9001" |

这里创建了一个名为 minio 的容器,暴露了 9000 端口,将数据目录 /mnt/data 挂载到容器的 /data 目录,将配置文件目录 /mnt/config 挂载到容器的 /root/.minio 目录。还设置了 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 环境变量,这将用于访问 MinIO Web 界面。账号密码这里也可以不设置,不设置运行之后默认的账号密码都是 minioadmin。 3. 访问 MinIO Web 界面

在浏览器中访问 http://localhost:9000,使用上一步设置的用户名和密码登录,然后你就可以开始对 MinIO 进行配置和使用了。

自建支持 S3 的对象存储服务

希望能对你有所帮助!

转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用 Hugo 构建
主题 StackJimmy 设计