欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

minio分布式存储系列(一)__介绍及开箱使用

程序员文章站 2024-03-17 20:03:58
...

minio分布式存储系列(一)__介绍及开箱使用

  • 简介:

Minio 是一个基于Go语言编写的对象存储服务。它兼容亚马逊S3云存储服务接口,可以理解为是S3的开源版本(亚马逊S3:专为从任意位置存储和检索任意数量的数据而构建的对象存储,官网地址:Amazon S3),非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,文件大小从几kb到最大5T之间。

MinIO 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。
MinIO与传统的存储和其他的对象存储不同的是:它一开始就针对性能要求更高的私有云标准进行软件架构设计。因为MinIO一开始就只为对象存储而设计。所以他采用了更易用的方式进行设计,它能实现对象存储所需要的全部功能,在性能上也更加强劲,它不会为了更多的业务功能而妥协,失去MinIO的易用性、高效性。 这样的结果所带来的好处是:它能够更简单的实现局有弹性伸缩能力的原生对象存储服务。
MinIO在传统对象存储用例(例如辅助存储,灾难恢复和归档)方面表现出色。同时,它在机器学习、大数据、私有云、混合云等方面的存储技术上也独树一帜。当然,也不排除数据分析、高性能应用负载、原生云的支持。

  • 特点:

minio的特点在于简单、轻量级、对开发者友好、AIP易于上手、易维护。

  • 框架设计:

MinIO设计为云原生,可以作为轻量级容器运行,由外部编排服务(如Kubernetes)管理。整个服务器约为40MB静态二进制文件,即使在高负载下也可以高效利用CPU和内存资源。结果是可以在共享硬件上共同托管大量租户。
minio分布式存储系列(一)__介绍及开箱使用
MinIO在带有本地驱动器(JBOD / JBOF)的商品服务器上运行。集群中的所有服务器的功能均相同(完全对称的体系结构)。没有名称节点或元数据服务器。
MinIO将数据和元数据作为对象一起写入,从而无需使用元数据数据库。此外,MinIO以内联,严格一致的操作执行所有功能(擦除代码,位rotrot检查,加密)。结果是MinIO异常灵活。
每个MinIO群集都是分布式MinIO服务器的集合,每个节点一个进程。 MinIO作为单个进程在用户空间中运行,并使用轻量级的协同例程来实现高并发性。将驱动器分组到擦除集(默认情况下,每组16个驱动器),然后使用确定性哈希算法将对象放置在这些擦除集上。
MinIO专为大规模,多数据中心云存储服务而设计。每个租户都运行自己的MinIO群集,该群集与其他租户完全隔离,从而使他们能够保护他们免受升级,更新和安全事件的任何干扰。每个租户通过联合跨地理区域的集群来独立扩展。

  • 安装(Linux服务器单节点环境):

在Docker(都知道docker吧?不了解docker的在下方评论)中安装MinIO服务端单节点,需要创建Access和Secret(理解为用户名和密码), MinIO允许常规字符串作为Access和Secret。

1、 在docker中搜索minio服务端版本

docker search minio   #如图所示,搜索到最新版本的minio服务端版本

minio分布式存储系列(一)__介绍及开箱使用
2、在docker中拉取最新版minio服务短版本镜像

docker push minio/minio

拉取是否成功可以通过docker images minio/minio 进行查看,如图所示,已经获取到minio服务端版本镜像。
minio分布式存储系列(一)__介绍及开箱使用
3、在docker中运行minio,并这是Access和Secret和磁盘映射

docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" -e "MINIO_SECRET_KEY=wJalrXUtnFEMI K7MDENG" -v /mnt/data:/data  -v /mnt/config:/root/.minio minio/minio server /data

终端输出如图所示的,即表示docker安装minio成功。
minio分布式存储系列(一)__介绍及开箱使用
但是你返回的时候,发现minio无法后台运行,这时候如何操作呢?
这是,需要使用的命令有:

docker ps -a #查看当前所有容器,如下图所示

minio分布式存储系列(一)__介绍及开箱使用

docker start minio1  #运行刚创建好的容器,如下图所示

minio分布式存储系列(一)__介绍及开箱使用
到这里,minio就算安装完成了,接下来就是如何访问和使用了。

浏览器端访问及如何使用:

1、根据刚才docker端口的映射是9000,在浏览器端地址栏输入:http://127.0.0.1:9000,期待已久的页面终于出现。
minio分布式存储系列(一)__介绍及开箱使用
Access Key和Secret key输入的是刚才在docker中设置字符串,如何进入文件上传页面。
minio分布式存储系列(一)__介绍及开箱使用
2、创建桶,上文件对象
界面的左侧是存放创建好的桶,右侧存放的是桶对应的对象文件。
什么是桶:
通俗理解为:类似于计算机里面的文件夹,但是又区分与文件夹的概念,因为文件夹里面可以创建文件夹,但是minio的概念里,创建的桶是唯一的,不允许在桶里面在创建新桶。
什么是文件对象:
通俗理解为:类似于计算机里面的文件,但是在minio的概念里,所有的文件都统称为对象,所以后续的AIP操作都是针对文件对象进行操作。

如何创建桶:
点击右下角的“+”号,选择“create bucket” 输入桶名称,即可在minio中创建好一个桶。
minio分布式存储系列(一)__介绍及开箱使用
如何上传文件对象:
在刚才创建好的桶“mybucker”中点击右下角“+”号,选择“upload file”选择要上传的文件,即可将文件上传到minio中。
minio分布式存储系列(一)__介绍及开箱使用

到此,docker如何创建minio,及浏览器端如何使用minio,创建桶,上传文件对象,到这里就介绍结束了,我们下期将介绍minio sdk的使用,主要是针对Java minio API的介绍和使用。

如果你对我感兴趣,欢迎随时关注我,点赞,赠人玫瑰,手有余香,如果你还有任何疑问或者不理解的地方,或者有更好的建议,或大家想了解某方面的知识点,欢迎大家在下方留言,我会第一时间回复大家!