云存储主要技术路线选型比较

哪些应用场景适合云存储?存储虚拟化、分布式存储、对象存储这几种技术主要解决什么问题?技术产品选型如何考虑?node

企业哪些应用场景适合借助云存储来实现?算法

传统 IT 环境中使用传统存储的困境有那些?那些应用场景是传统存储不能知足而必须借助云存储来实现的?数据库

分享一:swift

一、虚拟机存储后端

虚拟机存储是云计算平台中运行的虚拟机以及虚拟机镜像的存储环境,主要特色包括:api

1) 文件较大,通常为 10G 以上;安全

2) 单个虚拟机的 IOPS 和带宽要求低,通常在几十之内;服务器

3) 可用性要求较高。restful

通常来讲,在云计算环境下会存在大量的虚拟机,少则上千台,多则几万台甚至几十万台,虽然单台虚拟机所需资源较少,可是量变带来质变,总体对于存储的性能需求极高,该场景下为了知足全部虚拟机访问带来的带宽要求,使用传统存储的解决方案须要购置多套 SAN 或者 NAS 存储设备并分别部署,显然价格较贵。数据结构

云存储可构建统一的资源池,并可以动态扩展资源,并有效提高存储资源的管理和使用效率。结合虚拟机存储的使用特色,存储资源池可以使用 SAS 接口的磁盘甚至 SATA 接口的磁盘。

二、非结构化数据存储

业务系统在运行过程当中,通常会生成一些非结构化的数据,包括记录的系统运行日志、生成的一些临时文件等。该类型数据的特色包括:

1) 文件大小中等,通常几十 MB 到几百 MB 不等;

2) IOPS 和带宽要求低,通常是连续读写;

3) 可用性要求较高。

该类型的应用场景相似于虚拟机存储,差异主要在于虚拟机主要表现为随机访问,非结构化数据主要表现为连续访问。另外,该场景下的文件数量会很是大,文件大小也差异较大,从几 MB 到数 GB 都会有。

所以,云存储也可很好的知足上述要求,使用廉价 SAS 和 SATA 磁盘知足大规模非结构化数据的存储,并提供良好的扩展性。

三、数据库存储

业务系统运行过程当中另一个典型的存储应用就是关系型数据库,基本上全部的业务系统均须要存储用户基本信息、参数信息、业务交易信息等内容。结合数据库使用的不一样场景,包括联机业务数据库、批量业务数据库和参数库,相关的主要特色以下:

1)联机业务数据库:面向实时交易业务处理过程当中的数据存储和访问,主要特色包括业务访问并发量很高、实时性和可用性很高、天天数据量较大等,数据表内容可达到几千万甚至几亿条记录;

2)批量业务数据库:面向交易业务处理过程当中的非实时数据处理,好比说基于历史数据的统计分析,主要特色包括业务访问并发量不高、访问数据量较多、实时性较高等;

3)参数库:面向业务处理过程当中关联的用户信息、商户信息、业务参数等内容,主要特色包括数据增长缓慢、业务访问并发量不高、实时性较高等。

云存储结合固态硬盘 SSD 的应用,彻底能够知足数据库应用场景下的带宽和 IOPS 方面的性能要求。

分享二:

首先说下传统存储(包括 DAS 存储、NAS 存储、SAN 存储等)的困境,主要是管理不方便,容量扩展麻烦,从成本上考虑硬件成本和维护成本都很高。

若是使用云存储,优势仍是很明显的,开箱即用,扩容也比较简单。

至于哪些场景的话,主要是多媒体,音乐,图片,视频监控文件,软件,镜像,扫描件等其余海量文件的存储,这些均可以使用,主要仍是易用性跟性价比。

分享三:

从架构来看,云存储比紧耦合设计的传统存储有更好的横向扩展性,这样在容量和性能上有更大的弹性,另外云存储采用的纠删码技术也能够提供较之于传统 RAID 更高的可靠性,能够应对多个数据节点的同时失效。再者基于 x86 架构的分布式云存储较之于传统机柜式存储有更灵活的部署方式。市面上的云存储广泛采用低速 sata 盘,实际上,对于没有高性能要求的非交易型系统,对于这些系统产生的海量非结构化数据,云存储是个不错的选择。另外,从对海量数据的处理性能上来看,尤为是存储容量在几百 TB,甚至是 PB 级,文件数量在千万、亿量级的时候,传统的 SAN 和 NAS 实际上已经有了瓶颈,而采用扁平化数据组织方式的对象存储就有了很明显的优点。

分享四:

云存储相对传统存储能解决的问题:

1.节点级的高可用;传统存储只解决硬盘级的故障,对设备整机损坏没有防御

2.总体接入性能随容量线性增加,多节点并发读写的模式;传统存储的 IO 性能随着扩展柜的增长呈抛物线分布

云存储的适用场景:

1.开源云计算的后端存储,若是上 openstack,cloudstack,一般后端会配分布式存储而不是 SAN 存储。

2.海量非结构化数据存储,对于数 PB 的数据的统一存储,一般需借助分布式文件系统。

3.海量小文件数据存储,对于文件规模上亿的存储场景,一般使用对象云存储,以得到更高的 IO 性能和扩展性。

分享五:

从不度的维度能够有不少场景,几乎上规模的容量、性能及文件数量要求的大前提下,基本上均可考虑采用云存储实现。从常规容量及性能维度来看,场景有海量存储需求(如多媒体存储)、对容量、读写性能有同步横向扩展需求(超算或高性能计算)等。从数据结构类型维度来看,如非结构化数据、大型数据库、虚拟机存储等。

云存储主要技术路线有哪些?各有哪些优缺点?

分享一:

存储虚拟化:

存储虚拟化更可能是对传统块(FC SAN,IP SAN)的虚拟化。 其主要解决了企业内部传统存储资源没法有效进行存储资源整合和统一管理的难题。能够有效的提高总体存储资源的利用率和下降人员运维成本。

同时做为虚拟化网关,极大的方便了异构品牌平台存储间的数据集中和数据迁移。

不少存储虚拟化网关自己具备远超传统存储的企业级软件功能:好比thin,压缩,快照,clone,数据复制等。能够经过虚拟化网关进行统一的存储复制交付功能。

因此存储虚拟化的主要勇武之地仍是在传统IT环境及私有云环境。天然面向的也是高IO负载,低读写延迟等重要应用业务环境,好比数据库。是对传统IT环境中企业存储阵列的一个补充和升华。

SDS软件定义分布式存储:

为何对于分布式存储我要在开头加上“SDS软件定义呢”? 由于咱们这里讨论的是云存储关联的分布式存储。

分布式存储早多少年即有之了,而且不少都耳熟能详。好比EMC 的VMAX 高端存储阵列就是一种紧耦合的专有硬件的,硬件和软件相集成的传统分布式存储阵列。好比IBM 的XIV 高存储阵列也是硬件和软件相集成的高密度容量的分布式存储阵列。这些传统分布式存储阵列具备传统高端存储的高IOPS,低读写延迟优势,同时有具备分布式存储多副本,节点冗余自恢复等特点。

再说一说SDS 软件定义分布式存储,这个是云里面,不管是公有云仍是私有云都在炒的潮流。也是云存储的主流当家花旦。

通常的SDS 软件定义分布式存储产品功能协议支持都比较全:

A. 块block协议 给轻量级数据库,VM,提供高性能块裸设备。

B. 文件file协议提供相似NAS 的文件共享功能或是承载非IO性能密集型的应用。

C. 支持api调用存取object 对象,用来存储海量数据文件。

针对以上三个协议我要多说几句:

一、首先SDS分布式存储在block块协议这方面相比传统存储在高性能低延迟、成本控制及易管理维护方面没有任何优点。一样的一套oracle数据库采用传统存储TCO整体拥有成本方面有可能只是SDS分布式存储成本的1/2甚至更少,这个在之前多是误区,可能你们都认为开源的,或是软件定义的本身DIY搭的东西是最便宜的,其实不少时候事实恰好相反,开源的DIY的东西反而多是最昂贵的。

对于传统IO密集型数据库应用来讲,当前最好的存储模式仍是采用传统高端存储阵列,由于这就比如存储中的跑车法拉利,虽然价格贵,可是久经验证,在性能和稳定性方面绝对可靠。

SDS分布式存储当前由于三副本等缘由容量成本在超大规模如下场景成本优点不明显,甚至是劣势。性能方面仍是只能适用于opentask、VM、轻量级数据库场景。块协议广泛存在IO输出不稳定、延迟高等缺点。另一个缺点就是在企业级存储软件功能方面,好比快照、clone,复制等技术方面相较传统存储还不是十分红熟,没法在生产环境中应用。

可是SDS 软件定义分布式存储是将来的大方向,也是在逐渐成熟中,将来一统天下也未可知。

2.SDS 分布式存储在file文件协议这一块PK的对手也慢多的,像传统的NAS存储,愈来愈火的分布式或是集群文件系统,好比GlusterFS、GPFS 等,我的感受这一块SDS分布式存储会抢占不少传统NAS的市场份额,毕竟不少使用NAS的应用在IO性能和延迟方面要求低不少, 使用分布式存储的file协议,能够解决NAS 产品scale-out横向扩展不足的缺点。NAS 能应用的不少场景,一款优秀的SDS分布存储file协议应该也能够知足。

3.对象协议。

这个放在下文对象存储中一块儿讨论。毕竟多数SDS 分布式存储的底层就是调用对象来存储和读取数据的。块block协议功能和file协议功能都是间接调用基于的对象来实现的。

对象存储:

其实这个没有什么好说的。对象存储的出现就是为解决了互联网上存储海量大数据的问题。好比存储万亿的视频、图片,照片等。好比进行海量的数据归档,数据备份等。如今很流行的用法就就是用对象存储存储海量非结构化数据,而后进行大数据分析。

优势:对象存储其采用key-volume的扁平化存储架构设计,使用简单,调用API就能进行数据存储和读取。能够存储海量数据,这点传统存储和NAS就没辙。在海量数据场景中你只能选择对象存储。若是传统SAN存储是跑车,NAS是货车,那么对象存储就是万亿吨海上集装箱大油轮。对对象存储来讲,单个客户端的访问效率不高,延迟也很高。可是你架不住他海量并发呀,互联网上海量客户端并发访问,这个带宽和整体性能一下就上去了。

缺点:单个客户端访问效率低,延迟高。应用功能和场景受限。对象存储不支持随机读写操做,只能全读全写,其面向的是一次写入,屡次读取的非结构化数据存储的需求场景。

企业在分布式存储技术上主要是解决那些问题?而且技术产品选型上应该如何考虑?

分享一:

SDS 软件定义分布式存储支持三种协议方式:

A. 块 block 协议 给轻量级数据库,VM,提供高性能块裸设备

B. 文件 file 协议提供相似 NAS 的文件共享功能或是承载非 IO 性能密集型的应用

C. 支持 api 调用存取 object 对象,用来存储海量数据文件

虽然 SDS 分布式存储有不少中,可是仔细分析会发现不一样厂商的分布式存储都会有其清晰的市场定位和优点场景:

好比 solidfire 其主要定位就在块 block 协议,不提供 file 和 object 对象功能。其主要定位就是 7 成用来云 opentask,VM,2 成用在轻量级数据库好比 mongoDB,PG,1 成用来 IOPS 2W 左右的物理机。而且其核心设计里理念就是云里面保证 qos,单个 host 提供有限的 IO,其架构不适用于高带宽应用。 但其优点就是用丰富的 API,和云集成比较好。不能知足也不适合传统高性能数据库应用。

好比华为 Fusionstorage block 存储其定位也是在块 block ,主要提供高性能块存储,能够适用于通常的高性能数据库。可是也不支持 file 和 object 协议。其支持应用主机经过两种模式 SCSI 和 iSCSI 模式访问存储集群。

仔细分析其架构和 IO 传输路径会发现:单个主机在 iSCSI 访问模式下只能访问部分的存储节点,没法作到整个集群的 IO 并发响应。单个主机的 IO 路径和 IO 性能被限制在固定的几个存储节点,此模式下没法发挥出分布式存储的架构优点,整体使用方式相似传统 SAN 存储(这样还不如用传统存储来的高效和方便)。其余的分布式 IP SAN 存储只要使用 iSCSI 协议也都存在这样架构劣势。

Fusionstorage 采用 SCSI 模式访问存储集群时,才真正意义上作到对单个应用主机的 IO 处理的分布式并发处理响应。

因此说在玩分布式 IP SAN 存储时,对同一个存储产品,其支持的那种存储访问协议和模式的很重要。这甚至决定了你是把一套分布式存储当作传统存储在用,仍是在真正意义上当作分布式存储在用。

好比 WOS 其定位就是 objec 对象海量文件使用场景,其在块 bolck 场景应用上就不行了。

还有 ceph 其 块,file,object 协议都能提供,可是整体上地位比较尴尬。 块协议方面比不上专业厂商的分布式存储,file 功能还不成熟。 object 也比不上专业作 object 的厂商。 但好在其是开源的。

因此首先要明白你的业务类型和存储适用场景。针对你的需求来选择不一样的分布式存储来知足应用业务需求。

传统存储阵列分布式架构和 SDS 软件定义分布式存储架构的相同点和不一样点?各自定位有何不一样?

分享一:

二者都是分布式存储,主要是适用场景有所不一样。

差别分三个层面说,

1.硬件形态:部分高端的传统分布式阵列仍是控制器架构,然后者基本是直接跑在 x86 服务器上和计算融合在一块儿使用

2.冗余实现:有所不一样,前者更多用纠删码;后者更可能是作副本,也有先作 RAID 再作副本,纠删码比较少

3.产品的商业模式:前者属于一个完整的产品,一般来自传统存储公司或硬件设备厂商,例如 EMC 的Isilon,

后者主要给虚拟化提供支持,不多做为独立产品出现,更多来自软件厂商,例如如今 openstack 的各类后端存储,ceph,gluster,swift

前者优点是性能和可靠性,更适合专业的细分应用,好比广电行业的视频编辑应用、IO 密集型的数据库应用等;

后者的优点是弹性扩展、接口丰富、开源,主要是软件厂商在使用和维护

分享二:

这二者的第一个差别点是通用硬件和专有硬件。

SDS 明肯定义是基于通用硬件,大部分状况下“通用硬件”是指 X86 服务器。若是用车子打比方那就是量产车,上 4S 店就能买到的丰田大众宝马奔驰。

而传统阵列一般是专有的控制器架构,常见都是双控或多控,所谓控制器是一个为存储产品的使命专门设计制造的专有设备,有时候你也能够理解为嵌入式的软硬件一体设备,为存储这种特殊用途定制。一样用汽车类比那就是特殊用途车,越野暴改车。

分布式架构都是基于多个硬件节点,利用软件和其内涵的分布式算法有机地揉和成一个系统,向外提供高可靠高并发的服务。和传统存储相比,两种的“基底”硬件明显是不一样的。SDS 的硬件节点是通用型,天然硬件可靠性也比较通常。所以须要在软件和算法层面更多的考虑到硬件故障,上规模的产品一般在设计时就把设备节点故障当中常态处理,并不视为异常。而传统存储这边的硬件在可靠性上明显更强,对数据强一致性等指标更为重视。

从系统架构上看,SDS 有不少是对称式架构,全部节点配置都相同,标准化的硬件节点,像乐高积木同样自由增长,性能容量同步横向扩展。传统存储阵列作分布式仍是非对称式多,构建系统有多种规格和角色设定的节点,甚至是异构的。这种系统通常必须有一个控制/管理节点,所谓“机头”或者“存储网关”,下面再挂接“后端存储”,即各种阵列,异构兼容。

因为固态存储的普遍应用,基于通用 X86 服务器的 SDS 也能经过多节点聚合获得很好的性能表现,所以传统存储在性能上的优点再也不,二者都能提供给应用系统足够的性能。SDS 一般把原来依附于传统高端存储的企业级高级功能如快照克隆远程复制都提炼出来放到软件里,在某种程度上也提供了这些高级功能,但总体架构的变化,(SDS+计算虚拟化,二者再深度结合就变成 HCI 超融合架构),致使一些容灾备份实现机制有别于传统,提供了新的可能性,是否继续沿用旧机制值得关注。

从定位上来讲,我认为传统存储阵列的分布式仍是属于渐进式创新,在原来的传统 IT 环境基础上作的小步调整,和原有应用和系统配合度比较高,改动不大。扩展规模上相对来讲小一点。若是有系统改造的需求,这类架构是能够考虑的。

而 SDS 仍是有较大的变化,有点颠覆性创新的意思,架构变化较大,系统移植过去可以得到更好的扩展性,可以适应更大的系统规模,可是原来的旧系统不少没法利用。勉强连上也只能保证连通性,性能和高级功能就顾不上了,因此整体来讲可能更适合新建的系统。

企业在存储虚拟化技术上主要是解决那些问题?而且技术产品选型上应该如何考虑?

分享一:

主要是解决:

1. 异构存储的集中管理

2. 存储资源的池化

3. 为存储自动化建设蓄力

4. 为云环境准备存储资源

5. 提升存储使用和运营效率

6. 数据的备份和分层

……

因此啊,主要考虑:

1. 兼容性

2. 易用性

3. 对于性能的提高

4. 附加功可以不够知足二期建设要求

5. 安全性

6. 价格。。。土豪无视

分享二:

补充一点。丰富的软件功能性能也是一个重要的考虑点。

就拿 svc 和 vplex 来对比。svc 在软件功能:thin,快照,clone,压缩,数据复制等软件功能方面全面而且强大。最新版本的 svc 甚至直接支持将自身数据和快照经过 s3 接口直接上传到云和对象存储,进行复制和备份。

而这些偏偏是 vplex 的短板。vplex 缺少当今企业级存储必要的软件功能,甚至在这方面远落后于通常的存储阵列。如数据保护,压缩,分层,thin 等。最为奇葩的是居然不支持在 vplex 上作快照,clone 和复制。

这让 vplex 仅仅只是一个虚拟化网关功能。没法作到在虚拟化层面,对存储软件功能进行整合和在虚拟化层对外提供一致存储软件功能。可是就是由于功能少,复杂度下降,在稳定性和性能方面比 svc 有优点。而且 svc 集群不是真整意义上的分布式架构,而是分多个 iog 组每一个组内的两个节点是相似中端存储的主被模式。

总之若是你在存储虚拟化层不须要一些基本的软件功能,好比 thin,快照,clone 等,那你能够选择vplex 也能够选择 svc。

若是你想要一个完整的存储虚拟化解决方案。那么你没得选,只能选择 svc。

企业在应用对象存储技术主要是解决那些问题?而且技术产品选型上应该如何考虑?

分享一:

文件 NAS 存储的缺点:

读写速率低,传输速率慢:以太网,上传下载速度较慢,读写延迟比传统 SAN 存储高不少。

虽然说也能够存储海量文件,可是由于 inode,目录层级的限制,单个目录深度和存储文件数量是有上限的,分层文件结构的命名空间有限,没法在真正意义上作到存储海量数据。

块或 SAN 存储的缺点:

1.采用 SAN 架构组网时,须要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高。

二、主机之间的数据没法共享,在服务器不作集群的状况下,块存储裸盘映射给主机,再格式化使用后,对于主机来讲至关于本地盘,那么主机 A 的本地盘根本不能给主机 B 去使用,共享数据受到不少限制。

三、通常都是集中使用方式,一个主机分好多的盘。扩展性方面是硬伤。单个应用容量及其容易到达单台存储容量上限的限制。

对象存储综合了 NAS 和 SAN 的优势,同时具备 SAN 的高速直接访问和 NAS 的数据共享等优点,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。最最重要的是其接近无限扩展能力的,能够在真正意义实现非结构话数据的海量存储。其扁平化的存入和读取数据对象方式,使其使用方式简单,应用经过标准 API 接口进行调用,十分契合互联网大数据的存储。

对象存储典型使用场景:

  • 数据采集(情报、监视、侦察和合法拦截)
  • 数据采集(视频监控)
  • 数据备份、归档、版本管理
  • 数据协同(公共数据平台)
  • 数据源和数据分发(CDN)

对比传统存储解决方案的优点:

  • 架构简洁,易于维护,经济高效
  • EB 级扩展能力
  • 对象数量达万亿级
  • 高性能
  • 跨地域部署

分享二:

对象存储天生具有分布式的架构优点,扩展方便;另外它没有多层树级文件目录,采用查表式访问操做,小IO性能好,适用于海量小文件的应用模式。若是业务收益能够支撑 IT 投入,又有必定的研发维护能力,能够用开源对象存储方案本身搭建。

分享三:

1.解决跨地域多点协同数据访问

2.解决海量文件持续一次写入屡次访问的问题

选型上考虑数据保护的等级和成本以及初期落地的量级等因素。

另外运维的管理能力和售后支持团队也须要作为考虑范围。

尽可能选择通过经久考验的厂商品牌。

分布式存储和对象存储应用场景有哪些不一样?

分享一:

一般,分布式存储和对象存储是包含关系,

分布式存储是一种存储节点的物理组织形态,

分布式存储能够提供块存储、文件存储和对象存储服务;

是相对传统单机集中存储的概念。

对象存储是一种逻辑上的存储访问接口,

是指采用 restful 框架进行数据访问的模式,本质上也是一种轻元数据、功能简化的文件存储,对象存储在物理上一般是分布式的形态。

看一下上图你就知道

传统存储的局是否是愈来愈小了?

分享一:

我说一下我我的的经验。

sds 软件定义存储,分布式存储和对象存储是将来大的趋势这个必定是对的。

传统存储在近几年还会是主流存储。

为何?我只说快 block 这个方面。就拿我测试过得多家 sds 分布式块存储来讲吧。国产 ceph,华为fusionstorage,solidfire,hedvig 等。他们有个共同的特色就是不够成熟。展现 PPT 的时候一个比一个能吹,让你以为牛逼到爆。实际测试后基本见光死。

性能方面仍是比传统存储有差距,io 稳定性方面也较差,当前阶段只能用在 io 性能要求不高的轻量型应用上面,生产先不要想,先在测试上用用,而且是 io 要求较低的测试应用。

还有一个缺陷就是存储软件功能方面很是不成熟,快照 clone,复制彻底就是不能用,大多不支持一致性快照组。这些在传统存上平日常常的功能方案,你和 sds 软件的研发人员聊他们压根没有一致性快照组,对快照,clone 卷 overwrite 刷新这些概念。

分享二:

首先,若是定义为传统存储,而且固守原来的架构方式,甚至缺陷和不符合新型应用需求的特色,那么毫无疑问,它注定就是要被颠覆的,新技术打破传统,是历史的必然。

另外一方面,传统存储有它自己优势,结合自身的优势,有它命脉的传承,好比闪存,存储存储化产品,其实某种程度上是在传统存储领域的拓展,是传统存储的进步和突破,是具有沿袭的

特征的。

IT 架构就是经过不断改变,迭代,从而进步的。

原文地址:http://stor.51cto.com/art/201808/580810.htm

相关文章
相关标签/搜索