MinIO 分布式集群搭建

  • 时间:
  • 浏览:0

分布式 Minio 采用纠删码(erasure code)来防范多个节点宕机和位衰减(bit rot)。

纠删码是某种恢复丢失和损坏数据的数学算法, Minio 采用 Reed-Solomon code 将对象拆分成 N/2 数据和 N/2 奇偶校验块。 这就原应着肯能是 12 块盘,一一个 多对象会被分成 6 个数据块、6 个奇偶校验块,我应该 丢失任意 6 块盘(不管其是存放的数据块还是奇偶校验块),你仍都前要从剩下的盘中的数据进行恢复。

分布式 Minio 单租户处于离米 2 个盘最多 32 个盘的限制(受限于纠删码)。某种 限制确保了 Minio 的简洁,一起仍拥有伸缩性。肯能你前要搭建一一个 多多租户环境,我应该 轻松的使用编排工具(Kubernetes)来管理多个Minio实例。

Minio 分布式模式都前要搭建一一个 多高可用的对象存储服务,我应该 使用那些存储设备,而不需要考虑其真内部人员理位置。

纠删码的工作原理和 RAID 肯能好友克隆不同,像 RAID6 都前要在损失两块盘的情形下不丢数据,而 Minio 纠删码都前要在丢失一半的盘的情形下,仍都前要保证数据安全。 但会 Minio 纠删码是作用在对象级别,都前要一次恢复一一个 多对象,而RAID 是作用在卷级别,数据恢复时间很长。 Minio 对每个对象单独编码,存储服务一经部署,通常情形下是不前要更换硬盘肯能修复。Minio 纠删码的设计目标是为了性能和尽肯能的使用硬件加速。

同类于,一一个 多 8 节点的 Minio 集群,每个节点一块盘,就算 4 个节点宕机,某种 集群仍然是可读的,不过你前要 5 个节点不需要 写数据。

分布式 Minio 离米 前要 4 个节点,使用分布式 Minio 就自动引入了纠删码功能。

注意

(3)限制

单机 Minio 服务处于单点故障,相反,肯能是一一个 多 N 节点的分布式 Minio ,假如有一天有 N/2 节点在线,你的数据就是我安全的。不过你前要离米 有 N/2+1 个节点来创建新的对象。

验证算是部署成功,使用浏览器访问 Minio 服务肯能使用 mc。多个节点的存储容量和就是我分布式Minio的存储容量。

(2)高可用

位衰减又被称为数据腐化 Data Rot、无声数据损坏 Silent Data Corruption ,是目前硬盘数据的某种严重数据丢失那些的大问题。硬盘上的数据肯能会神不知鬼不觉就损坏了,也这麼那些错误日志。 很多很多 Minio 纠删码采用了高速 HighwayHash 基于哈希的校验和来防范位衰减。

启动分布式Minio实例,4节点,每节点4块盘,前要在一一个 多节点上都运行下面的命令。

注意,假如有一天遵守分布式 Minio 的限制,我应该 组合不同的节点和每个节点十2个 盘。比如,我应该 使用 2 个节点,每个节点 4 块盘,也都前要使用 4 个节点,每个节点两块盘,诸这麼类。

(1)数据保护

启动一一个 多分布式 Minio 实例,你只前要把硬盘位置做为参数传给 minio server 命令即可,但会 ,你前要在所有其它节点运行同样的命令。

(4)一致性

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

分布式 Minio 都前我应该 应该 将多块硬盘(甚至在不同的机器上)组成一一个 多对象存储服务。肯能硬盘分布在不同的节点上,分布式 Minio 除理了单点故障。

启动分布式Minio实例,8个节点,每节点1块盘,前要在8个节点上都运行下面的命令。