zoukankan      html  css  js  c++  java
  • 初识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/

  • 相关阅读:
    Jenkins
    python爬虫
    git分布式版本控制
    CKA考试认证总结
    gitlab-ci 工具链
    gitlab-ci 模板库实践
    gitlab-cicd
    gitlab配置文件gitlab.rb详解
    局部变量表中的slot简述
    JVM系统线程类型
  • 原文地址:https://www.cnblogs.com/zhenggaoxiong/p/13735330.html
Copyright © 2011-2022 走看看