minio集群搭建以及与其他分布式存储系统对比

### Ceph
优点

  • 成熟
  • 红帽继子,ceph创始人已经加入红帽
  • 国内有所谓的ceph中国社区,私人机构,不活跃,文档有滞后,而且没有更新的迹象。
  • 功能强大
  • 支持数千节点
  • 支持动态增加节点,自动平衡数据分布。
  • 可配置性强,可针对不同场景进行调优

缺点

学习成本高,安装运维复杂。

### Minio
优点

  • 学习成本低,安装运维简单,开箱即用
  • 目前minio论坛推广给力,有问必答
  • 有java客户端、js客户端
  • 数据保护:分布式Minio采用 纠删码来防范多个节点宕机和位衰减bit rot。分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。
  • 一致性:Minio在分布式和单机模式下,所有读写操作都严格遵守read-after-write一致性模型。
  • 支持联盟模式扩展集群

缺点

  • 不支持动态增加节点,minio创始人的设计理念就是动态增加节点太复杂,后续会采用其它方案来支持扩容。

### FastDFS
fastdfs是阿里余庆做的一个个人项目,在一些互联网创业公司中有应用,没有官网,不活跃,

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

纠删码是一种恢复丢失和损坏数据的数学算法,目前,纠删码技术在分布式存储系统中的应用主要有三类,阵列纠删码(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。Erasure Code是一种编码技术,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。

 

minio存储数据原理:https://blog.csdn.net/huangbaoling66/article/details/90179658

 

minio集群搭建:(centos7及以上版本)

生产环境建议最少4节点

节点    IP    data
minio1    10.10.0.1    /data/minio/data
minio2    10.10.0.2    /data/minio/data
minio3    10.10.0.3    /data/minio/data
minio4    10.10.0.4    /data/minio/data
1、获取Minio
https://dl.min.io/server/minio/release/linux-amd64/minio


2、目录创建
启动脚本及二进制文件目录 run
数据存储目录 data
配置文件目录/etc/minio

mkdir -p /data/minio/{run,data} && mkdir -p /etc/minio



3、集群启动文件
vim /data/minio/run/run.sh

MINIO_ACCESS_KEY:用户名,长度最小是5个字符
MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符
–config-dir:指定集群配置文件目录

#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test1234!

/data/minio/run/minio server --config-dir /etc/minio \
http://10.10.0.1/data/minio/data \
http://10.10.0.2/data/minio/data \
http://10.10.0.3/data/minio/data \
http://10.10.0.4/data/minio/data \



4、minio.service
WorkingDirectory:二进制文件目录
ExecStart:指定集群启动脚本
vim /usr/lib/systemd/system/minio.service 

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/data/minio/run/
ExecStart=/data/minio/run/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target



5、二进制文件
将minio二进制文件上传到/data/minio/run目录

6、权限修改
给所有涉及到的文件或目录添加权限

service文件
二进制文件
集群启动脚本

chmod +x /usr/lib/systemd/system/minio.service && chmod +x /data/minio/run/minio && chmod +x /data/minio/run/run.sh



7、启动集群

systemctl daemon-reload
systemctl enable minio && systemctl start minio



8、代理集群
生产环境需要使用Nginx将集群地址进行代理,对外统一入口

upstream minio{
        server 10.10.0.1:9000;
        server 10.10.0.2:9000;
        server 10.10.0.3:9000;
        server 10.10.0.4:9000;
}
server {
        listen 9000;
        server_name minio;
        location / {
                proxy_pass http://minio;
                proxy_set_header Host $http_host;
                client_max_body_size 1000m;
        }
}



9、测试
浏览器访问minio集群代理地址+9000端口,用户名密码为上文中启动文件run.sh中我们设置的

mc命令安装教程:https://blog.csdn.net/qq_38461773/article/details/107534421

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值