前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己搭建个对象存储服务难不难?

自己搭建个对象存储服务难不难?

作者头像
程序猿DD
发布2023-04-04 13:44:25
1.7K0
发布2023-04-04 13:44:25
举报
文章被收录于专栏:程序猿DD

今天小编就在欢快的编码,来了一个刚毕业的小嫩青,虚心求教到 对象存储服务到底有啥用?

说起这个对象存储服务,那家伙,那场面,那可是锣鼓喧天、鞭炮齐鸣

打住,打住,其实小编对于对象存储服务的理解是,为了提供数据、文件、图片、视频这一系列对象类型的的有效储存,通俗的讲,就有点类似平时用的网盘,只不过对于公司来说,往往都是一个专业的拥有巨大空间的存储产品。

尤其是过了千禧年之后,网络的普及让数据呈现爆炸式的增长。

同时,在互联网行业中,非结构化数据的占比开始逐渐增加,所谓的非机构化数据,就是指图像、音频、视频这样的数据,无法用二维表结构进行逻辑表达的数据。

然后各家公司都逐渐开始摸索对于对象存储服务的研究。

时间一转眼来到了2006年,美国Amazon公司发布了AWS S3(Simple Storage Service)服务,将对象存储作为一项云存储服务,引入云计算领域,一下子将对象存储服务推向了全世界,时至今日,AWS S3都是最流行的对象存储服务,事实上,AWS S3几乎可以说是对象存储服务行业的标杆。

随着云技术的发展,越来越多的云厂商开始开展自己的对象存储服务,像阿里云的OSS、华为云的OBS、腾讯云的COS、百度的BOS、网易的NOS,这年头谁要是没个自己的对象存储服务,都不好意思出门打招呼说自己是个互联网巨头~

就在小编还在滔滔不绝的跟小嫩青讲着对象存储服务的前世今生、未来趋势时,她弱弱的问了一句,那有没有什么自己可以搭建的对象存储服务,让我试一试?

敢情套了半天近乎,原来是要小编做苦力啊,不过小编一向是个对于新(女)人(生)乐(无)于(法)助(拒)人(绝)的前辈,于是赶紧拿出这款私藏很久的开源高性能对象存储服务,MinIO,跟小嫩青和大家一起分享下~

MinIO,是一款基于Go语言的,使用Apache License v2.0开源协议,与AWS S3可完美兼容的高性能对象存储服务,既可以自己直接作为对象存储服务使用,也可以和其他一些主流服务组件配合工作。

MinIO,提供不同的部署方式,对于一些初学者和初期的项目,可以直接使用相对简答的单机部署。

除了单机部署,MinIO还提供分布式部署这一概念,分布式部署额外提供了一些单机部署不具备的功能,像是版本控制、对象锁定、纠删代码等。

代码语言:javascript
复制
export MINIO_ROOT_USER=<ACCESS_KEY>
export MINIO_ROOT_PASSWORD=<SECRET_KEY>
minio server http://host{1...n}/export{1...m}

安装服务的方式也有很多种,可以下载源码使用IDEA导入配置后运行,也可以使用Docker安装MinIO镜像。

以Docker为例:

单机部署,先下载相关镜像,然后直接安装,命令如下:

mac和linux版

代码语言:javascript
复制
docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -v /mnt/data:/data \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  quay.io/minio/minio server /data --console-address ":9001"

windows版

代码语言:javascript
复制
docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -v D:\data:/data \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  quay.io/minio/minio server /data --console-address ":9001"

分布式部署,linxu和mac版

代码语言:javascript
复制
docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  -v /mnt/data:/data \
  quay.io/minio/minio server /data --console-address ":9001"

windows版

代码语言:javascript
复制
docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  -v D:\data:/data \
  quay.io/minio/minio server /data --console-address ":9001"

一旦安装运行成功后就可访问MinIO Console的管理界面了。

默认的账户密码是,minioadmin:minioadmin

我们可以使用MinIO Console来测试部署情况,也可以用MinIO Console创建存储桶、上传对象和浏览服务器内容。

MinIO还提供了一套UNIX命令的替代品,方便用户操作:

命令

作用

alias

在配置文件中设置、删除和列出别名

ls

列出存储桶和对象

mb

做个存储桶

rb

移除存储桶

cp

复制对象

mirror

将对象同步到远程站点

cat

显示对象内容

head

显示对象的前“n”行

pipe

流STDIN到一个对象

share

为临时访问对象生成URL

find

搜索对象

sql

对对象运行sql查询

stat

显示对象元数据

mv

移动对象

tree

以树格式列出存储桶和对象

du

递归地总结磁盘使用情况

retention

设置对象的保留期

legalhold

设置对象的合法保留

diff

列出两个存储桶之间对象名称、大小和日期的差异

rm

移除对象

encrypt

管理bucket加密配置

event

管理对象通知

watch

侦听对象通知事件

undo

撤消放置/删除操作

policy

管理对存储桶和对象的匿名访问

tag

管理存储桶和对象的标记

ilm

管理存储桶生命周期

version

管理bucket版本控制

replicate

配置服务器端bucket复制

admin

管理小型服务器

update

将mc更新至最新版本

MinIO还有很多深奥的操作,等着小伙伴们一起发掘,不多说啦,小编要去帮小嫩青装版本去了~要一起研究使用的小伙伴,赶紧一起:

点击下方卡片,关注公众号“TJ君

回复“对象存储”,获取仓库地址

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档