对象存储——Minio初探

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 本篇简要介绍了MinIO的一些基础知识和操作,以及安装和使用过程中遇到的一些坑。下篇开始将深入探讨MinIO的原理和使用场景等。

一 MinIO简介

答:minio是混合云和多云对象存储。根据官网上的描述,MinIO 提供高性能、与S3 兼容的对象存储系统,让你自己能够构建自己的云储存服务。MinIO原生支持 Kubernetes,它可用于每个独立的公共云、每个 Kubernetes 发行版、私有云和边缘的对象存储套件。MinIO是软件定义的,不需要购买其他任何硬件,在 GNU AGPL v3 下是 100% 开源的。

没错,上面的描述感觉很生硬,但这确实是官网上的原文。

二 相关资料地址

三 安装使用(mac环境)

3.1 参考文档

   其他操作系统,可以参考官方技术文档,上面按照K8s,Docker,Linux,MacOS,Windows不同系统&环境提供了安装方案。根据需要参照操作即可。(吐个槽,写着是中文文档,实际上都是英文的,官网也骗人。)

3.2 mac下安装实践

3.2.1 server安装

先安装brew,之后通过brew安装:

brew install minio/stable/minio

安装日志如下:

Running `brew update --auto-update`...
==> Fetching minio
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles//minio-20230504214430.arm64_big_sur.bottle.tar.gz
######################################################################################################################## 100.0%
==> Pouring minio-20230504214430.arm64_big_sur.bottle.tar.gz
==> Caveats
To restart minio after an upgrade:
  brew services restart minio
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/minio/bin/minio server --config-dir=/opt/homebrew/etc/minio --address=:9000 /opt/homebrew/var/minio

3.2.2 启动命令

从日志中可以看出已经给出了重启和启动命令。后台启动:brew services restart minio

非brew方式,直接启动:/opt/homebrew/opt/minio/bin/minio server --config-dir=/opt/homebrew/etc/minio --address=:9000 /opt/homebrew/var/minio

这里我们使用方式(2)启动,日志如下:

WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
MinIO Object Storage Server
Copyright: 2015-0000 MinIO, Inc.
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Version: RELEASE.2023-05-04T21-44-30Z (go1.20.4 darwin/arm64)
Status:         1 Online, 0 Offline. 
S3-API: http://172.25.102.28:9000  http://127.0.0.1:9000                       
RootUser: minioadmin 
RootPass: minioadmin 
Console: http://172.25.102.28:53412 http://127.0.0.1:53412            
RootUser: minioadmin 
RootPass: minioadmin 
Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set myminio http://172.25.102.28:9000 minioadmin minioadmin
Documentation: https://min.io/docs/minio/linux/index.html
Warning: The standard parity is set to 0. This can lead to data loss.

3.2.3 用户名密码修改

根据上述日志中的说明,minio的默认用户名和密码都是minioadmin,如果需要修改的话,是通过环境变量设置'MINIO_ROOT_USER' 和 'MINIO_ROOT_PASSWORD'这两个环境变量。例如,我们修改用户名和密码为:admin 和 admin,那么应该只需要在~/.bashrc中加入这两个变量配置,然后source ~/.bashrc就可以。

但通过实际验证,在mac下我们修改了 ~/.bashrc,但重新启动minio后发现并没有生效。

这就奇怪了。我们回顾一下环境变量的文件和优先级:

Mac 系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

其中/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量*

后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件

~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

所以难道是环境变量文件的选择问题? 经过尝试,修改了/etc/profile,果然,这次可以了。

虽然还是报了错误,但已经说明是密码的规则要求,长度不能小于8;那我们按照要求修改就可以了。再次启动,提示启动成功,密码也完成修改:

通过http://127.0.0.1:9000 访问,页面如下:

点击查看Buckets时,发现Create Bucket是灰色,无法操作。并且在下方提示是权限问题。这里又 比较奇怪,刚刚我们设置的应该就是管理员的账号和密码,这里不应该出现。 在退出登录再重新登录后,也刷新了一次页面,展示正常。看来是浏览器/页面服务的缓存问题,不知道算不算是一个bug。

四 页面操作

4.1 Bucket创建

   接下来就是熟悉的对象存储通用操作,创建bucket和上传文件了。 Minio对bucket的命名有如下图中的要求。这里主要提两点,(1)长度最小3最大63;(2)只能使用小写字母、数字。虽然写着可以用. 和 -,但实际使用时发现会报错,直接复制也不行。

4.2 上传图片

Rewind,倒回。有点“回滚”的意思。 这里是在上一部创建bucket时,选择了打开Versioning(版本管理)带来的功能。如下所示,可以回到指定时间点的数据。

五 小结

   本篇简要介绍了MinIO的一些基础知识和操作,以及安装和使用过程中遇到的一些坑。下篇开始将深入探讨MinIO的原理和使用场景等。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
存储 Java 应用服务中间件
MinIO对象存储详细安装教程
MinIO对象存储详细安装教程
1510 2
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
774 1
|
NoSQL 安全 Linux
Linux|minio对象存储服务的部署和初步使用总结
Linux|minio对象存储服务的部署和初步使用总结
768 0
|
存储 安全 算法
对象存储服务-Minio
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
1233 1
|
存储 Kubernetes 算法
开源免费的对象存储Minio
Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。
1988 0
|
4月前
|
存储 Java Linux
SpringBoot × MinIO 极速开发指南:对象存储服务高可用实战
生成临时访问URL接口和文件预览其实是同一个方法,只是文件预览内定了七天访问,而这个方法可以自行制定,单位是秒。方法,所以返回的是地址信息,但是可以通过dubug看到Bucket中的属性,确实是当前所有桶信息。配置类中奖MinIOClient客户端注入到Springboot中。MinIO集群的在Linux上的部署可以参考:​​​​​​​。Nginx代理MinIO集群可以参考:​​​​​​​。从Bucket源码可以看出,并没有实现。
406 0
|
10月前
|
存储 Java API
开源对象存储服务(MinIO),正在备受欢迎!
本文介绍了MinIO,一个高性能、开源的对象存储服务器,兼容Amazon S3 API,适合存储大量非结构化数据。文章详细讲解了MinIO在Java中的使用方法,包括添加依赖、初始化客户端、基本操作(创建桶、上传/下载/删除对象)和高级功能(设置桶策略、使用预签名URL),并提供了Spring Boot集成MinIO的示例。
904 4
|
存储 Java 开发工具
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
1115 0
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
|
存储 负载均衡 Cloud Native
【专栏】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称
【4月更文挑战第28天】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称,适用于存储多媒体内容。通过组建Minio集群,可实现高可用性、高性能、可扩展性和数据保护。搭建集群包括安装Minio、配置集群参数、启动节点、验证集群状态、设置访问权限及可选的数据迁移步骤。Minio集群是实现可靠且高性能存储解决方案的理想选择,适合各种应用场景。
727 0

热门文章

最新文章