2020.2.19 10分钟自建对象存储服务!

10分钟自建对象存储服务!

摘要

对象存储服务可以用来存储各类文件,下面如何搭建一个对象存储服务来存储图片

MinIO 简介

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

安装及部署

MinIO的安装方式有很多,这里我们使用它在Docker环境下的安装方式。

  • 下载MinIO 的Docker 镜像:
docker pull minio/minio
  • 在Docker 容器中运行MinIO 这里我们将MiniIO 的数据和配置文件夹挂在宿主机上:
docker run -p 9090:9090 --name minio \
    -v /mydata/minio/data:/data     -v /mydata/minio/config:/root/.minio     -d minio/minio server /data
  • 运行成功后,访问该地址来登陆并使用MinIO 默认Access Key 和Secret 都是minioadminhttp://宿主机ip:9090

上传文件及使用

通过使用MinIO的网页端即可完成文件的上传下载功能,下面我们以图片上传下载为例来演示下该功能。

  • 在存储文件之前我们需要新建一个存储桶
  • 存储桶创建完成后,通过上传按钮可以上传文件,这里我们上传一张图片:

  • 图片上传完成后,我们可以通过拷贝链接按钮来获取图片访问路径,但是只是个临时的访问路径:
  • 要想获取一个永久的访问路径,需要修改存储桶的访问策略,我们可以点击存储桶右上角的编辑策略按钮来修改访问策略;
  • 这里有三种访问策略可以选择,一种只读、一种只写、一种可读可写,这里我们选择只读即可,但是需要注意的是,访问前缀需要设置为.,否则会无法访问;

  • 设置完成后,我们只需要通过拷贝链接中的前一串路径即可永久访问该文件;

  • 访问图片效果展示:

MinIO 客户端的使用

虽然MinIO 的网页端管理已经很方便了,但是官网还是给我们提供了基于命令行的客户端MinIO Client (简称mc) 下面说一下它的使用方法

常用命令

下面我们先来熟悉下mc的命令,这些命令和Linux中的命令有很多相似之处。

命令 作用
ls 列出文件和文件夹
mb 创建一个存储桶或一个文件夹
cat 显示文件和对象内容
pipe 将一个STDIN重定向到一个文件或对象或者STDOUT
share 生成用于共享的URL
cp 拷贝文件和对象
mirror 给存储和文件化做镜像
find 基于参数查找文件
diff 对两个文件夹或者存储桶比较差异
rm 删除文件和对象
events 管理对象通知
watch 监听文件和对象的事件
policy 管理访问策略
session 为cp命令管理保存的会话
config 管理mc配置文件
update 检查软件更新
version 输出版本信息

安装及配置

由于MinIO服务端中并没有自带客户端,所以我们需要安装配置完客户端后才能使用,这里以Docker环境下的安装为例。

  • 下载MinIO Client 的Docker镜像:
docker pull minio/mc
  • 在Docker容器中运行mc:
docker run -it --entrypoint=/bin/sh minio/mc
  • 运行完成后我们需要进行配置,将我们自己的MinIO服务配置到客户端上去,配置的格式如下:
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
  • 对于我们的MinIO服务可以这样配置:
mc config host add minio http://192.168.6.132:9090 minioadmin minioadmin S3v4

常用操作

  • 查看存储桶和查看存储桶中存在的文件:
# 查看存储桶
mc ls minio
# 查看存储桶中存在的文件
mc ls minio/blog

  • 创建一个名为test的存储桶:
mc mb minio/test

  • 共享avatar.png文件的下载路径:
mc share download minio/blog/avatar.png

  • 查找blog存储桶中的png文件:
mc find minio/blog --name "*.png"

  • 设置test存储桶的访问权限为只读:
# 目前可以设置这四种权限:none, download, upload, public
mc policy set download minio/test/
# 查看存储桶当前权限
mc policy list minio/test/

参考资料

详细了解MinIO可以参考官方文档:

原文地址:https://www.cnblogs.com/qichunlin/p/12332860.html

时间: 2024-10-28 16:03:37

2020.2.19 10分钟自建对象存储服务!的相关文章

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定

openstack-mitaka之对象存储服务(object安装配置)

在本次环境中,object共使用2台主机,每台主机3个磁盘,其中第一块磁盘用于系统,后面两块,用于对象存储服务使用,前期准备工作,已经准备就绪,接下来,开始安装配置 1.安装软件包(在object1.object2分别执行如下命令) 2.在object1.object2执行XFS格式化/dev/sdb./dev/sdc 3.在object1.object2创建挂载点目录结构 3.在object1.object2分别编辑/etc/fstab 4.在object1.object2挂载设备 5.在ob

openstack安装(liberty)--安装对象存储服务(swift)

九.安装对象存储服务(swift),不使用控制節點數據庫服務,而於各存儲節點使用分布式SQLite數據庫. 9.1对象存储服务包括的组件 Proxy servers (swift-proxy-server)代理服務,接收API或HTTP請求,執行上傳文件.修改源數據.WEB瀏覽時列表文件和創建容器等操作.通常使用CACHE技術(memcache)提高性能 Account servers (swift-account-server)賬戶服務,管理對象存儲中的賬戶定義. Container serv

FreeNAS 11.0 正式发布,提供 S3 兼容的对象存储服务

FreeNAS 11.0 正式版已发布,该版本带来了新的虚拟化和对象存储功能.FreeNAS 11.0 将 bhyve 虚拟机添加到其受欢迎的 SAN / NAS.Jail 和插件中,让用户可以在 FreeNAS box 上使用 host web-scale VMs.它提供 S3 兼容的对象存储服务,可将 FreeNAS box 变成 S3 兼容的服务器,不用再依赖云端.点击此处查看 FreeNAS 11.0 的新功能 FreeNAS 11.0 基于 FreeBSD 11-STABLE ,它增加

swift(Object Storage对象存储服务)(单节点)

# 在部署对象存储服务(swift)之前,你的环境必须包含身份验证服务(keystone); # keystone需要MySQL数据库,Rabbitmq服务,Memcached服务; # 内存:4G # 系统:Ubuntu Server-14.04.5 # 安装方法:http://www.jianshu.com/p/9e77b3ad930a # IP地址:192.168.10.55 # 主机名:object 基本环境配置 配置主机静态IP地址 vim /etc/network/interface

华为云学院干货:对象存储服务:便捷管理存储资源

华为云学院干货:对象存储服务:便捷管理存储资源随着数据规模不断增加,收集和存储大型数据集对于任何规模的企业都让人生畏,而且访问组织和分析非结构化数据给企业制造了大量新的挑战.华为云对象存储服务是基于对象的海量存储服务,能为您提供高可靠高性能高安全的数据存储能力.OBS服务基于策略(时间.名称.标签.版本)配置,实现数据在标准存储低频访问存储和归档存储中按需流动,标准存储持久性99.999999999%.无最低存储时间,毫秒级时延.低频访问存储:持久性99.999999999%,30天最低存储时间

openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 三

openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 二 openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 三 openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 四 以下操作在控制节点执行control

腾讯云cos对象存储服务文件上传api就是一个大坑

一.介绍 对象存储服务(Cloud Object Service)是基于腾讯多年海量服务经验,对外提供的可靠.安全.易用的海量存储服务.提供多样化接入方式,以及全国部署的上传加速集群,可以无缝衔接CDN进行加速下载. 二.cos 文件上传api源码 /** * 单个文件上传,适用于小文件 * * @param bucketName * bucket名称 * @param remotePath * 远程文件路径 * @param localPath * 本地文件路径 * @return 服务器端返

腾讯云对象存储服务(cos)之PHP实践

云对象存储服务, BAT都有其业务, 本文选择腾讯是因为腾讯有每月免费流量, 而阿里和百度都是需要先付费后使用, 另外新兴的像七牛云存储, 也是很不错的解决方案. 贴代码 <?php /** * Simple Tencent COS SDK * 2016/05/09 * Author: hldh214 <[email protected]> */ // 配置项 start $appid = ''; $bucket_name = ''; $dir_name = ''; $secretID