5、monio环境搭建之分布式集群部署
- 分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式minio避免了单点故障

1、分布式存储可靠性常用方法
- 分布式存储,很关键的点在于数据的可靠性,即保证数据的完整,不丢失,不损坏。只有在可靠性实现的前提下,才有了追求一致性、高可用、高性能的基础。而对于在存储领域,一般对于保证数据可靠性的方法主要有两类:一类是冗余法,一类是校验法。
- 冗余:
- 冗余法最简单直接,即对存储的数据进行副本备份,当数据出现丢失,损坏,即可使用备份内容进行恢复,而副本备份的多少,决定了数据可靠性的高低。这其中会有成本的考量,副本数据越多,数据越可靠,但需要的设备就越多,成本就越高。可靠性是允许丢失其中一份数据。当前已有很多分布式系统是采用此种方式实现,如Hadoop的文件系统(3个副本), Redis的集群,MySQL的主备模式等。
- 校验:
- 校验法即通过校验码的数学计算的方法,对出现丢失、损坏的数据进行校验、还原。注意,这里有两个作用,一个校验,通过对数据进行校验和(checksum)进行计算,可以检查数据是否完整,有误损坏或更改,在数据传输和保存时经常用到,如TCP协议;二是恢复还原,通过对数据结合校验码,通过数学计算,还原丢失或损坏的数据,可以在保证数据可靠的前提下,降低冗余,如单机硬盘存储的RAID技术,纠删码技术等。Minio采用的就是纠删码技术。
2、分布式Minio优势
- 数据保护:
- 分布式Minio采用纠删码来防范多个节点宕机和位衰减bir rot
- 分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能
- 高可用
- 单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过需要至少有N/2+1个硬盘来创建新的对象。
- 例如,一个16节点的Minio集群,每个节点16块硬盘,就算8台服务器宕机,这个集群仍然是可读的,不过你需要9台服务器才能写数据,
- 一致性:
- minio在分布式和单机模式下,所有的读写操作都严格遵守read-after-write一致性模型
3、运行分布式Minio
- 启动一个分布式Minio实例,你只需要把硬盘位置作为参数传给minio server命令即可。然后,你需要在其他所有节点运行同样的命令。
- 分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,这样这些节点才能建立连接。为了实现这个,你需要在执行minio server命令之前,先将access秘钥和secret密钥export成环境变量。
- 分布式Minio使用的磁盘里必须是干净的,里面没有数据。
- 下面示例例的IP仅供示例参考,你需要改成你真是用到的IP和文件夹路径
- 分布式minio里的节点时间差不能超过3秒,你可以使用NTP来保证时间一致。
- 在windows下运行分布式Minio处于实验阶段,请悠着点使用。
- 8个节点,每个节点1块盘
- 启动分布式Minio实例,8个节点,每个节点1块盘,需要在8个节点上都运行下面的命令:
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
minio server http://192.168.1.11/export1 http://192.168.1.12/export2 \
http://192.168.1.13/export3 http://192.168.1.14/export4 \
http://192.168.1.15/export5 http://192.168.1.16/export6 \
http://192.168.1.17/export7 http://192.168.1.18/export8
- 4节点,每个节点4块盘
- 启动分布式Minio实例,4节点,每节点4块盘,需要在4个节点上都运行下面的命令。
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
minio server http://192.168.1.11/export1 http://192.168.1.11/export2 \
http://192.168.1.11/export3 http://192.168.1.11/export4 \
http://192.168.1.12/export1 http://192.168.1.12/export2 \
http://192.168.1.12/export3 http://192.168.1.12/export4 \
http://192.168.1.13/export1 http://192.168.1.13/export2 \
http://192.168.1.13/export3 http://192.168.1.13/export4 \
http://192.168.1.14/export1 http://192.168.1.14/export2 \
http://192.168.1.14/export3 http://192.168.1.14/export4
- 通过脚本方式启动

- 执行脚本后查看日志和进程


4、使用docker Compose部署Minio
- https://docs.min.io/docs/deploy-minio-on-docker-compose.html
- 要在Docker Compose上部署分布式Minio,请下载Docker-compose.yaml和nginx.conf到你当前的工作目录。
docker-compose pull
docker-compose up4.1、扩展现有的分布式集群
- 例如我们是通过区的方式启动Minio集群,命令行如下:
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
minio server http://host{1...32}/export{1...32}本文来自博客园,作者:郭祺迦,转载请注明原文链接:https://www.cnblogs.com/guojie-guojie/p/16133645.html

浙公网安备 33010602011771号