对象存储——Minio初探

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 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的原理和使用场景等。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
3月前
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
210 1
|
4月前
|
存储 Ubuntu 安全
如何在 Ubuntu 18.04 上使用 Minio 设置对象存储服务器
在教程主要说明: - 在 Ubuntu 18.04 服务器上安装 Minio 服务器并将其配置为systemd服务。 - 使用Let's Encrypt设置 SSL/TLS 证书以保护服务器和客户端之间的通信。 - 通过HTTPS访问Minio的浏览器界面来使用和管理服务器。
298 1
|
5月前
|
存储 Java 应用服务中间件
MinIO对象存储详细安装教程
MinIO对象存储详细安装教程
378 2
|
5月前
|
NoSQL 安全 Linux
Linux|minio对象存储服务的部署和初步使用总结
Linux|minio对象存储服务的部署和初步使用总结
175 0
|
8月前
|
存储 安全 算法
对象存储服务-Minio
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
607 1
|
10月前
|
存储 Kubernetes 算法
开源免费的对象存储Minio
Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。
1005 0
|
存储 Java 中间件
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
767 1
【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南
|
12天前
|
存储 负载均衡 Cloud Native
【专栏】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称
【4月更文挑战第28天】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称,适用于存储多媒体内容。通过组建Minio集群,可实现高可用性、高性能、可扩展性和数据保护。搭建集群包括安装Minio、配置集群参数、启动节点、验证集群状态、设置访问权限及可选的数据迁移步骤。Minio集群是实现可靠且高性能存储解决方案的理想选择,适合各种应用场景。
|
25天前
|
存储 对象存储 数据安全/隐私保护
Docker部署MinIO对象存储服务
Docker部署MinIO对象存储服务
56 0
|
4月前
|
存储 Cloud Native 数据挖掘
MinIO作为一种开源的对象存储系统,具有以下核心特点
MinIO作为一种开源的对象存储系统,具有以下核心特点
53 0