MinIO 是一款开源的对象存储系统,致力于提供高性能、可伸缩、安全的数据存储解决方案。
官方解释:MinIO 是一个基于Apache License v2。0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
本文将介绍 MinIO 的背景、用途、优势、与其他存储解决方案进行对比和安装使用。
MinIO 的发展背景与云计算、大数据、多媒体存储以及云原生应用程序的快速增长密切相关。传统的文件系统和关系型数据库已无法满足不断膨胀的数据需求。MinIO 在这一背景下崭露头角,于2014年由Anand Babu Periasamy创建,成为对象存储的先锋之一。MinIO 是一个自由开放源码的项目,由广大开发者社区不断推动,以提供灵活、可靠、高性能的对象存储。
无论是构建云原生应用程序、存储多媒体文件、支持数据分析,还是作为数据湖的一部分,MinIO 都提供了可靠的存储解决方案。
MinIO作为一个对象存储系统,在很多方面都具有显著的优势,尤其适合需要构建自己的私有对象存储解决方案或在云环境中使用Amazon S3 API的应用程序。以下是MinIO的主要优势:
轻量级和易于部署:MinIO是一个轻量级的对象存储系统,容易部署和管理。MinIO简单特性减少了出错的机会,节约了安装部署的时间,提供了可靠性,同时简单性又是性能的基础。MinIO升级是通过一个简单命令完成的,这个命令可以无中断的完成MinIO的升级工作,并且不需要停机即可完成升级操作,大大降低总使用和运维成本。您可以在本地数据中心、云环境或容器化平台上运行MinIO。MinIO提供了与k8s、etcd、docker等主流容器化技术深度集成方案。
安装成功后,浏览器登录访问http://127.0.0.1:9000
如果浏览器出现如下界面,表示安装成功。然后使用默认登录名和密码 均为 minioadmin。为了安全考虑后期可再去修改。
MinIO作为一款基于Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。目前MinIO支持市面主流的开发语言并且可以通过SDK快速集成快速集成使用。详细使用可参考官方文档。
官网文档地址:https://docs.min.io/cn/
Minio Cookbook中文版地址(书栈网):https://www.bookstack.cn/read/MinioCookbookZH/
MinIO服务安装后,可以直接通过浏览器登录系统,完成文件夹、文件的管理。非常方便使用。
Linux下安装MinIO
- # 下载安装包
- wget https://dl.min.io/server/minio/release/linux-amd64/minio#
- 运行命令chmod +x minio
- #启动 ./minio server /usr/software/minio/data
- # 后台进程启动nohup ./minio server /usr/software/minio/data > /usr/software/minio/minio.log 2>&1 &
直接安装启动
下载安装包
下载地址:https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
管理员身份启用cmd窗口,然后定位到minio.exe文件夹执行如下命令:
.\minio.exe server D:\file\minio
说明:D:\file\minio 为存储文件的目录
2、后台服务安装
- <service>
- <id>minio-server</id>
- <name>minio-server</name>
- <description>minio文件存储服务/description>
- <!-- 可设置环境变量 --> <env name="HOME" value="%BASE%"/>
- <executable>%BASE%\minio.exe</executable>
- <arguments>server "%BASE%\data"</arguments>
- <!-- <logmode>rotate</logmode> -->
- <logpath>%BASE%\logs</logpath>
- <log mode="roll-by-size-time">
- <sizeThreshold>10240</sizeThreshold>
- <pattern>yyyyMMdd</pattern>
- <autoRollAtTime>00:00:00</autoRollAtTime>
- <zipOlderThanNumDays>5</zipOlderThanNumDays>
- <zipDateFormat>yyyyMMdd</zipDateFormat>
- </log>
- </service>