MinIO 介绍使用

MinIO 介绍

MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。

创新互联建站专业为企业提供长安网站建设、长安做网站、长安网站设计、长安网站制作等企业网站建设、网页设计与制作、长安企业网站模板建站服务,10余年长安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

MinIO 英文官网MinIO 中文官网注意:中文官方更新不及时,会有很多坑,请以英文官网为准。

基础概念

1、Object:存储到minio的基本对象,如文件,字节流,Anything。。。。

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

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

4、Set:即一组 Drive的集合,分布式部署根据集群规模自动划分一个或者多个Set,每个Set中的Drive 分布在不同位置。一个对象存储在一个Set上。

4.1、一个对象存储在一个Set上。

4.2、一个集群划分为多个Set。

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

4.4、一个Set中的drive 尽可能分布在不同的节点上。

5、纠删码:Minio 使用纠删码机制来保证高可靠性。

5.1、使用highwayhash来处理数据损坏(Bit Rot Protectio)。关于纠删码,简单来说就是可以通过数学计算,把丢失的数据进行还原。

5.2、纠删码是恢复丢失和算怀数据的数学算法,minio采用reed-solomincode将对象拆分成N/2数据和N/2奇偶校验块。这就意味着如果是12块盘,一个对象会被分成6个数据快、6个奇偶校验块,你可以丢失任意6块盘(不管其存放的是数据块还是奇偶校验块),你任可以从剩下的盘中的数据进行恢复。

5.2、纠删码模式,把数据分成DATA BLOCk:数据块、PARITY BLOCK:校验块。一个BLOCK 10M左右,如果一个文件小于10M,就以文件大小进行分块。如果一个文件大于10m,就以10M为一个文件单位进行分块。

应用场景

1、互联网非结构化数据的存储需求

1.1 、电商网站:海量商品图片

2.1、视频网站:海量视频文件

3.1、网盘:海量文件

MinIO优势

1、数据保护

1.1、分布式MInio采用纠删码来放反多个节点待机和位衰减 bit rot

1.2、分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。

2、高可用

2.1、单机Minio服务存在单点故障,相反,如果是有一个N快硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。

2.2、例如,一个16节点的Minio集群,每个节点16块块硬盘,计算8台服务器宕机,这个集群仍然是可读的,不过你需要9台服务器才能写入数据。

3、一致性

3.1、Minio在分布式和单机模式下,所有读写炒作都严格遵守read-after-write 一致性模型

MinIO 使用

使用【服务端】

单机模式 (linux部署)

ps:初始用户名密码:minioadmin

1、下载linux minio,wget https://dl.min.io/server/minio/release/linux-amd64/minio

2、linux部署

修改用户名密码:
export MINIO_ROOT_USER=username
export MINIO_ROOT_PASSWORD=password

启动:
./minio server --console-address ":9090" /mnt/data

后台启动,指定日志路径:
nohup ./minio server --console-address :"9090" ./miniodata/data >./miniodata/minio.log 2>&1 &

ps:接口默认地址:9000
指定console端口:9090

网页名称:MinIO 介绍使用
分享网址:http://myzitong.com/article/dscgioi.html