什么是对象存储
对象存储是一种用于处理非结构化数据(如文本、图片、视频等)的存储架构,它以对象的形式存储数据。与传统的文件存储(如文件系统)和块存储(如 SAN)不同,对象存储为每个数据单元(对象)提供一个唯一的标识符(通常是一个 URL),使数据可以在分布式系统中被存取。
基于 MinIO 的对象存储
MinIO 是一种高性能的分布式对象存储服务,可以在私有云环境中存储大量的非结构化数据。它是兼容 Amazon S3 API 的开源平台,因此可以广泛用于各种云存储应用。以下是 MinIO 的一些主要特点:
- 1. 高性能和高效率:MinIO 专为性能而设计,支持高速数据读写和低延迟访问,非常适合存储大型对象及处理大规模数据工作负载。
- 2. 可扩展性:MinIO 具有良好的水平扩展能力,用户可以通过增加更多的节点来随时扩大存储容量和处理能力。
- 3. 数据保护:MinIO 提供强大的数据保护功能,包括服务端加密、客户端加密、访问策略和身份验证机制,以确保数据安全。
- 4. 简单易用:MinIO 拥有简单直观的界面和广泛的文档支持,用户可以轻松地部署和管理存储集群。
- 5. 多云兼容:MinIO 兼容 AWS S3 API,支持在多种云平台上无缝集成和部署,为用户提供灵活的多云存储解决方案。
- 6. 开源和社区支持:MinIO 是开源项目,拥有活跃的开发者社区,用户可以获得丰富的资源和及时的技术支持。
- 7. 生态系统整合:MinIO 可以与各种大数据工具和应用无缝集成,如 Kubernetes、Apache Spark、Presto 等,非常适合构建现代的数据分析和 AI 应用。
搭建部署
我们将使用简单的方式,利用 docker 来搭建一个 minio 的 oss 对象存储服务,服务器使用的 Centos7 系统。
安装 docker
完整的复制下方命令执行即可正确的安装完成 docker 服务:
yum remove -y docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce
systemctl enable --now docker
安装 docker-compose
我们将使用 docker-compose 来创建并运行 minio 容器,这是一个可选的操作,如若不想使用 docker-compose 可以直接执行下方的 docker 命令进行搭建:
docker run -p 9000:9000 -p 9001:9001 --name minio1 \
--restart always \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v $PWD/data:/data \
quay.io/minio/minio server /data --console-address ":9001"
安装完成后通过访问下方地址并使用用户名密码 minioadmin 来进行登录:
http://127.0.0.1:9001/
接下来是使用 docker-compose 的方式,安装 docker-compose 工具:
curl -SL "https://mirror.ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
我们新增一个 docker-compose.yml 文件并写入:
services:
minio1:
image: quay.io/minio/minio
container_name: minio1
restart: always
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
volumes:
- ./data:/data
command: server /data --console-address ":9001"
使用下方的命令启动:
docker-compose up -d