简单存储服务s3
⑴ s3瀛桦偍鍜宱ss瀛桦偍镄勫尯鍒
链嶅姟鎻愪緵鍟嗐佸竞鍦鸿嗙洊銆
1銆佹湇锷℃彁渚涘晢锛歋3鏄疉mazonWebServices锛圆WS锛夋彁渚涚殑瀵硅薄瀛桦偍链嶅姟锛岃孙SS鍒欐槸阒块噷浜戞彁渚涚殑瀵硅薄瀛桦偍链嶅姟銆
2銆佸竞鍦鸿嗙洊锛歋3涓昏佹湇锷′簬鍖楃编鍜屾ф床甯傚満锛岃孙SS鍒椤湪涓锲藉竞鍦哄箍娉涗娇鐢ㄣ
⑵ 简单存储服务s3与传统的文件系统有哪些区别
企业用户的话,推荐南京云创存储科技有限公司的cStor云存储服务! 和传统存储相比,cStor云存储系统具有如下优势: 优异性能 支持高并发、带宽饱和利用。cStor云存储系统将控制流和数据流分离,数据访问时多个存储服务器同时对外提供服务,实现高并发访问。自动均衡负载,将不同客户端的访问负载均衡到不同的存储服务器上。系统性能随节点规模的增加呈线性增长。系统的规模越大,云存储系统的优势越明显, 没有性能瓶颈。 高度可靠 针对小文件采用多个数据块副本的方式实现冗余可靠,数据在不同的存储节点上具有多个块副本,任意节点发生故障,系统将自动复制数据块副本到新的存储节点上,数据不丢失,实现数据完整可靠; 针对大文件采用超安存(S3)编解码算法的方式实现高度可靠,任意同时损坏多个存储节点,数据可通过超安存算法解码自动恢复。该特性可适用于对数据安全级别极高的场合,同时相对于副本冗余的可靠性实现方式大大提高了磁盘空间利用率,不到40%的磁盘冗余即可实现任意同时损坏三个存储节点而不丢失数据。 元数据管理节点采用双机镜像热备份的高可用方式容错,其中一台服务器故障,可无缝自动切换到另一台服务器,服务不间断。整个系统无单点故障,硬件故障自动屏蔽。 在线伸缩 可以在不停止服务的情况下,动态加入新的存储节点,无需任何操作,即可实现系统容量从TB级向PB级平滑扩展;也可以摘下任意节点,系统自动缩小规模而不丢失数据,并自动将再下的节点上的数据备份到其他节点上,保证整个系统数据的冗余数。 超大规模 支持超大规模集群,理论容量为1024×1024×1024PB。 简单通用 支持POSIX接口规范,支持Windows/linux/Mac OS X,用户当成海量磁盘使用,无需修改应用。同时系统也对外提供专用的API访问接口。 智能管理 一键式安装,智能化自适应管理,简单方便的监控界面,无需学习即可使用。 cStor云存储系统所有管理工作由云存储系统管理监控中心完成,使用人员无需任何专业知识便可以轻松地管理整个系统。通过专业的分布式集群监控子系统对cStor所有节点实行无间断监控,用户通过界面可以清楚地了解到每一个节点的运行情况。
⑶ 【Minio】基于AWS S3协议搭建个人云存储服务
在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: /
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 /
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:
把这两个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