minio是什么
- MinIO是对象存储服务。它基于Apache License 开源协议,兼容Amazon S3云存储接口。适合存储非结构化数据,如图片,音频,视频,日志等。对象文件最大可以达到5TB。\
- 适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。\
- MinIO主要采用Golang语言实现,整个系统都运行在操作系统的用户态空间,客户端与存储服务器之间采用http/https通信协议。
minIO有哪些特点
高性能
MinIO 是全球领先的对象存储先锋,目前在全世界有数百万的用户. 在标准硬件上,读/写速度上高达183 GB / 秒 和 171 GB / 秒。
对象存储可以充当主存储层,以处理Spark、Presto、TensorFlow、H2O.ai等各种复杂工作负载以及成为Hadoop HDFS的替代品。
MinIO用作云原生应用程序的主要存储,与传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。而这些都是MinIO能够达成的性能指标。
可扩展性
MinIO利用了Web缩放器的来之不易的知识,为对象存储带来了简单的缩放模型。 这是我们坚定的理念 “简单可扩展.” 在 MinIO, 扩展从单个群集开始,该群集可以与其他MinIO群集联合以创建全局名称空间, 并在需要时可以跨越多个不同的数据中心。 通过添加更多集群可以扩展名称空间, 更多机架,直到实现目标。
云的原生支持
MinIO 是在过去4年的时间内从0开始打造的一款软件 ,符合一切原生云计算的架构和构建过程,并且包含最新的云计算的全新的技术和概念。 其中包括支持Kubernetes 、微服和多租户的的容器技术。使对象存储对于 Kubernetes更加友好。
开放全部源代码 + 企业级支持
MinIO 基于Apache V2 license 100% 开放源代码 。 这就意味着 MinIO的客户能够自动的、无限制、自由免费使用和集成MinIO、自由的创新和创造、 自由的去修改、自由的再次发行新的版本和软件. 确实, MinIO 强有力的支持和驱动了很多世界500强的企业。 此外,其部署的多样性和专业性提供了其他软件无法比拟的优势。
与Amazon S3 兼容
亚马逊云的 S3 API(接口协议) 是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准。 MinIO 在很早的时候就采用了 S3 兼容协议,并且MinIO 是第一个支持 S3 Select 的产品. MinIO对其兼容性的全面性感到自豪, 并且得到了 750多个组织的认同, 包括Microsoft Azure使用MinIO的S3网关 - 这一指标超过其他同类产品的总和。
最重要的一点:简单
极简主义是MinIO的指导性设计原则。简单性减少了出错的机会,提高了正常运行时间,提供了可靠性,同时简单性又是性能的基础。 只需下载一个二进制文件然后执行,即可在几分钟内安装和配置MinIO。 配置选项和变体的数量保持在最低限度,这样让失败的配置概率降低到接近于0的水平。 MinIO升级是通过一个简单命令完成的,这个命令可以无中断的完成MinIO的升级,并且不需要停机即可完成升级操作 - 降低总使用和运维成本。
自建minIO(centos7.6+宝塔面板(参考))
为什么要搭建这个minio
因为咸鱼之前趁着腾讯云开年采购季,买了4Tb的数据盘,所以准备搞一个自己的存储
用来放自己的资源对接图床等等
同时,网上对于新版minio的资料少之又少,于是自己搭建一个同时记录下来
方法
话不多说,开搞
首先,我们去宝塔面板的这里找到docker进行安装
然后我们可以直接搜索minio以及他的客户端mc或者直接拉取
获取的时候输入 minio/minio 以及minio/mc 即可获取镜像 然后....宝塔这边创建容器如果不会的话,建议去shell里面进行操作吧 或者也可以纯shell进行docker的镜像拉取操作等
shell开搞(咸鱼因为镜像是新版的,所以以新版为例子了)
docker run --name minio \
-p 9000:9000 \ //端口可以自己修改,记得修改了,面板安全以及服务器防火墙or安全组记得放行端口哦
-p 9090:9090 \
-d --restart=always \
-e "MINIO_ROOT_USER=user" \ //这行的用户名和下行的password(密码)可以按照自己喜好修改哟
-e "MINIO_ROOT_PASSWORD=password" \
-v /home/minio/data:/data \ //这行以及下面的是设置minio的存储地方以及他的配置地方?
-v /home/minio/config:/root/.minio \
minio/minio server /data \
--console-address '0.0.0.0:9090'
输完上面的这些,你的minio就已经启动了 我们可以用你的ip 端口号来查看 如果是服务器就用你的公网ip 9000(就是上面设置的端口号哦,会自动跳到9090) 如下图
username password就是上面你设置的 然后我们就可以进去创建bucket了!
如咸鱼已经创建了juyuantop的桶 然后就可以愉快的上传和下载东西啦
mc的使用
当然你发现,自己只能在minio的web端进行使用,那么如何通过域名 bucket name 文件名就可以直接下载呢 这我们就要用到mc了 mc是minio的客户端
我们已经在docker拉好镜像了 所以可以直接使用 我们用如下命令来启用mc
docker run -it --entrypoint=/bin/sh minio/mc
注意,mc自己就有一个play的桶,咱们不用管,我们就用上面这个命令,用完之后发现变成了下图
然后我们就开始输入命令,使得我们的资源可以通过ip 端口 bucket 资源名来访问到
mc config host add minio http://127.0.0.1:9000 username password --api S3v4
这个ip地址可以是你的公网ip也可以是本机ip username以及password就是上面的了 然后再来
mc policy set download minio/你的桶名
这个是给你的桶具有下载权限 minio是我拉取镜像并且没有改变名字,如果你改了记得修改,桶名可以通过 mc ls minio 查看你的bucket 用完之后如果是绿色的则说明成功
这样我们就可以进行通过ip端口 bucketname 资源名字下载预览里面的资源了
nginx反向代理
如何使用域名访问 这个其实宝塔用户挺友好的,直接开搞 创建一个站点,啥都不用管,直接找到反向代理
然后我们进行反向代理配置就可以了
你可以通过查看docker容器里面的容器日志看到minio的api 通过把这个api反向代理到你的域名就可以了。效果如下
我们就可以通过这个使用各种图床以及用链接了! 至于其他的,我们可以通过官方文档以及百度来查到你所需要的资料哦
那么,今天的分享就到这里了!