分布式文件系统——MinIo

1. 文件系统和分布式文件系统

1.1 文件系统

文件系统是负责管理和存储文件的系统软件,操作系统通过文件系统提供的接口去存取文件,用户通过操作系统访问磁盘上的文件。

在这里插入图片描述

1.2 分布式文件系统

一个计算机无法存储海量的文件,通过网络将若干计算机组织起来共同去存储海量的文件,去接收海量用户的请求,这些组织起来的计算机通过网络进行通信。

2. MinIo

MinIO 是一个非常轻量的服务,可以很简单的和其他应用的结合使用,它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。它一大特点就是轻量,使用简单,功能强大,支持各种平台,单个文件最大5TB,兼容 Amazon S3接口,提供了 Java、Python、GO等多版本SDK支持。

2.1 MinIo 纠删码技术

Minio使用纠删码技术来保护数据,它是一种恢复丢失和损坏数据的数学算法,它将数据分块冗余的分散存储在各各节点的磁盘上,所有的可用磁盘组成一个集合,上图由8块硬盘组成一个集合,当上传一个文件时会通过纠删码算法计算对文件进行分块存储,除了将文件本身分成4个数据块,还会生成4个校验块,数据块和校验块会分散的存储在这8块硬盘上。
使用纠删码的好处是即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据。 比如上边集合中有4个以内的硬盘损害仍可保证数据恢复,不影响上传和下载,如果多于一半的硬盘坏了则无法恢复。

比如说,创建四个目录表示四个磁盘,首先在本机上演示一下,在本机上下载,有条件的话可以在Linux虚拟机上自行下载(后续项目肯定要在虚拟机上下载)下载地址:MinIO
在这里插入图片描述
CMD进入有minio.exe的目录,运行下边的命令:
minio.exe server D:\data1 D:\data2 D:\data3 D:\data4 (自己的文件地址不要错)

2.2 本机演示

账号和密码默认为minioadmin、minioadmin,可以在环境变量中设置通过'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' 进行设置。

下边输入http://localhost:9000进行登录,账号和密码为:minioadmin/minioadmin

在这里插入图片描述

登录成功:

在这里插入图片描述

下一步创建bucket,桶,它相当于存储文件的目录,可以创建若干的桶在这里插入图片描述

输入bucket的名称,点击“CreateBucket”,创建成功
在这里插入图片描述

点击“upload”上传文件。
在这里插入图片描述

下边去四个目录观察文件的存储情况
在这里插入图片描述

我们发现上传的1.mp4文件存储在了四个目录,即四个硬盘上。
下边测试minio的数据恢复过程:

1、首先删除一个目录。 删除目录后仍然可以在web控制台上传文件和下载文件。稍等片刻删除的目录自动恢复。

2、删除两个目录。 删除两个目录也会自动恢复。

3、删除三个目录 。 由于 集合中共有4块硬盘,有大于一半的硬盘损坏数据无法恢复。

相关推荐

  1. 38.分布式文件系统 - Minio

    2024-04-11 15:28:04       13 阅读
  2. 分布式文件存储系统minio了解下

    2024-04-11 15:28:04       41 阅读
  3. OSS文件上传、MinIO分布式文件存储系统

    2024-04-11 15:28:04       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-11 15:28:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-11 15:28:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-11 15:28:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-11 15:28:04       20 阅读

热门阅读

  1. Vue自定义指令介绍及使用方法

    2024-04-11 15:28:04       15 阅读
  2. antd react 上传组件 customRequest 讲解

    2024-04-11 15:28:04       16 阅读
  3. MPP-媒体软件V5.0开发参考

    2024-04-11 15:28:04       12 阅读
  4. MLT媒体程序框架02:源码剖析

    2024-04-11 15:28:04       10 阅读
  5. 蓝桥杯---蜗牛

    2024-04-11 15:28:04       13 阅读
  6. python学习——re库的常用函数

    2024-04-11 15:28:04       12 阅读
  7. SQL Server 多表联合更新方法

    2024-04-11 15:28:04       15 阅读
  8. 2. WPF显示一个启动画面(欢迎屏幕)

    2024-04-11 15:28:04       14 阅读
  9. 缓存、分布式缓存、缓存的风险

    2024-04-11 15:28:04       15 阅读
  10. Linux下的链接文件

    2024-04-11 15:28:04       14 阅读
  11. linux SSH 服务管理命令

    2024-04-11 15:28:04       14 阅读