对象存储服务器MinIO的安装

文章目录

    • Docker安装MinIO
    • MinIO防数据丢失的原理

MINIO官方文档: https://docs.min.io/cn/minio-quickstart-guide.html
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务,它非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

Docker安装MinIO

1.拉取镜像

docker pull minio/minio

2. 创建容器数据卷

mkdir -p /docker/minio/data
mkdir -p /docker/minio/config
# 修改目录权限
chmod -R 777 /docker/minio/

3. 创建容器

docker run --name minio \
-p 9000:9000 --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=123456" \
-v /docker/minio/data:/data  \
-v /docker/minio/config:/root/.minio \
-d minio/minio server /data
  • MinIO如果不设置密钥会自动生成密码,安装时通过docker logs 容器id可以查看生成的密钥。这里自定义的MINIO_ACCESS_KEY和 MINIO_SECRET_KEY密钥要覆盖 MinIO 的自动生成的密钥
  • minio启动命令:minio server /data【数据目录】,因为dockerfile中CMD中已经指定了minio,所以这里只需写server /data即可
    对象存储服务器MinIO的安装_第1张图片
    默认的配置目录是 ${HOME}/.minio,你可以使用–config-dir命令行选项重写之。MinIO server在首次启动时会生成一个新的config.json,里面带有自动生成的访问凭据。
  1. 查看是否安装成功:http://www.onething.top:9000/minio/

MinIO防数据丢失的原理

MinIO 采用纠删码来防止硬盘故障,采用基于HighwayHash的哈希校验来防止无声数据损坏

  • Erasure Code【纠删码】是一种编码技术,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。
  • MinIo采用纠删码的方式来保护数据。Minio采用Reed-Solomon code将对象拆分成N/2数据和N/2 奇偶校验块。 这就意味着如果是12块盘,一个对象会被分成6个数据块、6个奇偶校验块,你可以丢失任意6块盘(不管其是存放的数据块还是奇偶校验块),你仍可以从剩下的盘中的数据进行恢复。
  • Minio对每个对象单独编码,存储服务一经部署,通常情况下是不需要更换硬盘或者修复。
  • 位衰减又被称为数据腐化Data Rot、无声数据损坏Silent Data Corruption,是目前硬盘数据的一种严重数据丢失问题。硬盘上的数据可能会神不知鬼不觉就损坏了,也没有什么错误日志。正所谓明枪易躲,暗箭难防,这种背地里犯的错比硬盘直接咔咔宕了还危险。 不过不用怕,Minio纠删码采用了高速 HighwayHash 基于哈希的校验和来防范位衰减。

你可能感兴趣的:(对象存储服务器MinIO的安装)