首页 > 其他分享 >minio分布式文件存储系统

minio分布式文件存储系统

时间:2023-06-14 09:27:14浏览次数:26  
标签:文件 存储 Set minio 对象 存储系统 Drive 数据 分布式

1什么是minio?

MinlO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合,类似NodeJS, Redis或者MySQL

1.1MinIO的优点
●部署简单:一个single二进制文件即是一切,还可以支持各种平台。

●minio支持海量存储,可按2one打展(原zone不受任何影响),支持单个对象最大5TB;

兼容Amazon S3接口,充分考虑开发人员的需求和体验;

●低冗余且磁盘损坏高容忍,标准且最高的数据冗余系数为2(即存储一个1 M的数据对象,实际占用磁盘空间为2M)。但在任意n/2块disk损坏的情况下依然可以读出数据(n为一个纠删码集合(Erasure Coding Set)中的disk数量)。并且这种损坏恢复是基于单个对象的,而不是基于整个存储卷的。

●读写性能优异

1.2、MinIO的基础概念
● Object: 存储到Minio的基本对象,如文件、字节流,Anything..

● Bucket:用来存储Object的逻辑空间。每个Bucket之间的数据是相互隔离的。对于客户端而言,就相当于一个存放文件的顶层文件夹。

● Drive: 即存储数据的磁盘,在MinIO启动时,以参数的方式传入。Minio 中所有的对象数据都会存储在Drive里。

● Set:即一组Drive的集合,分布式部署根据集群规模自动划分一 个或多个Set, 每个Set中的Drive分布在不同位置。一个对象存储在一个Set 上。(For example: {1..44} is divided into 4 sets each of size 16.)

● 一个对象存储在一 个Set上

● 一个集群划分为多个Set

● 一个Set包含的Drive数显是固定的,默认由系统根据集群规模自动计算得出

● 一个SET中的Drive尽可能分布在不同的节点上

1.3纠删码EC (Erasure Code)
MinIO使用纠删码机制来保证高可靠性,使用highwayhash来处理数据损坏( Bit Rot Protection)。关于纠删码,简单来说就是可以通过数学计算,把丢失的数据进行还原,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。

即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。

1.4存储形式
文件对象上传到MinlO ,会在对应的数据存储磁盘中,以Bucket名称为目录,文件名称为下一级目录,文件名下是xl.meta,通过奇偶的形式存储 编码数据块及检验块和元数据文件。

如:

有data01,data02,data03,data04 四块盘

其中奇数盘:data01和data03中存储的是编码数据块及检验块(EC码)

偶数盘:data02和data04 存储的是元数据文件

1.5存储方案
————————————————

标签:文件,存储,Set,minio,对象,存储系统,Drive,数据,分布式
From: https://www.cnblogs.com/minch/p/17479214.html

相关文章

  • 对接三方支付平台 + 分布式锁
    一、对接三方支付平台第三方支付平台是指平台提供商在商家和银行之间建立连接,供以支付等交易活动1.1支付宝支付、微信支付……(以支付宝为例)1、通过支付宝的开放平台对接:https://open.alipay.com/2、进入平台API的当面付:https://open.alipay.com/api3、需要支付宝账号,......
  • windows下使用minio搭建s3存储,使用laravel和postman进行测试
    1、下载服务端https://dl.min.io/server/minio/release/windows-amd64/minio.exe2、启动服务minio.exeserverd:\data\minio--console-address:9090 可以看到上面有两块ip,分别是9000和9000端口,其中9090是后台管理端地址的端口,9000是前台接口端口3、创建bucket4......
  • go调用minio上传文件
    1packagemain23import(4"context"5"fmt"6"log"7"os"89"github.com/minio/minio-go/v7"10"github.com/minio/minio-go/v7/pkg/credentials"11)1213......
  • Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
    一、Git是什么?    Git---Thestupidcontenttracker,傻瓜内容跟踪器。Git是目前世界上最先进的分布式版本控制系统。二、SVN与Git的最主要的区别?     SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务......
  • 基于.NET的Web Service技术的分布式异构数据库的集成
    摘要:本文分析了WebService的特点,提出了一种基于Microsoft.NET的WebService技术访问分布异构数据库的体系结构,并采用.NET技术实现了原型系统。在原型系统中,使用WebService将分布于Internet上的不同的数据库系统中的数据集成,向访问数据库的应用程序提供统一的数据操作接口,实现......
  • 文件minio进阶 分页查询
    文章目录前言一、minio使用二、代码1.mino版本是最新的,那么pom中也要最新的2.部分代码总结前言就是现在通过minio管理文件,然后不需要其他信息,所以我也就没有用传统方式,在mysql中做文件记录,直接用minio做了文件存储,以及文件查询;一、minio使用1docker安装最新版minio.开......
  • minio查询桶中文件,桶目录中文件
    文章目录前言一、文件桶中的文件夹是什么?二、文件查询1.桶中文件查询2.桶中文件夹中的文件查询总结前言文章再续,书接上文minio进阶分页查询说到了文件,可以实现分页查询,然后上次查询的是桶中的文件列表,这次遇到了需要数据隔离的文件,也就是需要在桶中再次建立文件夹;然后查......
  • 对象存储服务-Minio
    对象存储服务(ObjectStorageService,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。对象存储服务在项目开发过程中,我们会产生大量的对象数据,包括:日志文件,数据库脚本文件、安装包,容器镜像,图......
  • 分布式书库收集
    作者:北山望链接:https://zhuanlan.zhihu.com/p/636255330来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。从基础知识到应用知识的联系与应用,从计算机体系结构,计算机组成原理,操作系统,Linux内核,分布式系统设计与开发理论,分布式存储系统应用研究,到HDFS......
  • 大白话给你讲分布式架构
    引言随着越来越多的人参与到互联网的浪潮来,曾经的单体应用架构越来越无法满足需求,所以,分布式集群架构出现,也因此,分布式搭建开发成为了Web开发者必掌握的技能之一。那什么是分布式呢?怎么实现分布式以及怎么处理分布式带来的问题呢?本系列文章就来源于对分布式各组件系统的学习总结。......