• 开源免费的对象存储Minio


    什么是Minio

    Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。

    web dashboard

    Minio架构

    Minio可以支持多种后端存储格式,最简单的是直接通过文件系统保存对象,这些对象在登录机器后可以直接打开文件查看,但是这样会使用比较多的存储空间,Minio使用更多的是差错码,或者纠错码(erasure code)的方式存储。

    通过erasure code、校验和checksum来保护数据免受硬件故障和无声数据损坏。即便丢失了一半数量(N/2)的硬盘,仍然可以恢复数据。下图是Minio存储的逻辑架构图

    主要支持三种存储方式,分别是:

    • 文件系统对象存储fsObject

    • 差错码对象存储xlObject

    • 第三方对象存储GatewayLayer。

    其中,GatewayLayer只是一个存储接口,用于对接到Azure、AWS或者GCS的对象存储
    在这里插入图片描述

    如何和k8s结合?

    MinIO是S3对象存储呀,不能直接当 Storage Class的。可以套个 juicefs 间接使用。

    和raid的区别?

    纠删码是一种恢复丢失和损坏数据的数学算法,Minio采用Reed-Solomon code将对象拆分成N/2的数据和N/2的奇偶校验块。这就意味着如果是12块盘,一个对象会被分成6个数据块、6个奇偶校验块,你可以丢失任意6块盘(不管其是存放的数据块,还是奇偶校验块),都可以通过剩下的盘中的数据进行恢复。

    看似和RAID很相似,但纠删码的工作原理和RAID或者复制并不同,例如,RAID6可以在损失两块盘的情况下不丢数据

    Minio数据恢复的粒度

    Minio纠删码在丢失一半的盘的情况下,仍可以保证数据安全。

    Minio纠删码作用在对象级别,可以一次恢复一个对象

    RAID作用在卷级别,数据恢复时间很长

    Minio对每个对象单独编码,存储服务一经部署,通常情况下不需要更换硬盘或者修复。Minio纠删码的设计目标是为了提升性能,尽可能地使用硬件加速。

    分布式对象存储

    在这里插入图片描述

  • 相关阅读:
    Tensorflow的GPU分配方法
    mysql索引详解
    借降本增效之名,探索开闭原则架构设计
    java面向对象(上)
    华为云云耀云服务器L实例评测|搭建Domain Admin环境监控公司网站的SSL证书,实现到期提醒
    操作系统备份
    Redis从入门到精通
    12代CPU启用SR-IOV vGPU,实现一台电脑当七台用
    Vue3+elementplus搭建通用管理系统实例三:登录流程实现
    uniapp微信小程序如何返回上一页的左上角小房子的坑
  • 原文地址:https://blog.csdn.net/MyySophia/article/details/127909801