分布式文件存储系统Minio,tuling,fox,p3 5:27

news2025/1/12 9:55:00

MinIO | 高性能,对Kubernetes友好的对象存储

一 分布式文件系统应用场景

  1. fastDFS
    1. 缺点:
      1. 部署麻烦。
      2. 因为文件名是自动生成的,所以如果要处理文件的话,还要经过额外的编码。
  2. Minio介绍
    1. 应用场景
      1. 互联网海量非结构化数据的存储需求,如
                    电商网站:海量商品图片
                    视频网站:海量视频文件
                    网盘 : 海量文件
                    社交网站:海量图片
      2. 对于中小型企业,如果不选择存储上云,那么 Minio 是个不错的选择,麻雀虽小,五脏俱全。当然 Minio 除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到 Amazon S3、 MicroSoft Azure。
      3. 非结构化数据与结构化数据
        1. 非结构化数据:文件、音频、视频、图片
        2. 结构化数据:如常见的关系型数据库(mysql、oracle、sqlserver)用表存储某个网站的会员信息。
    2. minio是什么?
      1. MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。
        1. 对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服 务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成 本。
      2. Minio是使用go语言编写的,天然支持跨平台。
    3. minio的优点
      1. 部署简单: 一个single二进制文件即是一切,还可支持各种平台。
      2. minio支持海量存储,可按zone扩展(原zone不受任何影响),支持单个对象最大5TB;
      3. 兼容Amazon S3接口,充分考虑开发人员的需求和体验;
      4. 低冗余且磁盘损坏高容忍,标准且最高的数据冗余系数为2(即存储一个1M的数据对象,实际占用 磁盘空间为2M)。但在任意n/2块disk损坏的情况下依然可以读出数据(n为一个纠删码集合(Erasure Coding Set)中的disk数量)。并且这种损坏恢复是基于单个对象的,而不是基于整个存储卷的。
      5. 读写性能优异
  3. MinIO的基础概念
    1. Object:一个文件 / 视频 / 音频 / 字节流 / Anything......
    2. Bucket:翻译过来是桶,可理解为一个顶层的目录(文件夹)。Bucket是用来装Object的。
    3. Drive:即存储数据的磁盘。
    4. Set :分布式集群场景或多磁盘场景下。一组Drive的集合。
    5. 备注:
      1. 当MinIO集群服务启动以后,表明已经把Drive配置好了(当然,我们需要去指定Drive的位置、存储目录)。
      2. Object和Bucket是我们真正去操作、控制的2个东西,比如想把文件存储到哪个Bucket下面,我们要上传哪些Object。
  4. 纠删码EC(Erasure Code): 备份与恢复
    1. 作用:
      1. EC机制是用来保证MinIO高可靠性。
        1. 第一步:EC机制是用来校验数据是否损坏(如本身磁盘(硬件)就损坏了,如单单数据的损坏)。
          1. 校验原理(Bit Rot Protection):直接对MinIO中的文件进行一个hash。因为hash码是唯一的,所以如果hash码不变说明文件没有损坏,反之说明文件已经损坏了。
        2. 第二步:EC机制是用来做数据冗余和恢复的
          1. 如果数据损坏,可以校验是否是源文件数据损坏了,并且可以使用EC机制highwayhash来处理数据损坏(Bit Rot Protection)。
          2. minIO纠删码还原,是依赖于EC盘的数量去做处理的。
            1. 条件1:所有的盘都是可读的。
            2. 条件2:如果是坏死盘,MinIO是不允许我们再上传新的文件到坏死盘上面去的。
            3. 条件3:大于等于N/2+1的可读的正常状态下的盘的情况下,才能保证有EC盘数据的存在,也才能有可能通过EC机制来恢复数据。
    2. 案例1:EC机制下的数据冗余与恢复
      1. 有6块盘(因为EC机制生效最少需要4块盘)。
      2. 其中4块盘用于存储用户的数据,比如1.jpg。
      3. 其中2块盘用于存储对它EC机制编号后生成的1.jpg。
      4. 如果丢失1份数据,可以是4块盘中之一的1.jpg,也可以是2块盘之一EC后的1.jpg。那么,根据一定的算法可以恢复和还原。
      5. 如果丢失2份数据,而且是2块盘EC后的1.jpg都丢失了,那么不是还有4个盘的1.jpg嘛。
      6. 如果丢失3份数据,4块盘中之一和2块盘EC后的1.jpg都丢失了,那么就无法去恢复和还原了。
    3. 案例2:为了保证数据的冗余和恢复MinIO推荐使用方式
      1. MinIO推荐平均去分配
        1. 8个盘。
        2. 4个盘存源数据,4个盘存EC数据。
        3. 意味着,不管在什么情况下,如果丢失的数据<=4个盘,数据仍可以恢复。
  5. 存储形式
    1. 开启EC模式下的存储形式: 
  6. 存储方案
    1. MinIO集群的存储方案:
      1. 第一步:搭建MinIO集群
      2. 第二步:MinIO集群提供操作的API接口,默认端口9000,可以读写集群中的文件。
      3. 第三步:MinIO集群提供的控制台,端口随便定义,比如50000 

二 Minio环境搭建

  1. 概述:3种模式
  2. 单机部署:
    1. 不使用docker
      1. linux
        第一步:下载: wget https://dl.min.io/server/minio/release/linux-amd64/minio
        第二步:chmod +x minio,把它变成可执行文件。
        第三步:./minio server /data,指定磁盘位置并运行。
      2. window
        第一步:下载:http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe
        第二步:minio.exe server D:\,指定磁盘位置并运行
        
    2. 使用docket
  3. 分布式集群部署
  4. Minio客户端使用

三 Minio Java Client使用

  1. 文件上传
  2. 文件下载
  3. Spring boot整合minio

四 Minio控制台使用详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring常见注解

普通CURD框架结构 1、controller 控制器&#xff08;注入服务&#xff09;用于标注控制层&#xff0c;相当于struts中的action层 2、service 服务&#xff08;注入dao&#xff09;用于标注服务层&#xff0c;主要用来进行业务的逻辑处理 3、repository/Mapper&#xff08;实…

25.前端笔记-CSS-溢出的文字省略号展示

1、单行文本溢出显示省略号 满足条件&#xff1a; &#xff08;1&#xff09;先强制一行内显示文本 white-space:nowrap;/*默认不写&#xff0c;或值是normal自动换行*/) &#xff08;2&#xff09;超出的部分隐藏 overflow:hidden; &#xff08;3&#xff09;文字用省略号代…

ESPnet-SE 开源工具介绍

下面是我们整理的钱彦旻教授、张王优、李晨达在第二届SH语音技术研讨会和第七届Kaldi技术交流会的报告内容&#xff0c;如果有误&#xff0c;欢迎指正。 基本情况 今天我们主要是围绕ESPnet-SE这个工具做一个简单的介绍&#xff0c;我会大概讲一下ESPnet-SE的情况&#xff0c;…

一文了解宏内核和微内核

【推荐阅读】 纯干货&#xff0c;linux内存管理——内存管理架构&#xff08;建议收藏&#xff09; 轻松学会linux下查看内存频率,内核函数,cpu频率 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 需要多久才能看完linux内核源码&#xff1f; 内核是操…

微信小程序第五篇:页面弹出效果及共享元素动画

系列文章传送门&#xff1a; 微信小程序第一篇&#xff1a;自定义组件详解 微信小程序第二篇&#xff1a;七种主流通信方法详解 微信小程序第三篇&#xff1a;获取页面节点信息 微信小程序第四篇&#xff1a;生成图片并保存到手机相册 目录 一、page-caontainer 实现假页弹出 …

LDP协议介绍

LDP介绍 1.LDP协议概述 LDP&#xff08;Label Distribution Protocol&#xff09;规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起&#xff0c;从而形成标签交换路径LSP。 2.L…

【Python恶搞】Python实现祝福单身狗的恶搞项目,快发给你的怨种大兄弟 | 附源码

前言 halo&#xff0c;包子们上午好 咱就说&#xff0c;谁还没有一个单身的小伙伴呢 今天这个代码主要是为了祝福咱们单身的小伙伴 咱就说废话不多说&#xff0c;直接上才艺 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01; 当然别忘了一件三连哟~~ 公众号&#x…

Kali Linux 又更新了!202.4新版本有哪些变化?

Kali Linux在今年最后一个月迎来了新版本&#xff0c;即2022.4&#xff0c;上次更新是在8月份&#xff0c;时隔4个月&#xff0c;Kali linux 又有哪些新变化呢&#xff1f; 更新内容&#xff1a; Microsoft Azure - Kali 已添加到 Microsoft Azure&#xff0c;但目前没有图形…

阿里云效 ssh公钥配置

准备工作 通过 SSH 协议在 Git 命令行访问 Codeup&#xff0c;需要具备以下几点&#xff1a; 本机已安装Git&#xff08;安装教程参见安装Git&#xff09;并保证版本大于1.9&#xff08;通过git --version可获取本地的版本&#xff09;&#xff1b; 本机需要安装OpenSSH客户端…

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测 目录 智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测分类效果基本介绍模型参数程序设计参考资料分类效果 基本介绍 Bee-CNN蜜蜂算法优化卷积神经网络是一种模糊进化深度学习(优化权重和…

银行测试的优势在哪里?

为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没有&#xff0c;业务稳定。实在是测试类岗位中的香饽饽&#xff01;一、什么是金融行业金融业是指经营金融商品的特殊行…

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 液晶面板双通道电荷泵电源IC AAT1118

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 TFT LCD液晶面板双通道电荷泵电源IC AAT1118 概述 AAT1118集成了一个升压调节器&#xff0c;两个调节电荷泵&#xff0c;一个关闭功能&#xff0c;和一个开漏电源良好的输出&#xff0c;使其成为TFT液晶面板供电的…

逆行而上 光照前方 | 记“齐鲁之战”11月第一单签约者—郭群策

白玉兰品牌于2018年正式启航&#xff0c;白玉兰也与上海市花同名&#xff0c;作为国内四大名花之一&#xff0c;更具有品牌的标识性。品牌发展至今四年&#xff0c;三年是疫情期&#xff0c;但白玉兰酒店仍然成为目前锦江酒店&#xff08;中国区&#xff09;体系内发展最快的品…

Linux系统中裸机定时器的基本原理

大家好&#xff0c;今天的话主要和大家聊一聊&#xff0c;如何使用定时器&#xff0c;完成精准的定时功能实现​。 目录 第一​&#xff1a;EPIT定时器基本简介 ​第二&#xff1a;EPIT的基本配置 ​第三&#xff1a;代码的具体实现 第一​&#xff1a;EPIT定时器基本简介 ​…

【UE4】引擎配置文件原理学习笔记

刚好遇到一个ini加载的优化。趁此机会记录学习一下UE引擎的config文件层级结构和读取流程 文章目录两个问题层级结构文件读取流程初始化流程文件读取流程文件的写入配置文件内容和GConfig结构两个问题 在看项目目录结构的时候&#xff0c;有没有这样的疑问&#xff1a; 为什么…

喜报!泛睿云国家版权局颁发的软件著作权证书

近日,泛睿云自主研发的泛睿云计算服务平台V1.0,通过中国人民共和国国家版权局权威授权,获得了计算机软件著作权登记证书,这是对泛睿云实力和研发水平的充分肯定。 软件著作权是企业核心自主知识产权,是企业的“无形资产”,是企业科技的生命力和价值所在,国家权威部门的认证将使…

微信群裂变文案微信群裂变软件

看过前几篇文章的&#xff0c;想必多多少少都清楚微信群裂变以及朋友圈裂变能够带来的巨大能量&#xff1a;低成本获客&#xff0c;高质量传播。那今天就来分享微信群以及微信朋友圈裂变话术&#xff0c;满满都是干货&#xff0c;新手一定要看仔细咯。今天的内容主要讲的有三点…

亲测有效!咳嗽3秒检测新冠的小·程·序;开源啦!超全的AI创作工具网站;谷歌乳腺癌AI筛查进入临床实践;根据文字生成音乐 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f3a1;AI应用与工具大全 | &#x1f514;公众号资料下载 | &#x1f369;韩信子 &#x1f4e2; 『Thinkit声音识别』亲测有效&#xff01;新冠病毒咳嗽声检测小程序 一款名为“Thinkit声音识别”的微信小程序&#xff0c;实现通过声音识别新冠…

c#入门-可为空的注释上下文

null 一个经典的问题&#xff0c;字符串的“”和null有什么区别。 string s null; string s2 ""; Console.WriteLine(s); Console.WriteLine(s2);虽然看起来&#xff0c;他们都没有储存实际数据。 区别在于&#xff0c;“”相当于买了0个月饼。别人发了个空盒子过…