分布式MinIO快速入门
分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。
分布式Minio的好处
Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
-
数据保护
分布式Minio采用 纠删码来防范多个节点宕机和位衰减bit rot。
分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。 -
高可用
单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。 -
一致性
Minio在分布式和单机模式下,所有读写操作都严格遵守read-after-write一致性模型。
运行分布式Minio
前提条件
- Linux系统
- 已安装了MinIO
示例: 启动分布式Minio实例,8个节点,每节点1块盘,需要在8个节点上都运行下面的命令。
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
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
示例: 启动分布式Minio实例,4节点,每节点4块盘,需要在4个节点上都运行下面的命令。
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
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
扩展现有的分布式集群
例如我们是通过区的方式启动MinIO集群,命令行如下:
Copyexport MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://host{1...32}/export{1...32}
MinIO支持通过命令,指定新的集群来扩展现有集群(纠删码模式),命令行如下:
Copyexport MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://host{1...32}/export{1...32} http://host{33...64}/export{1...32}
现在整个集群就扩展了1024个磁盘,总磁盘变为2048个,新的对象上传请求会自动分配到最少使用的集群上。
验证
验证是否部署成功,使用浏览器访问Minio服务或者使用 mc。多个节点的存储容量和就是分布式Minio的存储容量。