快捷搜索:  汽车  科技

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)功能强大 从git上提交者来看,中国有几家公司的程序员在提交代码,星辰天合,easystack 腾讯、阿里基于ceph在做云存储,但是在开源社区中不活跃,阿里一位叫liupan的有参与 成熟 红帽继子,ceph创始人已经加入红帽 国内有所谓的ceph中国社区,私人机构,不活跃,文档有滞后,而且没有更新的迹象。

之前一直使用MongoDB的GirdFS存储文件,在并发处理能力和扩容能力上没有遇到问题。但是使用总是不够变量,各种功能都需要自己开发。存储上是wt文件,无法直接识别。

所以,希望找一款替代产品。目前开源的文件存储系统比较多,比较了多个,我们的要求是要支持S3存储,最终选定了minio。

从对比中,目前文件存储在ceph和minio中进行比较选型

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(1)

ceph优缺点

优点

成熟

红帽继子,ceph创始人已经加入红帽

国内有所谓的ceph中国社区,私人机构,不活跃,文档有滞后,而且没有更新的迹象。

从git上提交者来看,中国有几家公司的程序员在提交代码,星辰天合,easystack 腾讯、阿里基于ceph在做云存储,但是在开源社区中不活跃,阿里一位叫liupan的有参与

功能强大

支持数千节点

支持动态增加节点,自动平衡数据分布。(TODO,需要多长时间,add node时是否可以不间断运行)

可配置性强,可针对不同场景进行调优

缺点

学习成本高,安装运维复杂。(或者说这个不是ceph的缺点,是我水平不行)

minio优缺点

优点

学习成本低,安装运维简单,开箱即用

目前minio论坛推广给力,有问必答

有java客户端、js客户端

缺点

社区不够成熟,业界参考资料较少

不支持动态增加节点,minio创始人的设计理念就是动态增加节点太复杂,后续会采用其它方案来支持扩容。

其缺点是目前不支持动态在线扩容。我们业务的使用量不会很大,所以这个问题先不考虑。

下面是第一次使用的过程:

1,下载

去官网下载安装包。不大,40M左右。

2,运行

# 后台运行

nohup ./minio server /home/haieradmin/minio/data > /home/haieradmin/minio/minio.log 2>&1 &

# 自定义MINIO_ACCESS_KEY和MINIO_SECRET_KEY

export MINIO_ACCESS_KEY=minio

export MINIO_SECRET_KEY=miniostorage

#自定义端口号

./minio server --address 101.121.115.159:9001 /home/haieradmin/minio/data

启动成功之后,就可以登录控制台了

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(2)

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(3)

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(4)

点击右下角的小加号,先创建一个bucket,再上传一个文件

完美啊,真是太简单了

去服务器上看,实际上也是新建了一个目录,新建了一个文件。

这点比使用mongo的girdFS好太多了。

看看api的使用

一个简单例子:

新建一个springboot项目,引入依赖

<dependency>

<groupId>io.minio</groupId>

<artifactId>minio</artifactId>

<version>3.0.6</version>

</dependency>

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(5)

注意,一定要是3.0.6的版本。官网给的3.0.10版本,和示例代码匹配不上。

代码还是很简单,创建一个client。创建bucket,然后上传文件即可。

搭建自己的文件服务器(使用MinIO搭建自己的文件服务)(6)

去控制台查看下,文件已经传上来了

整体感受下来,体验非常好。更深入的问题需要继续研究。比如容灾能力,集群化部署。

猜您喜欢: