专栏名称: 院长技术
《院长技术》专注于DevOps技术栈研究,云原生、Istio,CICD、Docker、Prometheus、K8s、ServiceMesh、Jenkins、Linux、微服务、分布式存储、监控、日志收集、安全渗透、虚拟化等技术栈。
目录
相关文章推荐
PaperWeekly  ·  北京内推 | ... ·  昨天  
PaperWeekly  ·  WWW 2025 | ... ·  昨天  
成都本地宝  ·  2025成都新生儿医保办理流程!非成都户籍能 ... ·  2 天前  
募格学术  ·  原浙大校长,任教育部副部长! ·  昨天  
51好读  ›  专栏  ›  院长技术

搭建一个私有的oss对象存储服务

院长技术  · 公众号  ·  · 2024-05-19 07:47

正文





点击上方 蓝字 关注 青檬小栈




什么是对象存储

对象存储是一种用于处理非结构化数据(如文本、图片、视频等)的存储架构,它以对象的形式存储数据。与传统的文件存储(如文件系统)和块存储(如SAN)不同,对象存储为每个数据单元(对象)提供一个唯一的标识符(通常是一个URL),使数据可以在分布式系统中被存取。

基于MinIO的对象存储

MinIO 是一种高性能的分布式对象存储服务,可以在私有云环境中存储大量的非结构化数据。它是兼容Amazon S3 API的开源平台,因此可以广泛用于各种云存储应用。以下是MinIO的一些主要特点:

  1. 1. 高性能和高效率 :MinIO专为性能而设计,支持高速数据读写和低延迟访问,非常适合存储大型对象及处理大规模数据工作负载。

  2. 2. 可扩展性 :MinIO具有良好的水平扩展能力,用户可以通过增加更多的节点来随时扩大存储容量和处理能力。

  3. 3. 数据保护 :MinIO提供强大的数据保护功能,包括服务端加密、客户端加密、访问策略和身份验证机制,以确保数据安全。

  4. 4. 简单易用 :MinIO拥有简单直观的界面和广泛的文档支持,用户可以轻松地部署和管理存储集群。

  5. 5. 多云兼容 :MinIO兼容AWS S3 API,支持在多种云平台上无缝集成和部署,为用户提供灵活的多云存储解决方案。

  6. 6. 开源和社区支持 :MinIO是开源项目,拥有活跃的开发者社区,用户可以获得丰富的资源和及时的技术支持。

  7. 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


往期推荐



手把手带你搭建k8s集群

2024-05-12

一个开源的轻量级笔记服务







请到「今天看啥」查看全文