minio集群部署

1、基础

1.1 什么是minio
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

1.2 minio优点
在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
数据保护:
分布式Minio采用 erasure code(纠删码)来防范多个节点宕机和位衰减bit rot
高可用:
单机Minio服务存在单点故障,相反,如果是一个N节点的分布式Minio,只要有N/2节>点在线,你的数据就是安全的。不过你需要至少有N/2+1个节点 Quorum >来创建新的对象。
例如,一个8节点的Minio集群,每个节点一块盘,就算4个节点宕机,这个集群仍然>是可读的,不过你需要5个节点才能写数据。
限制:
分布式Minio单租户存在最少4个盘最多16个盘的限制(受限于纠删码)。这种限制>确保了Minio的简洁,同时仍拥有伸缩性。如果你需要搭建一个多租户环境,你可以轻松的使用编排工具(Kubernetes)来管理多个Minio实例。
注意,只要遵守分布式Minio的限制,你可以组合不同的节点和每个节点几块盘。比如,你可以使用2个节点,每个节点4块盘,也可以使用4个节点,每个节点两块盘,诸如此类。

1.3 环境
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,每个目录均已挂载一个磁盘(网上有的说必须挂载),最小数据挂载点为4个。
192.144.23.198(内网IP为:172.21.0.9)
/minio/data1 /minio/data2
在这里插入图片描述

120.53.225.106(内网IP为:172.21.0.8)
/minio/data1 /minio/data2
在这里插入图片描述

2、minio集群部署过程

2.1 创建相关目录(所有节点)
数据存储目录
mkdir -p /minio/{data1,data2}

启动脚本目录
mkdir -p /opt/minio

集群配置文件目录
mkdir -p /etc/minio1

2.2 下载minio(所有节点)
cd /opt/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

2.3 编写集群启动脚本(所有节点)
cd /opt/minio
touch run.sh
vim run.sh

#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio
/opt/minio/minio server --config-dir /etc/minio1 --address 0.0.0.0:9999
http://172.21.0.9/minio/data1 http://172.21.0.9/minio/data2
http://120.53.225.106/minio/data3 http://120.53.225.106/minio/data4 > minio.log

*注*
1、本机写内网IP,另外一个机器写对方的外网IP
2、“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“–config-dir”指定集群配置文件目录,“–address”中的0000表示允许IP访问,9999为使用端口。

chmod +x run.sh

touch minio.log

2.4 编写服务脚本(所有节点)
vim /usr/lib/systemd/system/minio.service

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

chmod +x /usr/lib/systemd/system/minio.service

2.5 启动停止(所有节点)
systemctl daemon-reload
systemctl start minio
systemctl stop minio
systemctl restart minio

浏览器访问如下:

**3、minio client 安装

3.1下载二进制文件**
cd /opt/minio
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc

3.2添加服务端
./mc config host add minio198 http://192.144.238.198:9999 username password --api s3v4

3.3设置某桶访问策略
./mc policy set public minio/blankbuekct

桶访问策略为public,其下的文件就有了永久访问路径,就无需后面的一大串参数,如下
http://192.144.238.198:9999/blankbucket/blankbucket_1608781722550.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minio%2F20201224%2F%2Fs3%2Faws4_request&X-Amz-Date=20201224T103922Z&X-Amz-Expires=432000&X-Amz-SignedHeaders=host&X-Amz-Signature=c2bb710b6130a88d1a4d1a7c55fec666df772ba717da4ddd210d979aa258424a

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值