亚马逊网站联盟,做门户网站价格,彩票网站为啥链接做两次跳转,网站建设方案 百度文库文章目录 一、前言1、介绍说明2、部署方式3、冗余模式4、约束限制4.1、规格参数4.2、API支持a、minio不支持的Amazon S3 Bucket APIb、minio不支持的Amazon S3 Object API 二、部署说明1、软件安装2、minio单机部署3、minio分布式部署3.1、前置条件3.2、开始运行3.3、操作说明 … 文章目录 一、前言1、介绍说明2、部署方式3、冗余模式4、约束限制4.1、规格参数4.2、API支持a、minio不支持的Amazon S3 Bucket APIb、minio不支持的Amazon S3 Object API 二、部署说明1、软件安装2、minio单机部署3、minio分布式部署3.1、前置条件3.2、开始运行3.3、操作说明 三、关于MCminio client1、安装部署2、连接配置3、访问操作 一、前言 minio官方入门指南 minio分布式纠删介绍 1、介绍说明
minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口非常适合于存储大容量非结构化的数据例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等而一个对象文件可以是任意大小从几kb到最大5T不等。 minio具备以下特点 数据保护 分布式minio采用 erasure code来防范多个节点宕机和位衰减bit rot。 分布式minio至少需要4个节点使用分布式minio自动引入了纠删码功能。 高可用 单机minio服务存在单点故障相反如果是一个N节点的分布式minio,只要有N/2节点在线你的数据就是安全的可以正常进行读取对象操作。不过你需要至少有N/21个节点来创建新的对象 例如一个8节点的minio集群每个节点一块盘就算4个节点宕机这个集群仍然是可读的不过你需要5个节点才能写数据。 限制 分布式minio单租户存在最少4个盘最多16个盘的限制受限于纠删码。这种限制确保了minio的简洁同时仍拥有伸缩性。如果你需要搭建一个多租户环境你可以轻松的使用编排工具Kubernetes来管理多个minio实例。 注意只要遵守分布式minio的限制你可以组合不同的节点和每个节点几块盘。比如你可以使用2个节点每个节点4块盘也可以使用4个节点每个节点两块盘诸如此类。 一致性 minio在分布式和单机模式下所有读写操作都严格遵守read-after-write一致性模型。
2、部署方式
minio支持单机部署及分布式部署两种方式
单机部署仅作为网关角色使用将一个本地目录通过s3协议共享出去不具备任何冗余功能分布式部署可以将多块硬盘甚至在不同服务器上组成一个对象存储服务由于硬盘分布在不同服务器上可以避免单点故障
3、冗余模式
minio只支持纠删码冗余模式纠删码是一种恢复丢失和损坏数据的数学算法 minio采用Reed-Solomon code将对象拆分成N/2数据和N/2 奇偶校验块。 这就意味着如果是12块盘一个对象会被分成6个数据块、6个奇偶校验块你可以丢失任意6块盘不管其是存放的数据块还是奇偶校验块你仍可以从剩下的盘中的数据进行恢复。 纠删码的工作原理和RAID或者复制不同像RAID6可以在损失两块盘的情况下不丢数据而minio纠删码可以在丢失一半的盘的情况下仍可以保证数据安全。 而且minio纠删码是作用在对象级别可以一次恢复一个对象而RAID是作用在卷级别数据恢复时间很长。 minio对每个对象单独编码存储服务一经部署通常情况下是不需要更换硬盘或者修复。minio纠删码的设计目标是为了性能和尽可能的使用硬件加速。 4、约束限制
4.1、规格参数
规格说明参数说明最大驱动器数量16最小驱动器数量4读仲裁N / 2写仲裁N / 21Web浏览器上传大小限制5 GB最大桶数无限额每桶最大对象数无限额最大对象大小5 TB最小对象大小0 B每次PUT操作的最大对象大小5 GB每次上传的最大Part数量10,000Part 大小5 MB到5 GB. 最后一个part可以从0 B到5 GB每次list parts请求可返回的part最大数量1000每次list objects请求可返回的object最大数量1000每次list multipart uploads请求可返回的multipart uploads最大数量1000
4.2、API支持
a、minio不支持的Amazon S3 Bucket API
BucketACL (可以用 bucket policies)BucketCORS (所有HTTP方法的所有存储桶都默认启用CORS)BucketLifecycle (minio纠删码不需要)BucketReplication (可以用 mc mirror)BucketVersions, BucketVersioning (可以用 s3git)BucketWebsite (可以用 caddy or nginx)BucketAnalytics, BucketMetrics, BucketLogging (可以用 bucket notification APIs)BucketRequestPaymentBucketTagging
b、minio不支持的Amazon S3 Object API
ObjectACL (可以用 bucket policies)ObjectTorrent
二、部署说明
1、软件安装
minio安装非常简单直接下载二进制文件拷贝到/usr/bin文件运行即可
yum install wget
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod x minio
mv minio /usr/bin关闭防火墙或者开放指定访问端口
直接关闭防火墙
[rootnode27 ~]# systemctl stop firewalld
[rootnode27 ~]# systemctl disable firewalld开启防火墙允许9000~9010端口或是9000端口访问
[rootnode27 ~]# firewall-cmd --zonepublic --add-port9000:9010/tcp --permanent
[rootnode27 ~]# firewall-cmd --zonepublic --add-port9000/tcp --permanent
[rootnode27 ~]# firewall-cmd --reload--zone #作用域
--add-port80/tcp #添加端口格式为端口/通讯协议
--permanent #永久生效没有此参数重启后失效2、minio单机部署
Minio是一个非常轻量的服务,可以很简单的和其他应用的结合类似 NodeJS, Redis 或者 MySQL 执行minio server /local-path命令可以将本地目录通过s3协议共享出去 默认访问端口为9000访问对应IP地址即可如http://172.16.21.27:9000
示例如下将/disk01目录通过s3协议共享出去
minio server /disk01/3、minio分布式部署
3.1、前置条件
完成minio软件包安装分布式minio里所有的节点需要有同样的access key和secret key这样这些节点才能建立联接。为了实现这个你需要在执行minio server命令之前先将access key和secret key export成环境变量分布式minio使用的磁盘里必须是干净的提供空目录即可里面没有数据分布式minio里的节点时间差不能超过3秒可以使用NTP 来保证时间一致
3.2、开始运行
启动一个分布式minio实例只需要把硬盘位置做为参数传给minio server命令即可然后在所有其它节点运行同样的命令 示例存在节点27、28、29、233、234、235六个节点每个节点有两个磁盘分别挂载在/disk01和/disk02目录下 所有节点下执行命令如下之后访问任意节点的9000端口即可访问到分布式minio集群数据
export minio_ACCESS_KEYuser0001;
export minio_SECRET_KEYuser0001;
minio server http://10.0.0.27/disk01 http://10.0.0.27/disk02 http://10.0.0.28/disk01 http://10.0.0.28/disk02 http://10.0.0.29/disk01 http://10.0.0.29/disk02 http://10.0.0.233/disk01 http://10.0.0.233/disk02 http://10.0.0.234/disk01 http://10.0.0.234/disk02 http://10.0.0.235/disk01 http://10.0.0.235/disk02若启动分布式minio实例出现1st disk is already being used in another erasure deployment. 尝试解除磁盘挂载重新格式化磁盘后再挂载之后重新启动分布式minio实例 3.3、操作说明
通过export设置设置秘钥 启动minio服务进程服务前手动执行export设置访问秘钥
export minio_ACCESS_KEYuser01;export minio_SECRET_KEYuser01;通过export设置设置纠删比 启动minio服务进程服务前手动执行export设置纠删比
export minio_STORAGE_CLASS_STANDARDEC:3三、关于MCminio client
minio Client (mc)为lscatcpmirrordifffind等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务AWS Signature v2和v4
1、安装部署
直接下载二进制文件拷贝至/usr/bin/目录运行即可
yum install wget
wget https://dl.minio.io/client/mc/release/linux-amd64/mc
chmod x mc
mv mc /usr/bin/2、连接配置
通用命令mc config host add storage-name s3-endpoint ACCESS_KEY SECRET_KEY
参考示例如下
mc config host add myminion http://10.0.0.27:9000 user0001 user00013、访问操作
当与minio成功连接完成后可通过以下命令进行访问操作
mc config host {}
ls 列出文件和文件夹mb 创建一个存储桶或一个文件夹cat 显示文件和对象内容pipe 将一个STDIN重定向到一个对象或者文件或者STDOUTshare 生成用于共享的URLcp 拷贝文件和对象mirror 给存储桶和文件夹做镜像find 基于参数查找文件diff 对两个文件夹或者存储桶比较差异rm 删除文件和对象events 管理对象通知watch 监听文件和对象的事件policy 管理访问策略session 为cp命令管理保存的会话config 管理mc配置文件update 检查软件更新version 输出版本信息