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

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的介绍和使用。

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

上一篇:minio update meta info 更新minio S3对象存储meta的实现方法


下一篇:Docker部署MinIO对象存储服务