【minio】基于awss3协议搭建个人云存储服务

author author     2023-05-03     469

关键词:

参考技术A 在2007年,GlusterFS演变为大型分布式存储方案后,任何配备合适硬件的公司,单位都可以利用个做分布式的流媒体,数据分析。在2011年,Red Hat收购了GlusterFS.

Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。

Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用 Go 语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。

Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

官网: https://minio.io

那么,如何自己搭建一个私有的S3存储云服务呢?

官方的话是推荐用Docker来搞,我们先用普通的二进制文件来直接解决了!

######################################################################################

# mkdir /data/aws_s3

# wget   https://dl.minio.io/server/minio/release/linux-amd64/minio

# mv  minio /usr/local/bin/

#  chmod  755  /usr/local/bin/minio 

# minio server  /data/aws_s3

#############################################################

Created minio configuration file successfully at /root/.minio

Endpoint: http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey: /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD 

Region:    us-east-1

SQS ARNs:  

Browser Access:

http://10.5.10.89:9000   http://127.0.0.1:9000   http://172.17.0.1:9000

Command-line Access:  https://docs.minio.io/docs/minio-client-quickstart-guide

################################################################

$ mc config host add myminio  http://10.5.10.89:9000  U3XLU4IMXY3IDKHU268F /6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

Object API (Amazon S3 compatible):

Go:  https://docs.minio.io/docs/golang-client-quickstart-guide

Java:  https://docs.minio.io/docs/java-client-quickstart-guide

Python:  https://docs.minio.io/docs/python-client-quickstart-guide

JavaScript:  https://docs.minio.io/docs/javascript-client-quickstart-guide

Drive Capacity: 8.3 GiB Free, 9.1 GiB Total

##############################################################

我们就成功启动了minio的s3服务,默认端口9000,可以通过网页访问:

http://10.5.10.89:9000  

http://127.0.0.1:9000  

http://172.17.0.1:9000

注意 :第一次打开时候需要填写AccessKey和SecretKey才能进入,我们上面启动服务的时候,已经看到屏幕有输出:

AccessKey: U3XLU4IMXY3IDKHU268F 

SecretKey:6NCL6HGacviaCgRqr2qLbVOjhkkJdRpV7wz0JJD

把这两个Key填入,就能顺利进入,进入后展开页面如下:

这就是我们的S3云存储的管理页面了,看着是不是和七牛什么的提供云存储的产品页面挺像的,大家都是基于S3协议开发的!

上传个文件试试:

点击右下角的红色小加号按钮,弹出的菜单选择”create bucket”则会创建一个桶,输入名字”test”

点击刚才那个红色小加号按钮,这次选择”Upload file”上传文件,给这个桶上传了一个叫login.txt的文本文档

此时页面如下:

至此我们可以看到文件已经上传,要访问这个文件,可以点击文件右侧的三个点的按钮,选择分享就可以得到一个外链,在浏览器中访问这个外链就可以直接访问文件。

那么文件到底被存到哪里去了呢,我们启动命令中其实指定了工作路径/data/aws_s3/,所以到服务器这个目录下看看:

# ls /data/aws_s3/ 

test

# ls /data/aws_s3/test/

login.txt 

桶名称test是一个目录,其下就有上传的login.txt文件。

如果想指定ip和端口,可以这样写:

# minio server /data/aws_s3 --address=0.0.0.0:9000

如果想让服务在后台运行:

# nohup minio server /data/aws_s3   --address=0.0.0.0:443 &

[1] 19882

// nohup: 忽略输入并把输出追加到启动命令的当前目录下的 "nohup.out"文件

minio可以用来搭建分布式存储系统 GlusterFS,这样就成了真正的云存储了,有时间再研究下把它从现在的单机测试,变成一朵存储云!

minio官网: https://minio.io

minio官方文档: https://docs.minio.io/docs/minio-docker-quickstart-guide

minio github主页: https://github.com/minio/minio

minio分布式集群搭建(代码片段)

...代阿里云OSS,并为K8S提供对象存储服务。简介MinIO是一个基于ApacheLicensev2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟... 查看详情

minio的搭建

参考技术AMinIO是在GUNAffero通用公共许可证v3.0下发布的高性能的对象存储。它是与AmazonS3云存储服务兼容的API。使用MinIO为机器学习、分析和隐月宫程序数据工作负载构建高性能基础架构。MinIO对象存储使用buckets(桶)来组织对象... 查看详情

基于docker部署spark和minioserver

...储服务,并通过Spark访问MinIO,实现读写功能。MinIO是一个基于ApacheLicensev2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟... 查看详情

minio快速入门之一——minio简介

...业可以以此快速构建自己内部的对象存储服务。Minio是个基于Golang编写的开源对象存储套件,基于ApacheLicensev2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例... 查看详情

minio一小时搭建自己的云存储服务!(java版)(代码片段)

话不多说,进入正题环境准备根据服务器系统下载MinIO(俺的是centos,官网都有详细步骤,其他系统就看官网安装)把安装包挪到服务器中,安装。 chmod+xminio##给minio可执行权限 ./minioserver/data##启动MinIO... 查看详情

使用minio搭建对象存储服务

参考技术A之前我使用的是阿里云OSS,想了解阿里云OSS的小伙伴参考SpringBoot整合阿里云OSSdockerrun-d-p9000:9000-p9001:9001--nameminio-eMINIO_ACCESS_KEY=qbb-eMINIO_SECRET_KEY=startqbb-v/opt/minio/data:/data-v/opt/minio/config:/root/.miniominio/minioserver/data--console-addres... 查看详情

可视化的对象存储服务(代码片段)

...t安装及配置MinIOClient常用操作兼容AWSS3MinIO简介MinIO是一款基于Go语言的高性能对象存储服务,它采用了ApacheLicensev2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件 查看详情

minio集群搭建(代码片段)

一、MinIOMinIO是一个高性能的对象存储原生支持Kubernetes部署的解决方案。MinIO提供了一个AmazonWebServicesS3兼容API并支持所有核心S3功能。MinIO对象存储使用buckets来组织对象。存储桶类似于文件系统中的文件夹或目录,其中每个桶... 查看详情

基于云服务的个人网站架构设计(代码片段)

本文介绍如何基于各种云服务优雅且低成本地搭建个人网站,涉及的云产品有云服务器、SSL、企业邮箱、对象存储、CDN、云函数、API网关、云监控等。概述如今云服务提供商们提供了大量涵盖计算、网络、存储等方面的云服务,... 查看详情

minio搭建使用(代码片段)

MinIO简介¶MinIO是一款基于Go语言的高性能对象存储服务,在Github上已有19K+Star。它采用了ApacheLicensev2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。本文将使... 查看详情

springboot搭建基于minio的高性能存储服务(代码片段)

点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33 更新文章,每天掉亿点点头发...源码精品专栏 原创|Java2021 超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解... 查看详情

通过s3协议实现通用的文件存储服务中间件(代码片段)

通过S3协议实现通用的文件存储服务中间件引言使用演示安装minio构建Starter测试引言在日常开发文件上传相关服务时,通常都会选择腾讯云,阿里云,七牛云等提供的oss服务作为文件存储系统,如果需要自行搭建文件存储系统ÿ... 查看详情

全球增长最快的对象存储开源服务minio

...门的开源对象存储服务器,能够完美兼容亚马逊的S3协议,对K8s也能够进行非常友好的支持,专为AI等云原生工作负载而设计。包括构建高性能的云原生数据机器学习、大数据分析、海量存储的基础架构等方面,MinIO都... 查看详情

minio基本使用(java)(代码片段)

1Minio简介MinIO是一个基于ApacheLicensev2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文... 查看详情

分布式技术专题「oss中间件系列」minio的server端服务的架构和实战搭建(代码片段)

...ObjectStorage我目前的理解就是数据存储,minio可以用来搭建分布式存储服务Minio是ApacheLicensev2.0下发布的对象存储服务器。它与AmazonS3云存储服务兼容。它最适合存储非结构化数据,如照片,视频࿰ 查看详情

分布式minio搭建指南

...模式的搭建的话,分布式搭建的流程基本一样,Minio服务基于命令行传入的参数自动切换成单机模式还是分布式模式。安装Minio-Minio快速入门.启动一个分布式 查看详情

2020.2.1910分钟自建对象存储服务!(代码片段)

...何搭建一个对象存储服务来存储图片MinIO简介MinIO是一款基于Go语言的高性能对象存储服务,它采用了ApacheLicensev2.0开源协议,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。... 查看详情

springboot整合minio实现文件上传

参考技术A文章目录:MinIO是一个用Golang开发的基于ApacheLicensev2.0源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,适合存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,单个文件... 查看详情