㈠ s3对象存储下载什么意思
S3 是 Amazon Web Services (AWS) 提供的一项服务, 它通过基于 RESTful API 的接口提供对象存储。
㈡ 关于ceph rgw storage_class 的使用研究(amazon S3 智能分层 )
为什么要研究这个?
因为rgw 没找到横向扩容的比较好的办法。有些人是在rgw 上层再加一个接入层,在上面加数据记录。比如一个“虚拟大bucket”,对应了下面多个集群的多个 bucket 。
无论哪一种办法,都要增加额外的元数据管理系统。
看到amazon 的这个 storage class 被ceph rgw (Nautilus)支持后
我打算研究一下利用这个新功能做到几件事
1 横向 在bucket 下扩pool
2 通过 bucket 下同时支持多个 pool,提高读写吞吐。
3 利用 生命周期。前置ssd pool 。达到时间后把对象迁移到后面的廉价 COLD pool 比如 大容量sata 。
ceph 官网文档 地址 https://docs.ceph.com/docs/master/radosgw/placement/
这个功能 amazon s3 在 2018年推出
发布于: Nov 26, 2018
S3 智能分层是一种新的 Amazon S3 存储类,专为希望在数据访问模式发生变化时自动优化存储成本而不会影响性能或运营开销的客户而设计。S3 智能分层是第一个云对象存储类,通过在访问模式发生变化时在两个访问层(频繁访问层和不频繁访问层)之间移动数据来实现自动节省成本,非常适用于访问模式未知或不断变化的数据。
ceph 官方在rgw Nautilus 版本中引入
首先说说 palcement 和 storage class 的区别
placement 是指 bucket 的放置属性 ,storage class 是bucket 内每个对象的放置属性。
placement 下面默认有个标准层 STANDARD 他对应的pool 默认default.rgw.buckets.data (这个pool 可修改为你想存放的 pool,)
"STANDARD": {
"data_pool": “default.rgw.buckets.data”
每个 placemetn 都有个 STANDARD
你可以 添加自定义分层 比如 COLD 不只限于一个。可以多个。
上图是我测试的placement 加的2个class。 可以分别对应不同的pool 。
pool 可以根据你的需要新建在不同的设备上 比如 ssd sas sata
根据我们以前的测试结果
bucket ==> placement storage class ==>pool
创建bucket 通过指定 placement 制定了 放置池组
PUT 对象时候 可以制定 storage_class 指定具体的pool
下面说说具体做法 ,我就在默认 的 default-placement操作测试
根据官网命令 To add a new storage class named COLD to the default-placement target, start by adding it to the zonegroup
先在 zonegroup 加入 tag
1)
$ radosgw-admin zonegroup placement add
--rgw-zonegroup default
--placement-id default-placement
--storage-class COLD
2)zone 中加入 具体 pool 官网例子加上了压缩。这个可以根据需要配置是否加上
radosgw-admin zone placement add
--rgw-zone default
--placement-id default-placement
--storage-class COLD
--data-pool default.rgw.cold.data
--compression lz4
结果如下
placement_pools": [
{
"key": "default-placement”,
"val": {
"index_pool": “default.rgw.buckets.index”,
"storage_classes": {
我们用 s3cmd 测试上传
对我的 测试placement 做put 文件测试 (这里我用自定义 的placemet 做测试
指定 -storage-class=TEMPCOLD
s3cmd put cirros-0.3.5-x86_64-disk.img s3://bucket2/clodtest1 --storage-class=TEMPCOLD
upload: 'cirros-0.3.5-x86_64-disk.img' -> ' s3://bucket2/clodtest1' [1 of 1]
s3cmd info s3://bucket2/clodtest1
s3://bucket2/clodtest1 (object):
File size: 13267968
Last mod: Sun, 29 Mar 2020 07:03:34 GMT
MIME type: application/octet-stream
Storage: TEMPCOLD
MD5 sum:
如果不加参数
s3cmd put cirros-0.3.5-x86_64-disk.img s3://bucket2/clodtest3
upload: 'cirros-0.3.5-x86_64-disk.img' -> ' s3://bucket2/clodtest3' [1 of 1]
13267968 of 13267968 100% in 0s 27.25 MB/s done
数据会落在 STANDARD
s3://bucket2/clodtest3 (object):
File size: 13267968
Last mod: Sun, 29 Mar 2020 07:06:24 GMT
MIME type: application/octet-stream
Storage: STANDARD
经过测试 读数据不需要知道对象属于哪一个 Storage
。
=====
官方说明
所有放置目标都有一个STANDARD存储类,默认情况下该存储类适用于新对象。用户可以使用覆盖此默认设置 default_storage_class。
要在非默认存储类中创建对象,请在请求的HTTP标头中提供该存储类名称。S3协议使用 X-Amz-Storage-Class标头,而Swift协议使用 X-Object-Storage-Class标头。
结论:
1
如果需要 提高性能。可以同时在一个placement 下加入多个 Storage 对应多个 pool。 客户端写数据的时候可以均衡指定 storage-class
具体可以参考s3 api .
或者可以在nginx 接入层做 灵活的指定 X-Amz-Storage-Class (对多个 storage-class 做自定义轮询或者打开关闭)
2
如果需要在pool 将近满了。可以新增一个 storage-class。 客户端读写 指定到新的 storage-class。
3
如果需要用ssd 加速。可以 用ssd pool 作为STANDARD
用 廉价 sata 作为 COLD 进行迁移。 具体要研究 Lifecycle 的设置
我这里就没时间做测试了。
目前我测试的 ceph 是 14.2.5. 不是最新。 感觉这个功能还有写莫名其妙的情况。
建议各位有需要的可以做大规模的测试。
㈢ 对象存储、文件存储和块存储的区别是什么
对象存储、文件存储和块存储的区别如下:
1、速度不同
块存储:低延迟(10ms),热点突出;
文件存储:不同技术各有不同;
对象存储:100ms-1s,冷数据;
2、可分步性不同
块存储:异地不现实;
文件存储:可分布式,但有瓶颈;
对象存储:分步并发能力高;
3、文件大小不同
块存储:大小都可以,热点突出;
文件存储:适合大文件;
对象存储:适合各种大小;
4、接口不同
块存储:Driver,kernel mole ;
文件存储:POSIX;
对象存储:Restful API ;
5、典型技术不同
块存储:SAN;
文件存储: HDFS,GFS;
对象存储:Swift,Amazon S3;
6、适合场景不同
块存储:银行;
文件存储:数据中心;
对象存储:网络媒体文件存储。
(3)amazons3对象存储扩展阅读:
对象存储、文件存储和块存储的联系:
通常来讲,磁盘阵列都是基于Block块的存储,而所有的NAS产品都是文件级存储。
1. 块存储:DAS SAN
a) DAS(Direct Attach Storage): 是直接连接于主机服务器的一种存储方式,每台服务器有独立的存储设备,每台主机服务器的存储设备无法互通,需要跨主机存取资料室,必须经过相对复杂的设定,若主机分属不同的操作系统,则更复杂。
应用:单一网络环境下且数据交换量不大,性能要求不高的环境,技术实现较早。
b) SAN(Storage Area Network): 是一种高速(光纤)网络联接专业主机服务器的一种存储方式,此系统会位于主机群的后端,它使用高速I/O联接方式,如:SCSI,ESCON及Fibre-Channels.特点是,代价高、性能好。但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。
应用:对网速要求高、对数据可靠性和安全性要求高、对数据共享的性能要求高的应用环境中。
2. 文件存储
通常NAS产品都是文件级存储。
NAS(Network Attached Storage):是一套网络存储设备,通常直接连在网络上并提供资料存取服务,一套NAS储存设备就如同一个提供数据文件服务的系统,特点是性价比高。
它采用NFS或CIFS命令集访问数据,以文件为传输协议,可扩展性好、价格便宜、用户易管理。目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
3. 对象存储:
总体上讲,对象存储同时兼具SAN高级直接访问磁盘特点及NAS的分布式共享特点。
核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD),构建存储系统,每个对象存储设备具备一定的职能,能够自动管理其上的数据分布。
对象储存结构组成部分(对象、对象存储设备、元数据服务器、对象存储系统的客户端)
㈣ 亚马逊云科技的云存储,最应该知道的有这三点
传统存储在以各种方式对接公有云生态,公有云的云上服务类型也在不断完善,作为企业信息化负责人要做的是更多地了解公有云,然后,考虑如何充分利用公有云的优势。
本文通过介绍亚马逊云 科技 存储服务的三个关键点,带您认识云存储的现状。
正文:
乘着互联网产业的春风,云存储在过去近二十年走过了可遇不可求的发展历程。也让从90年代开始,就一直坐着冷板凳,负责数据归档的对象存储,一跃成为整个互联网数据的基石。
如今,绝大部分互联网上可访问的数据都靠对象存储来存,偶尔曝出的数据泄露事件也大多都跟对象存储有关,当然,问题不在于对象存储本身。
从2006年,亚马逊云 科技 的对象存储服务Amazon S3发布,到现在,算起来也有十六年的时间了,这也是亚马逊云 科技 推出的第一款云服务。
从市场表现来看,Amazon S3是非常成功的,前两年有人推测说,亚马逊云 科技 在存储方面的营收规模非常大,甚至被称作是全球最大的存储公司,Amazon S3无疑是功劳最大的一个。
有人说,许多亚马逊云 科技 用户使用的第一个产品就是Amazon S3对象存储,在所有亚马逊云 科技 的用户案例,在所有技术文档里,Amazon S3的出镜率都非常高。
云上原生存储Amazon S3的主线任务:不断降低成本
如果亚马逊云 科技 的用户没用过Amazon S3,就好比去包子铺吃饭没点包子,光顾烧烤店没吃烤串一样,令人费解。
Amazon S3的易用性高、可用性高,开发者很喜欢,Amazon S3几乎不丢数据的可靠性,稳定性也很高,运维管理人员很喜欢,Amazon S3在互联网应用场景被普遍应用。
如今,Amazon S3上存着超过100万亿个对象,每秒需要处理上千百万次请求。
Amazon S3一开始解决了可靠性和可用性以及安全方面的基本问题,性能也一直在提升,多年看下来,最大的工作重点就是不断降低成本。
亚马逊云 科技 大中华区产品部总经理 陈晓建介绍称,同样存储一份数据,如果2006年需要100块钱,而在2022年就只需要大概15块钱,16年间,Amazon S3的存储成本降低了大约7倍。
2021年12月,亚马逊云 科技 宣布在全球九大区域,将Amazon S3 Standard In Frequent Access和Amazon S3 One Zone In Frequent Access的价格降低了31%。
Amazon S3存储分了八个层级。
对于需要经常访问的数据,首选标准版的Amazon S3,它具有毫秒级的访问表现,而不太经常访问的数据就选Amazon S3 Standard-IA上,相较于前者能节省大概40%的费用。
而对于那些很少访问的数据,则可以选择放在Amazon S3 Glacier DeepArcihve上,它的成本非常低,大约1美刀1个TB,但代价是,想把数据拿回来就得多等等,大概需要12到48个小时。
有人觉得这等的时间也太长了,于是,亚马逊云 科技 又推出了Amazon S3 Glacier Flexible Retrieval,只需要等上几分钟到几小时。
就没有一种,既可以便宜,访问性能又高的存储吗?还真有。
这就是Amazon S3 Glacier Instant Retrieval,它是最新的一个存储层级,拿回数据的速度是毫秒级的,成本与Amazon S3 Glacier相当,适合每季度才访问一次、又需要毫秒级取回的海量数据。
另外,Amazon S3 One Zone-IA的成本也很低,顾名思义,数据只存在单个可用区上,而其他S3存储的数据都在多个可用区上存着好几分,相比之下,理论上丢数据的风险高了些。
最后,出于合规的要求,用户有些数据不能上云,亚马逊云 科技 可以提供Amazon Outposts,把云的硬件放到了用户的数据中心里。使用Amazon S3 on Outposts,就像在云上使用S3一样。
总的来说,Amazon S3的存储层级还是挺多的,但问题是,这给选型和管理也带来了负担。
为此,亚马逊云 科技 推出了Amazon S3 Intelligent-Tiering(智能分层),它会根据对象被访问的次数在多个存储层级间进行自动化迁移。
如果不能确定要选什么或者存储需求会变,那就选它,它不仅能解除选择困难症,还能避免用户自行管理数据分层的麻烦。
一家在东南亚和北美市场非常有影响力的互联网公司,在亚马逊云 科技 上存放了大约几十PB的数据,原本主要使用的是Amazon S3 Standard—IA,在使用Amazon S3智能分层后,没有进行任何额外操作,就将存储成本降低了62%。
亚马逊云 科技 最早在2018年就推出了Amazon S3智能分层功能,如今,Amazon S3智能分层已经涵盖了Amazon S3家族的几乎所有存储类别,最多可节省68%的成本。
不仅如此,如今数据分层还拓展到文件存储Amazon EFS,Amazon EFS提供四种文件存储等级,数据分层能节省高达72%的存储成本。
打通云应用与传统应用的隔阂:靠多种文件存储
如果说,对象存储是云存储的标配的话,那文件存储就是云存储连接本地存储的桥梁。
如今常见的应用分为两类。
一类是云原生的现代化应用,也就是在云上开发的、充分利用云架构优势的应用,比如电商、 游戏 、社交媒体等平台。对应需要的存储,大部分是对象存储Amazon S3来满足,少部分需要文件存储Amazon EFS。
另一类是传统企业应用,它诞生在公有云之前,常见的有高性能计算、EDA、视频渲染等场景,通常由本地的文件存储系统,比如NAS来支撑的,为提升安全性和可靠性,通常都带有快照、镜像、远程复制等功能特性。
这类工作负载并没有根据云架构的特点来设计,如果强行上云,不仅需要调整应用本身,而且还可能出现兼容性的问题,为了避免此类问题,亚马逊云 科技 推出了FSx文件存储家族。
从2018年开始,陆续推出了面向Windows环境的Amazon FSx for Windows,面向高性能计算场景的Amazon FSx for Lustre,面向大数据分析场景推出了Amazon FSx for OpenZFS。
金风慧能采用了亚马逊云 科技 构建HPC高性能计算系统,其中使用了Amazon FSx for Lustre共享存储系统,不仅使气象预测系统性能提升了10%,气象计算时间缩短了1/3,还将成本降低了70%,运维复杂度也大大降低。
此外,还与知名存储厂商NetApp合作推出了Amazon FSx for NetApp ONTAP,把NetApp的经典NAS文件存储系统NetApp ONTAP放到了公有云上。
NetApp在2015年就提出了Data Fabric的概念,大意就是想要实现数据在云上和云下的自由流动,是比较早积极拥抱混合云的存储厂商之一。
与一些存储厂商的云上托管服务不同,Amazon FSx for NetApp ONTAP没有删减任何功能,它是云上唯一完整且全托管的NetApp ONTAP文件存储系统,能够无缝地跟企业本地的ONTAP系统对接,所以,用户的IT系统不需要做任何改动,就能使用云上服务。
2019年,NetApp与联想成立合资公司——联想凌拓,联想凌拓在中国区提供相关服务,联想凌拓产品管理与营销高级总监林佑声表示,从发布到现在,Amazon FSx for NetApp ONTAP得到了非常多客户的认可,包括金融、医疗、石油以及高 科技 行业客户。
嘉里物流原本是本地存储NetApp ONTAP的用户,随着业务全球化发展,在数据扩容以及数据共享方面碰到的问题越来越多,通过使用亚马逊云 科技 提供的Amazon FSx for NetApp ONTAP,将数据从本地迁到云上,解决了这些问题。
上云之后,不仅可以使用原来NetApp ONTAP自带的快照和备份等功能,同时,还可以使用亚马逊云 科技 遍布全球的数据中心,实现跨区域的灾备。
补足数据保护方面的短板:Amazon Backup
一直以来,云存储被诟病的点还在于缺少数据灾备功能,在如何维持业务连续性方面有一些争议,而亚马逊云 科技 正在试着消除这一顾虑,这就是Amazon Backup。
由于缺少与业务价值的强关联性,数据保护经常容易被忽视,同时,由于数据保护系统本身很复杂,合规的要求还特别多,实践起来也特别麻烦,所以,数据保护的实践相对落后。
可能也是基于这样的考虑,亚马逊云 科技 的数据保护服务Amazon Backup才特别喜欢强调“一站式”“操作简单”的特点,让用户知道,数据保护也没有那么麻烦。
于是我们看到,Amazon Backup能覆盖旗下的几乎所有存储产品,包括块存储(Amazon EBS)、对象存储、文件存储、数据库,以及计算和存储网关等相关产品。
Amazon Backup的操作比较简单,通过图形的界面即可完成大部分操作,用户还可以通过预设的策略进行自动化的备份,降低手动备份带来的问题。
安全合规的问题让许多用户头疼,Amazon Backup深度集成了亚马逊云 科技 自带的KMS数据加密服务,整个备份操作权限、数据访问权限都可以用IAM进行细颗粒度监控,满足个人信息安全规范、信息安全等级保护等方面的合规要求。
Amazon Backup避免让数据保护带来太多的成本负担,因此也用上了智能分层技术,用户通过冷热分层策略可以有效降低约75%的成本。
澳大利亚石油天然气的供应商Santos要对Amazon EBS块存储做备份,原本都是用手动备份的方案,但随着业务量的发展,备份的出错率越来越高,成功率越来越低。
而在用了Amazon Backup后,平均备份任务用时和运营成本均有大幅降低,备份成功率到了100%,而且还完全做到企业数据合规。
结束语
确实如陈晓建所言,亚马逊云 科技 存储服务已经成为IT行业的“水”和“电”,让各行各业的业务都能从存储服务中获得价值。
亚马逊云 科技 的存储服务类型和存储的相关实践都非常有代表性,而且,很多做法已经成了上云的参考实践,企业用户应该多少了解亚马逊云 科技 的云存储,特别是有上云打算的企业。
当然,上云带来的便捷和灵活,稳定性和安全性,以及对运维的解放都很吸引人。
还有顾虑?据我个人了解,亚马逊云 科技 非常在意企业在云上的成功和成本节省,不仅会帮企业不断优化。除此之外,市场上有一些专门的服务,帮助企业做规划实施,让你充分利用云的优势。
㈤ amazon s3的S3 数据加密方法
亚马逊S3 bucket和对象可以通过互联网访问。AWS安全控制用来保护其他的资源,比如安全群组和网络访问控制列表,但不保护S3中的数据。但是也有一些方法可以保护S3中的数据的机密性、完整性和可用性。
默认方式下,创建于亚马逊简单存储服务(S3)的对象只能够为创建它们的人访问。所有者可以授权其他人以粗粒度和细粒度的方式访问。比如一位所有者可以让数据集公开使用,每一个人都可以用这个对象的URL来访问。
或者所有者可以使用S3策略和身份及访问管理用户和群组,允许有限的用户集访问。S3策略也可以基于网络连接属性限制运行。如果你只希望企业网络的用户访问S3中的对象,指定所有的连接都从一个可信任的IP地址范围发出。其他地址尝试访问则会被拒绝。
如果你希望确保从S3下载下来的数据是加密的,拒绝访问任何不适SSL加密的连接。
还有一些方法可以用来在S3中实现加密。如果你使用AWS Key Management Service,就可以使用服务器端加密,允许亚马逊Web服务(AWS)管理加密密钥。为了管理你自己的密钥,你需要使用服务器端加密密钥,并且在企业内部保存。第三种选择是在将数据发送到AWS之前加密数据。在这种场景中,你要管理加密流程的所有方面。
对于在S3中保护数据而言,审计是一个重要的安全流程。存储管理员可以配置亚马逊S3 bucket来记录所有的请求特定bucket的细节。他们可以在其他的亚马逊S3 bucket中存储日志文件,并且用不同的访问控制授权来最小化干预。
㈥ 对象存储是什么对象存储的基本定义
对象存储是一种将数据作为对象进行管理的计算机数据存储体系结构,与其他存储体系结构(例如将数据作为文件层级管理的文件系统)以及将数据作为块和扇区内的块进行管理的块存储相对。每个对象通常包括数据本身,可变数量的元数据和全局独立标识符。
对象存储可以在多个级别实现,包括设备级别(对象存储设备),系统级别和接口级别。在每种情况下,对象存储都试图实现其他存储架构无法解决的功能,例如可以由应用程序直接编程的接口,可以再多个物理硬件实例的命名空间,以及数据管理功能,如数据复制和数据分发在对象级粒度。
相比于数据库这种面向结构化数据存储的技术,对象存储主要面向存储大量的非结构化数据。
(6)amazons3对象存储扩展阅读:
对象存储、文件存储和块存储的区别如下:
1、速度不同
块存储:低延迟(10ms),热点突出;
文件存储:不同技术各有不同;
对象存储:100ms-1s,冷数据;
2、可分步性不同
块存储:异地不现实;
文件存储:可分布式,但有瓶颈;
对象存储:分步并发能力高;
3、文件大小不同
块存储:大小都可以,热点突出;
文件存储:适合大文件;
对象存储:适合各种大小;
4、接口不同
块存储:Driver,kernel mole ;
文件存储:POSIX;
对象存储:Restful API ;
5、典型技术不同
块存储:SAN;
文件存储: HDFS,GFS;
对象存储:Swift,Amazon S3;
6、适合场景不同
块存储:银行;
文件存储:数据中心;
对象存储:网络媒体文件存储。
㈦ Amazon S3 V4签名校验错误
部署的ceph对象存储使用了兼容Amazon s3的RGW网关,通过Amazon S3访问对象存储。为了网关的高可用和负载均衡,在RWG网关前面加了一层nginx代理转发。
发现加了nginx之后V4签名会报错 The request signature we calculated does not match the signature you provided. Check your key and signing method. ,但是V2签名不会报错。
经过打开工程debug日志、nginx日志、RGW网关日志,最后发现是RGW网关接受到的请求和客户端发出去的请求的头参数 Host 不一样。
在nginx中转发http请求有个参数设置 proxy_set_header Host xxx; ,当我们使用以下形式的nginx转发时:
nginx默认使用的是基于IP的转发,这样服务端接收到的请求头参数 Host 就变成了 127.0.0.1:8080 和 127.0.0.1:9000 。
以上客户端指的是nginx前一级,服务端指的是nginx后一级,如果有多级代理,都需要设置;也可以不是nginx,是例如Haproxy等等。
㈧ 【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
㈨ amazon s3的S3 概述
理论上,S3 是一个全球存储区域网络 (SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产。但是,从技术上讲,Amazon 的架构有一些不同。您通过 S3 存储和检索的资产被称为对象。对象存储在存储段(bucket)中。您可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。
例如,在我的硬盘中,我有一个名为 whitepaper.pdf 的文件,它位于主目录中名为 documents 的文件夹中。相应的,该 pdf 文件的 URI 为 /home/aglover/documents/whitepaper.pdf 。在 S3 中,URI 有一点不同。首先,存储段只能是顶级的 — 无法像嵌套硬盘中的文件夹(或目录)一样进行嵌套。其次,存储段必须遵循 Internet 命名法则;句点旁边没有斜杠,名称不包括下划线等等。最后,由于存储段名称已经是 Amazon 域内的公共 URI 的一部分,存储段名称必须在所有 S3 中是惟一的。(好消息是每个帐户只能包含 100 个存储段,因此不用担心别人占用了所有的好名字)。