0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MinIO的基础概念和环境部署

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2022-08-29 10:07 次阅读

一、前言

MinIO 的基础概念和环境部署可以参考:

我之前的文章:高性能分布式对象存储——MinIO(环境部署):https://www.cnblogs.com/liugp/p/16558869.html

二、客户端操作 MinIO Client(mc)

官方文档:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client (mc) 为 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了现代替代方案。它支持文件系统和兼容 Amazon S3 的云存储服务(AWS Signature v2 和 v4)。

aliasset,removeandlistaliasesinconfigurationfile
lslistbucketsandobjects
mbmakeabucket
rbremoveabucket
cpcopyobjects
mirrorsynchronizeobject(s)toaremotesite
catdisplayobjectcontents
headdisplayfirst'n'linesofanobject
pipestreamSTDINtoanobject
sharegenerateURLfortemporaryaccesstoanobject
findsearchforobjects
sqlrunsqlqueriesonobjects
statshowobjectmetadata
mvmoveobjects
treelistbucketsandobjectsinatreeformat
dusummarizediskusagerecursively
retentionsetretentionforobject(s)
legalholdsetlegalholdforobject(s)
difflistdifferencesinobjectname,size,anddatebetweentwobuckets
rmremoveobjects
encryptmanagebucketencryptionconfig
eventmanageobjectnotifications
watchlistenforobjectnotificationevents
undoundoPUT/DELETEoperations
policymanageanonymousaccesstobucketsandobjects
tagmanagetagsforbucket(s)andobject(s)
ilmmanagebucketlifecycle
versionmanagebucketversioning
replicateconfigureserversidebucketreplication
adminmanageMinIOservers
updateupdatemctolatestrelease

1)mc Shell 自动补全

如果您使用的是 bash、zsh 或 fish。Shell 补全默认嵌入在 mc,安装自动补全使用mc --autocompletion。重新启动 shell,mc 将自动完成命令,如下所示。

#安装
mc--autocompletion
#重启shell,即退出shell,重新连接即可
26adc018-26d9-11ed-ba43-dac502259ad0.png

2)查看 mc 版本

mc--version
26c002dc-26d9-11ed-ba43-dac502259ad0.png

3)列出来自https://play.min.io的所有存储桶

mclsplay
#json格式
mc--jsonlsplay
26cd0fa4-26d9-11ed-ba43-dac502259ad0.png

4)创建桶

mb命令在对象存储上创建一个新存储桶。在文件系统上,它的行为类似于 mkdir -p 命令。Bucket 相当于文件系统中的驱动器或挂载点,不应被视为文件夹。MinIO 对每个用户创建的存储桶数量没有任何限制。

#添加MinIO存储服务
cd/opt/bigdata/minio
./mcconfighostaddminiohttp://local-168-182-110:19000adminadmin123456

#在自己部署的minio创建新存储桶
mcmbminio/mybucket
#查看所有桶
mclsminio

26e048a8-26d9-11ed-ba43-dac502259ad0.png
web 访问:http://local-168-182-110:19001
26ec1b24-26d9-11ed-ba43-dac502259ad0.png

5)复制文件到 MinIO

cp命令将数据从一个或多个源复制到目标。

mccpwget-logminio/mybucket
#查看
mclswget-logminio/mybucket
270967ce-26d9-11ed-ba43-dac502259ad0.png

6)日常使用

您可以添加 shell 别名来覆盖您常用的 Unix 工具。

aliasls='mcls'
aliascp='mccp'
aliascat='mccat'
aliasmkdir='mcmb'
aliaspipe='mcpipe'
aliasfind='mcfind'
aliastree='mctree'

7)MinIO 管理员操作

MinIO Client (mc) 提供 admin 子命令来对 MinIO 部署执行管理任务。

servicerestartandstopallMinIOservers
updateupdateallMinIOservers
infodisplayMinIOserverinformation
usermanageusers
groupmanagegroups
policymanagepoliciesdefinedintheMinIOserver
replicatemanageMinIOsitereplication
configmanageMinIOserverconfiguration
decommission,decommanageMinIOserverpooldecommissioning
healhealdisks,bucketsandobjectsonMinIOserver
prometheusmanagesprometheusconfig
kmsperformKMSmanagementoperations
bucketmanagebucketsdefinedintheMinIOserver
tiermanageremotetiertargetsforILMtransition
topprovidetoplikestatisticsforMinIO
traceshowhttptraceforMinIOserver
consoleshowconsolelogsforMinIOserver

1)查看集群信息

mcadmininfominio
#为了方便使用,可以设置别名
aliasminfo='mcadmininfo'
minfominio

271909a4-26d9-11ed-ba43-dac502259ad0.png
27291eca-26d9-11ed-ba43-dac502259ad0.png

2)全局选项

1、选项 [--debug]

【示例】显示 info 命令的详细调试输出

mcadmininfo--debugminio
273adb92-26d9-11ed-ba43-dac502259ad0.png

2、选项 [--json]

JSON 选项启用 JSON 行格式的可解析输出。
【示例】MinIO 服务器信息

mcadmin--jsoninfominio
27603ea0-26d9-11ed-ba43-dac502259ad0.png

3)命令 service- 重启和停止所有 MinIO 服务器

service 命令提供了一种重新启动和停止所有 MinIO 服务器的方法。
【示例】

mcadminservicerestartminio

4)命令 policy- 管理预设策略

policy 添加、删除、列出策略、获取策略信息以及为 MinIO 服务器上的用户设置策略的命令。

NAME:
mcadminpolicy-managepolicies

FLAGS:
--help,-hshowhelp

COMMANDS:
addaddnewpolicy
removeremovepolicy
listlistallpolicies
infoshowinfoonapolicy
setsetIAMpolicyonauserorgroup

1、【示例】列出 MinIO 上的所有预设策略

mcadminpolicylistminio
2775a5a6-26d9-11ed-ba43-dac502259ad0.png

2、【示例】在 MinIO 上添加新策略“listbucketsonly”

策略来自 /tmp/listbucketsonly.json。当此策略应用于用户时,该用户只能列出顶层存储桶,但不能列出其他任何内容,没有前缀,没有对象。

首先使用以下信息创建 json 文件 /tmp/listbucketsonly.json。

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:ListAllMyBuckets"
],
"Resource":[
"arns3:::*"
]
}
]
}

将策略作为“listbucketsonly”添加到策略数据库

mcadminpolicyaddminiolistbucketsonly/tmp/listbucketsonly.json

#删除MinIO上的策略“listbucketsonly”
mcadminpolicyremoveminiolistbucketsonly

3、【示例】在用户或组上设置标准策略。'writeonly'

#添加一个新用户“newuser”,密码"newuser123"
mcadminuseraddminionewusernewuser123
#给用户添加策略
mcadminpolicysetminiowriteonlyuser=newuser
#添加组“somegroup”,把用户“newuser”添加到组
mcadmingroupaddminiosomegroupnewuser
#给组添加策略
mcadminpolicysetminiowriteonlygroup=somegroup

5)命令 user- 管理用户

1、【示例】在 MinIO 上添加一个新用户“newuser”

#添加一个新用户“newuser”,密码"newuser123"
mcadminuseraddminionewusernewuser123

2、【示例】在 MinIO 上禁用用户“newuser”

mcadminuserdisableminionewuser

3、【示例】在 MinIO 上启用用户“newuser”

mcadminuserenableminionewuser

4、【示例】在 MinIO 上删除用户“newuser”

mcadminuserremoveminionewuser

5、【示例】列出 MinIO 上的所有用户

mcadminuserlist--jsonminio

6、【示例】显示用户信息

mcadminuserinfominionewuser

6)命令 group- 管理组

group 在 MinIO 服务器上添加、删除、信息、列出、启用、禁用组的命令。

1、【示例】将用户添加到 MinIO 上的组“somegroup”

#如果组不存在,则创建组。
mcadmingroupaddminiosomegroupnewuser

2、【示例】从 MinIO 上的组“somegroup”中删除用户

mcadmingroupremoveminiosomegroupnewuser

3、【示例】在 MinIO 上删除一个组“somegroup”

仅在给定组为空时有效,非空组无法删除

mcadmingroupremoveminiosomegroup
279c69ac-26d9-11ed-ba43-dac502259ad0.png

4、【示例】在 MinIO 上获取组“somegroup”的信息

#添加组
mcadmingroupaddminiosomegroupnewuser
#删除
mcadmingroupinfominiosomegroup

5、【示例】列出 MinIO 上的所有组

mcadmingrouplistminio

6、【示例】在 MinIO 上启用组“somegroup”

mcadmingroupenableminiosomegroup

7、【示例】在 MinIO 上禁用组“somegroup”

mcadmingroupdisableminiosomegroup

7)命令 config- 管理服务器配置

config命令来管理 MinIO 服务器配置。

1、【示例】获取“etcd”子系统配置

#通过引入第三方组件etcd,在不动原有集群的基础上实现动态扩展方案
mcadminconfiggetminioetcd

2、【示例】在“etcd”子系统上设置特定设置

mcadminconfigsetminioetcdendpoints=http://[hostname|ip]:2379

3、【示例】获取 MinIO 服务器/集群的整个服务器配置

mcadminconfigexportminio>/tmp/my-serverconfig

4、【示例】设置 MinIO 服务器/集群的整个服务器配置

mcadminconfigimportminio< /tmp/my-serverconfig

这里列出了常用的命令,想了解更多,可以查看官方文档:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client(mc)操作还是非常简单的,但是更多的使用还是通过程序去调用 api 接口的,后续会讲解~

三、MinIO 分布式集群扩容

参考:https://docs.min.io/docs/distributed-minio-quickstart-guide.html
27af3500-26d9-11ed-ba43-dac502259ad0.png

MinIO 集群扩容方法:

常见的集群扩容方法可分为两类:水平扩容垂直扩容

水平扩容,一般指通过增加节点数扩展系统性能;

垂直扩容则指提升各节点自身的性能,例如增加节点的磁盘存储空间。直接采用垂直扩容方式扩容 MinIO 集群的节点磁盘空间,会为集群运行带来若干问题,官方也并推荐。因此本文主要介绍 MinIO 的两种水平扩容方式:对等扩容联邦扩容

1)对等扩容

首先,MinIO 的极简设计理念使得 MinIO 分布式集群并不支持向集群中添加单个节点并进行自动调节的扩容方式,这是因为加入单个节点后所引发的数据均衡以及纠删组划分等问题会为整个集群带来复杂的调度和处理过程,并不利于维护。因此,MinIO 提供了一种对等扩容的方式,即要求增加的节点数和磁盘数均需与原集群保持对等。

例如原集群包含2 个节点 2 块磁盘,则在扩容时必须同样增加 2 个节点 2 块磁盘(或为其倍数),以便系统维持相同的数据冗余 SLA,从而极大地降低扩容的复杂性;

如上例,在扩容后,MinIO 集群并不会对全部的 4 个节点进行完全的数据均衡,而是将原本的2 个节点视作一个区域新加入的 2 节点视作另一区域

当有新对象上传时,集群将依据各区域的可用空间比例确定存放区域,在各区域内仍旧通过哈希算法确定对应的纠删组进行最终的存放。此外,集群进行一次对等扩容后,还可依据扩容规则继续进行对等扩容,但出于安全性考虑,集群的最大节点数一般不得超过 32 个

对等扩容的优点在于配置操作简单易行

通过一条命令即可完成扩容(注意:推荐使用连续的节点 IP,并参照 MinIO 官网在扩容命令中使用{})。而对等扩容的局限性在于:

扩容需重启;

扩容存在限制,集群节点数一般不超过 32 个,这是由于 MinIO 集群通过分布式锁保证强一致性,若集群节点数过大,维护强一致性将带来性能问题。

【温馨提示】这里不沿用之前的集群进行扩容,这里重新部署 2 个节点的集群。具体部署,可以参考我之前的文章:高性能分布式对象存储——MinIO(环境部署)

1、环境准备

主机名 IP data 备注
local-168-182-110 192.168.182.110 /opt/bigdata/minio/data/export{1,2} 原始节点
local-168-182-111 192.168.182.111 /opt/bigdata/minio/data/export{1,2} 原始节点
local-168-182-112 192.168.182.112 /opt/bigdata/minio/data/export{1,2} 扩容节点
local-168-182-113 192.168.182.113 /opt/bigdata/minio/data/export{1,2} 扩容节点

启动脚本

#!/bin/bash
#创建日志存储目录
mkdir-p/opt/bigdata/minio/logs
#分别在三个节点上创建存储目录
mkdir-p/opt/bigdata/minio/data/export{1,2,3,4}
#创建配置目录
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456

#所有节点都得修改重启服务
#--address"0.0.0.0:9000"挂载9001端口为api端口(如Java客户端)访问的端口
#--console-address ":9000"挂载9000端口为web端口;
/opt/bigdata/minio/minioserver--address0.0.0.0:9000--console-address0.0.0.0:9001--config-dir/etc/minio
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2}>/opt/bigdata/minio/logs/minio_server.log

minio 初始集群信息
web 访问:http://local-168-182-110:19001

27c01bb8-26d9-11ed-ba43-dac502259ad0.png

27d65bb2-26d9-11ed-ba43-dac502259ad0.png
27e8e5c0-26d9-11ed-ba43-dac502259ad0.png

1、将配置 copy 一份到要扩容的节点

#在local-168-182-110执行
cd/opt/bigdata/minio
scp-r/opt/bigdata/miniolocal-168-182-113:/opt/bigdata/
scp-r/usr/lib/systemd/system/minio.servicelocal-168-182-113:/usr/lib/systemd/system/minio.service

2、添加磁盘

这里也添加 2 块 2G 的磁盘

#不重启,直接刷新磁盘数据总线,获取新加的磁盘
forhostin$(ls/sys/class/scsi_host);doecho"---">/sys/class/scsi_host/$host/scan;done

lsblk

#格式化
mkfs.ext4/dev/sdb
mkfs.ext4/dev/sdc
mkfs.ext4/dev/sdd
mkfs.ext4/dev/sde

#先删再创建挂载目录,因为这里面有其它节点的数据
rm-fr/opt/bigdata/minio/data/export{1..4}
mkdir-p/opt/bigdata/minio/data/export{1..4}

#挂载
mount/dev/sdb/opt/bigdata/minio/data/export1
mount/dev/sdc/opt/bigdata/minio/data/export2
mount/dev/sdd/opt/bigdata/minio/data/export3
mount/dev/sde/opt/bigdata/minio/data/export4

3、修改启动脚本(run.sh)

#!/bin/bash
#创建日志存储目录
mkdir-p/opt/bigdata/minio/logs
#分别在三个节点上创建存储目录
mkdir-p/opt/bigdata/minio/data/export{1,2}
#创建配置目录
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456

#所有节点都得修改重启服务
#--address"0.0.0.0:9000"挂载9001端口为api端口(如Java客户端)访问的端口
#--console-address ":9000"挂载9000端口为web端口;
#扩容地址:http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2}
/opt/bigdata/minio/minioserver--address0.0.0.0:9000--console-address0.0.0.0:9001--config-dir/etc/minio
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2}
http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2}>/opt/bigdata/minio/logs/minio_server.log

可扩容的方式,使用 MINIO 纠删码,如果想要扩容,必须使用这种方式。注意上面是三个点

下面的写法多硬盘多节点部署是不可扩容的方式,下面是官方示例:

exportMINIO_ACCESS_KEY=
exportMINIO_SECRET_KEY=
minioserverhttp://192.168.1.11/export1http://192.168.1.11/export2
http://192.168.1.11/export3http://192.168.1.11/export4
http://192.168.1.12/export1http://192.168.1.12/export2
http://192.168.1.12/export3http://192.168.1.12/export4
http://192.168.1.13/export1http://192.168.1.13/export2
http://192.168.1.13/export3http://192.168.1.13/export4
http://192.168.1.14/export1http://192.168.1.14/export2
http://192.168.1.14/export3http://192.168.1.14/export4

4、重启服务

systemctlrestartminio

web 访问:http://local-168-182-110:19001
27f5a3c8-26d9-11ed-ba43-dac502259ad0.png
到这里就完成了对等扩容了。

2)联邦扩容

MinIO 官方提供了另一种扩容机制——联邦扩容,即通过引入 etcd,将多个 MinIO 分布式集群在逻辑上组成一个联邦,对外以一个整体提供服务,并提供统一的命名空间。MinIO 联邦集群的架构如下图所示:

2807e8bc-26d9-11ed-ba43-dac502259ad0.png

其中,etcd是一个开源的分布式键值存储数据库,在联邦中用于记录存储桶 IP 地址

联邦内的各个集群其数据存储以及一致性维护仍由各集群自行管理,联邦只是对外提供一个整体逻辑视图。

通过连接到联邦中任一集群的任一节点,可以查询并访问联邦内所有集群的全部数据,由此获得了逻辑上的空间扩大感。

但实际上,对于一个外部应用访问,联邦需依赖 etcd 定位到存储桶的实际存储节点,再进行数据访问,联邦则对外屏蔽了桶 IP 查找和定位过程,从而在逻辑上对外形成了一个统一整体。因此,etcd 实际上起到了类似路由寻址的效果

MinIO 联邦集群的数据访问机制具体如下:

客户端应用向联邦集群发送创建存储桶请求,桶名为 bucket1;

联邦会将 bucket1 实际所在的集群节点 IP 地址写入 etcd 中,例如 bucket1 实际将存储于联邦中的集群 1 上,而集群 1 包含 2 个节点,其节点 IP 地址分别为 192.168.182.112 和 192.168.182.113,则 etcd 中将写入如下两条记录:

1、部署 etcd

下载地址:https://github.com/etcd-io/etcd/releases

mkdir-p/opt/bigdata/etcd;cd/opt/bigdata/etcd
wgethttps://github.com/etcd-io/etcd/releases/download/v3.4.20/etcd-v3.4.20-linux-amd64.tar.gz
tar-xfetcd-v3.4.20-linux-amd64.tar.gz
#创建存储目录
mkdir/opt/bigdata/etcd/data

创建配置文件 /usr/local/etcd/conf.yml,三个节点配置文件内容分别如下:
etcd01:local-168-182-110

name:etcd01
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.110:2380
listen-peer-urls:http://192.168.182.110:2380
listen-client-urls:http://192.168.182.110:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.110:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

etcd02:local-168-182-111

name:etcd02
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.111:2380
listen-peer-urls:http://192.168.182.111:2380
listen-client-urls:http://192.168.182.111:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.111:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

etcd03:local-168-182-112

name:etcd03
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.112:2380
listen-peer-urls:http://192.168.182.112:2380
listen-client-urls:http://192.168.182.112:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.112:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

【温馨提示】只能写 IP,写主机名会启动失败

配置参数解析:

name:当前 etcd 节点名称。

data-dir:数据存储目录。

initial-advertise-peer-urls:集群的其他节点通过该地址与当前节点通信

listen-peer-urls:当前节点通过该地址监听集群其他节点发送的信息。

listen-client-urls:当前节点通过该地址监听客户端发送的信息。

advertise-client-urls:客户端通过该地址与当前节点通信

initial-cluster-token:用于区分不同的集群,同一集群的所有节点配置相同的值。

initial-cluster:当前集群的所有节点信息,当前节点根据此信息与其他节点取得联系。

initial-cluster-state:本次是否为新建集群,有两个取值:new 和 existing。

配置服务

cat>/usr/lib/systemd/system/etcd.service<

启动服务

systemctldaemon-reload
systemctlstartetcd.service

验证

#加软连接
ln-s/opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcdctl/usr/local/bin/etcdctl
#查看集群成员列表
etcdctlmemberlist
#查看集群成员健康情况
etcdctlendpointhealth--endpoints=http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380
281465e2-26d9-11ed-ba43-dac502259ad0.png

查看 etcd 版本

ln-s/opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcd/usr/local/bin/etcd
etcd--version
2824ba82-26d9-11ed-ba43-dac502259ad0.png

2、运行多个 MinIO 集群

集群 1

cd/opt/bigdata/minio
exportMINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456
exportMINIO_PUBLIC_IPS=192.168.182.110,192.168.182.111
./minioserver--address0.0.0.0:8000--console-address0.0.0.0:8001--config-dir/etc/miniohttp://192.168.182.11{0...1}/opt/bigdata/minio/data/export{3...4}

web 访问:http://local-168-182-110:8001/
283b02b0-26d9-11ed-ba43-dac502259ad0.png

集群 2

cd/opt/bigdata/minio
exportMINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456
exportMINIO_PUBLIC_IPS=192.168.182.112,192.168.182.113
./minioserver--address0.0.0.0:8000--console-address0.0.0.0:8001--config-dir/etc/miniohttp://192.168.182.11{2...3}/opt/bigdata/minio/data/export{3...4}

web 访问:http://local-168-182-112:8001/
285ddd6c-26d9-11ed-ba43-dac502259ad0.png
配置 nginx

#/etc/nginx/conf.d/minio2.conf
upstreamminio_api2{
ip_hash;
server192.168.182.110:8000;
server192.168.182.111:8000;
server192.168.182.112:8000;
server192.168.182.113:8000;
}

upstreamminio_console2{
ip_hash;
server192.168.182.110:8001;
server192.168.182.111:8001;
server192.168.182.112:8001;
server192.168.182.113:8001;
}

server{
listen18000;
server_name192.168.182.110;

ignore_invalid_headersoff;
client_max_body_size0;
proxy_bufferingoff;

location/{
proxy_set_headerX-Forwarded-Proto$scheme;
proxy_set_headerHost$http_host;
proxy_set_headerX-Real-IP$remote_addr;

proxy_connect_timeout300;
proxy_http_version1.1;
chunked_transfer_encodingoff;
proxy_ignore_client_aborton;

proxy_passhttp://minio_api2;
}
}

server{
listen18001;
server_name192.168.182.110;

ignore_invalid_headersoff;
client_max_body_size0;
proxy_bufferingoff;

location/{
proxy_set_headerX-Forwarded-Proto$scheme;
proxy_set_headerHost$http_host;
proxy_set_headerX-Real-IP$remote_addr;

proxy_connect_timeout300;
proxy_http_version1.1;
chunked_transfer_encodingoff;
proxy_ignore_client_aborton;

proxy_passhttp://minio_console2;
}
}

重新加载 nginx 生效

systemctlreloadnginx

web 访问:local-168-182-110:18001/

287747ac-26d9-11ed-ba43-dac502259ad0.png
不同的客户端访问会显示不同的节点信息

MinIO 的基本操作和 MinIO 扩容实战就到这里了,有疑问的小伙伴欢迎给我留言哦,后续会持续分享更多关于大数据的教程,请小伙伴耐心等待哦~

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    52

    文章

    8071

    浏览量

    145714
  • 云存储
    +关注

    关注

    7

    文章

    728

    浏览量

    45953
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19866

原文标题:超详细分布式对象存储 MinIO 实战教程

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【NanoPi NEO试用体验】开发环境部署

    开发环境部署这一开发板支持两种开发环境,包括u-boot,UbuntuCore,这里建议大家跑UbuntuCore,跑u-boot的话感觉有点大材小用了首先要准备一张SD卡,官方建议用Class10
    发表于 10-29 11:51

    Hadoop的集群环境部署说明

    或者是相同,指令多、步骤繁琐。有的时候觉得不免觉得很奇怪,这些发行商为什么不对hadoop的集群环境部署做一下优化呢?幸运的是总算是让我找到了一个hadoop发行版集群环境搭建简单易用。这里使用的是一款
    发表于 10-12 15:51

    docker中java环境部署

    docker 部署java环境以及常用应用(持续更新)
    发表于 05-24 15:44

    如何搭建DotNet Core 21自动化构建和部署环境

    边缘化搭建DotNet Core 21 自动化构建和部署环境(上)
    发表于 04-23 14:53

    VSCode环境部署

    、VSCode环境部署四、工程编译五、编译清除一、程序安装1、VSCode:好用到爆的文本编辑器,配合强大的插件,使你的开发效率大大提高。2、Java:
    发表于 08-24 07:58

    在嵌入式环境部署环境的相关资料分享

    在嵌入式环境部署环境:1.1 在linux中,当文件系统初始化后,在vi/etc/profile中可以输入一个命令,来配置系统的ip地址: ifconfig eth0 192.168.1.10这样就能实现,系统上电后的配置。.
    发表于 10-27 07:02

    Arduino环境下ESP32如何部署

    (包教必会)Arduino环境下ESP32部署指南Arduino IDE下载安装Arduino IDE点击此处访问arduino官网,选择适合你电脑系统的版本进行下载安装ESP32的板管理打开
    发表于 12-03 06:02

    如何部署RK3399开发板的环境

    如何部署RK3399开发板的环境
    发表于 03-07 07:30

    Python在web应用实现部署的协议与实现协议的工具解析

    php的正式环境部署非常简单,改几个文件就OK,用FastCgi方式也是分分钟的事情。相比起来,Python在web应用上的部署就繁杂的多,主要是工具繁多,主流服务器支持不足,在了解Python的生产
    的头像 发表于 02-09 09:26 5019次阅读

    干货:Centos 6.5部署nginx和php环境部署

    干货:Centos 6.5部署nginx和php环境部署
    的头像 发表于 06-28 10:00 2262次阅读

    嵌入式环境部署

    在嵌入式环境部署环境:1.1 在linux中,当文件系统初始化后,在vi /etc/profile中可以输入一个命令,来配置系统的ip地址: ifconfig eth0 192.168.1.10这样就能实现,系统上电后的配置
    发表于 10-19 18:33 2次下载
    嵌入式<b class='flag-5'>环境</b><b class='flag-5'>部署</b>

    高性能对象存储MinIO的基本概念环境部署

    MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。
    发表于 08-29 10:54 3146次阅读

    在手机端部署Autojs的开发环境

    我记得之前发布过一篇关于在Termux中部署code-server的文章, 不过是用proot安装一个小型的linux系统来部署的, 之前的方式非常占用内存和存储空间,不太好用. 但是在termux
    的头像 发表于 03-03 10:23 1716次阅读
    在手机端<b class='flag-5'>部署</b>Autojs的开发<b class='flag-5'>环境</b>

    Minio为啥受欢迎呢?Minio有哪些优势?

    第一次接触Minio,是我从上家公司新来的一位架构师那听来的,当时简单地了解了下它是否适合我们的应用场景,并没有过多深入研究。
    的头像 发表于 08-02 14:14 5104次阅读
    <b class='flag-5'>Minio</b>为啥受欢迎呢?<b class='flag-5'>Minio</b>有哪些优势?

    Helm部署MinIO集群

    Helm部署MinIO集群
    的头像 发表于 12-03 09:44 760次阅读
    Helm<b class='flag-5'>部署</b><b class='flag-5'>MinIO</b>集群