zhenggaoxiong

初识MinIO

writer:zgx
last modify: 2020年09月26日


前言

学习任何一项技术,都需要有2w+1h的思想

即what、how、why
what:这是什么?有什么作用?怎么是用?
how:这是怎么实现的?
why:为什么有这个技术?有没有其他技术可以进行代替?比其他技术好在哪?又差在哪?

MinIO简介

MinIO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容aws s3云存储服务接口,非常适合于存储非结构化的数据,例如图片、视频、日志文件、备份数据和容量/虚拟机镜像等,而一个对象文件可以是任意大小的,几十kb到5TB不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,如MySQL、redis...

MinIO使用

refs:https://docs.min.io/cn/minio-quickstart-guide.html

MinIO安装

macOs

brew install minio/stable/minio
minio server /data

Linux

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
minio server /data

使用源码安装,或者要看开源代码;前提是安装好Golang环境

Linux安装golang环境,可以看这篇
Linux配置Golang依赖包

go get -u github.com/minio/minio

MinIO纠删码

MinIO使用纠删码ensure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。即使丢失一半数量(N/2)的硬盘,仍然可以恢复数据。

纠删码ensure code是什么

纠删码是一种恢复丢失和损坏数据的数学算法,Minio采用Reed-Solomon code将对象分为N/2数据和2/N奇偶校验块。这就意味着如果12块盘,一个对象会被分为6个数据块、6个奇偶校验块

意味着丢失任意的6块盘(不管其存放的数据块还是奇偶校验块),仍可以从剩下的盘中的数据进行恢复
这块可以查阅相关paper进行了解

refers

https://docs.min.io/cn/

posted @ 2020-09-27 00:37  zhenggaoxiong  阅读(503)  评论(0编辑  收藏  举报