• minio分布式部署(转载整理自官网)


    简介

    分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。

    分布式Minio有什么好处?

    在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。

    数据保护

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

    分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。

    高可用

    单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。

    例如,一个16节点的Minio集群,每个节点16块硬盘,就算8台服務器宕机,这个集群仍然是可读的,不过你需要9台服務器才能写数据。

    注意:
    只要遵守分布式Minio的限制,你可以组合不同的节点和每个节点几块硬盘。比如,你可以使用2个节点,每个节点4块硬盘,也可以使用4个节点,每个节点两块硬盘,诸如此类。

    一致性

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

    部署

    安装

    wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
    mv minio /usr/local/bin/
    chmod +x /usr/local/bin/minio
    

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

    注意:
    分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,这样这些节点才能建立联接。为了实现这个,你需要在执行minio server命令之前,先将access秘钥和secret秘钥export成环境变量。
    分布式Minio使用的磁盘里必须是干净的,里面没有数据。

    下面示例里的IP仅供示例参考,你需要改成你真实用到的IP和文件夹路径。分布式Minio里的节点时间差不能超过3秒,你可以使用NTP 来保证时间一致。
    在Windows下运行分布式Minio处于实验阶段,请悠着点使用。

    示例1: 启动分布式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集群,命令行如下:

    export MINIO_ACCESS_KEY=<ACCESS_KEY>
    export MINIO_SECRET_KEY=<SECRET_KEY>
    minio server http://host{1...32}/export{1...32}
    

    MinIO支持通过命令,指定新的集群来扩展现有集群(纠删码模式),命令行如下:

    export 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个,新的对象上传请求会自动分配到最少使用的集群上。通过以上扩展策略,您就可以按需扩展您的集群。重新配置后重启集群,会立即在集群中生效,并对现有集群无影响。如上命令中,我们可以把原来的集群看做一个区,新增集群看做另一个区,新对象按每个区域中的可用空间比例放置在区域中。在每个区域内,基于确定性哈希算法确定位置。

    说明: 您添加的每个区域必须具有与原始区域相同的磁盘数量(纠删码集)大小,以便维持相同的数据冗余SLA。 例如,第一个区有8个磁盘,您可以将集群扩展为16个、32个或1024个磁盘的区域,您只需确保部署的SLA是原始区域的倍数即可。

    附录

    官网地址:MinIO Quickstart Guide | Minio中文文档

    本文来自博客园,作者:sunnydoy,转载请注明原文链接:https://www.cnblogs.com/sunnydou/p/15130684.html

  • 相关阅读:
    urllib3使用池管理发送请求和requests常用方法的基本使用+session使用
    Ajax爬取动态数据和HTTPS自动默认证书
    urllib库中的URL编码解码和GETPOST请求
    urllib的使用和进阶——urllib.request
    1.8学习进度总结
    1.7学习进度总结
    1.5学习进度总结
    1.4学习进度总结
    第十二周周进度总结
    第十一周周进度总结
  • 原文地址:https://www.cnblogs.com/sunnydou/p/15130684.html
Copyright © 2020-2023  润新知