查看原文
其他

为何出现软件定义存储

2016-10-28 Sam 十万个IT为什么
         SDS
【摘要】
软件定义存储(Software Defined Storage);出现背景: 应对数据暴增,优势:成本降低到普通机架式服务器硬盘的价位, 兼容各种硬件的开放性, 可在线横向扩展;
哪些新的技术显著地改变了存储架构: SSD, SDS, CPU 多核技术, 高速网络, 大容量服务器和磁盘, 多副本存储方式。
为何出现软件定义存储?
人类各项发明、创新, 大多都是为了更加的高效、 方便、灵活,并且节省成本。 例如,从种植业、畜牧业的出现,到蒸汽机的发明, 到自来水、 集中供电的出现,再到互联网的出现(信息传递更快更高效,更省成本) ,无一不是如此。
IT 也不例外, 以企业级存储为例,近 10 年来逐渐出现的自动分级、去重、压缩也是为了更高效地使用存储资源,更节省成本。 而最近两三年,软件定义存储的出现, 依然是为了这个需求。伴随着需求, 还有两大背景:
一是,随着个性化、物联网、 万联网的发展, 数据以前所未有的速度迅猛增长, 数据的存放、管理、优化、利用成为难题, 用户面临着如下挑战:存储利用率低, 数据僵化在某些硬件组件里,难以提供随需动态变化的服务等级,缺乏精确的控制,部署和调整存储资源需要经过复杂的流程(例如需要应用管理员与存储管理员等进行协调),自动化程度低,对请求的响应慢…
二是,虚拟化、云计算和硬件技术的发展,使得软件定义成为可能;在此之前,存储用户也希望更加高效、简单、灵活,且成本较低,但十年前, SSD 和高速网络尚未出现或发展不够,分布式存储难以堪当重任;彼时虚拟化云计算还未出现或者尚未成熟,从存储中调用控制信息给前端应用或 OS 使用,去实现灵活敏捷的存储资源的部署,在那时还不是那么迫切。
随着虚拟化和云计算的普及, 用户的思维方式也发生了转变,逐渐意识到,快速、敏
捷、灵活地获取计算资源已经成为可能, 并且逐渐要求能按需使用,按需付费。 因
此, 做为虚拟化和云计算里重要的组成部分,存储也应适应新的需求而不断完善。
下面围绕这这两大背景展开阐述:
我们先来看一下, 在物联网、万联网( IoT, Internet of Things) 的伴随下, 未来数字宇宙的惊人变化。
我们知道:
KB= 210 x Byte ;
MB=210 x KB ;
GB=210 x MB ;
TB=210 x GB ;
PB=210 x TB ;
EB=210 x PB ;
ZB=210 x EB ;
IDC 在 2012 年预计,到 2020 年数字宇宙规模将超出其在 2011 年的预期,达到 40
ZB, 如下图所示。
40 ZB 到底有多大呢? 假设地球人口按照 73 亿计算, 40ZB 相当于地球上人均 5600 GB
2014 年 4 月, IDC 发现数据的增长超过其在 2012 年的预期, 预计 2020 年将达 44ZB 的数
据量, 比 2012 年的预估增加了 10%。
有趣的是, 在整个全球的数字宇宙中, 2017 年新兴市场(Emerging Markets)的数据所占全球数据的百分比,将首次超过成熟市场(Mature Markets, 也即指发达国家和地区)。

预计, 2014~2020 的 6 年里, IT 从业人员仅仅增长到 1.285 倍。 平均每个 IT 人员管理的数据量从 230GB 增加到 1231GB, 5 倍多!
这是好消息? 因为, IT 人员将普遍受欢迎;
还是坏消息? 因为, IT 人员会非常忙;
因此,做为数字的载体 - 存储,变得日益重要。 对于 IT 人员而言, 他们对于存储的诸多要求中, 简单易用也变得日益重要。
可以看出, 过去十多年甚至二十多年里, 数据的增长速度在很多时候超越了摩尔定律(半导体芯片上集成的晶体管将每一两年翻一番) 。
从硬盘厂商希捷的一份报告可以发现: 在企业级 SSD 普及以前,存放数据的盘, 无论性能还是容量,与 CPU、内存比较, 都发展得异常缓慢。以 1987-2004 年为例, 17 年间, CPU和内存的性能提升了 200 万倍! 而磁盘仅仅提升了 11 倍!
二三十年前, CPU 的处理能力较弱,内存较小,单块磁盘的性能和容量都较小。 为了不抢占宝贵的 CPU 和内存资源,也为了提高数据的性能、 可靠性(如 RAID 保护) 、可用性(如快照,容灾, 双活等) 、 扩展性, 以及提供方便易用的集中管理, 诞生了外置磁盘阵列(也叫集中存储), 阵列本身自带智能控制器, 能够组织管理数据,并提供快照、容灾等高级的软件功能。有些高端存储甚至能在一个单一阵列里提供 1000 乃至数千块盘。
然而,近几年来,新的技术显著地改变了存储架构。包括:
1、 SSD:延时从磁盘的毫秒级缩短到亚毫秒级(0.1 毫秒),性能从单块 15K 磁盘的 180 左右IOPS,猛增到单块 SSD 的 8000 IOPS(外置磁盘阵列),甚至到单块 SSD 的 36000IOPS(内嵌在服务器里的 SAS 或 SAT 接口的 SSD,或者 PCIe SSD);闪存价格的下降速度比硬盘更快,根据 IDC 预测,两者价格曲线将于 2015-2017 年出现交叉,届时单位 GB 的 SSD 的价格甚至低于单位 GB 的 15K 磁盘的价格;
例如, 2014-04-30, SanDisk 发布世界上第一款 4TB SSD,并计划 2015 年发布 8TB, 2016 年发布 16TB SSD;2015 年 3 月, SanDisk 推出的 InfiniFlash 全闪存阵列里内置了 64 个单卡容量达 8TB 的闪存卡; 同月,在美国 2015 OCP 峰会上,来自中国的初创公司 NetBric 全闪存阵列也是内置了64 个 8TB 闪存卡。如此看来,单盘 SSD 容量超过单盘的磁盘容量,指日可待。
2、 SDS: Software Defined Storage,也即软件定义存储。由于各大外置磁盘阵列的存储厂商的存储控制器(包括 EMC, IBM, HDS, DELL 等)都很早或已经转向 X86 架构,各个部件都逐渐采用业界的标准硬件,因此硬件已经趋于同质化,存储厂商也早已开始比拼丰富的软件功能。早在数年前,许多厂商已经逐步将原来高端存储才有的功能,下移到中端甚至入门级存储。从 2012 年开始,以分布式存储为主的软件定义存储开始为大家所知,并将逐渐成为未来 6~15 年的主流。基于服务器的分布式存储又名 Server SAN,它是由多个独立的服务器内嵌的磁盘或 SSD 池化组成的一个存储,也能提供外置磁盘阵列的功能;
Server SAN 多采用类似云计算、大数据(例如 Hadoop)的多副本数据存储方式,颠覆了传统外置磁盘阵列的 RAID、快照、复制的数据保护方式,牺牲容量来赢得高可靠性。但是,由于 Server SAN 的盘的价格与原来服务器内置的普通盘毫无两样,因此单位 TB 的成本远低于外置磁盘阵列。
3、 CPU 多核技术:服务器的 CPU 多核早已被业务应用利用起来,尤其在虚拟化环境里,多核处理器功不可没,既提高了处理器利用率,也提高了单台服务器上用户对更多 I/O 的需求,这其实也驱动着底层存储需要变革。如前所述,绝大多数存储控制器采用了 X86 架构,但真正利用其多核处理 IO,从最近三年才开始。
4、高速网络技术:分布式存储借助于节点之间的缓存(用 SSD 存放)的同步复制来确保数据的冗余性,也得益于近些年来网络的高速发展;通常推荐采用万兆网络,甚至有的采用四万兆(40GbE) 的网络。目前,万兆网络的延迟非常小,大约在 100 微秒左右,远小于PCIe 闪存的延迟 1 毫秒;如果采用 RDMA 技术,延迟能更小;
5、大容量服务器和磁盘:分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持大存储容量。例如,SystemX3650M5 最多 26 个 2.5 寸近线SAS 盘,可支持多达近 100TB 的裸容量;另外,单块的机械磁盘容量也越来越大,例如,2015 年 03 月, HGST 首次向公众展示了 10TB 的机械硬盘;这样, 不远的未来, 仅凭服务器内置磁盘,即可支持 100 多 TB 的裸容量。 如果 SDS 还支持服务器连接 JBOD、 直连存储来进行 Scale Up(纵向扩展),容量就更大了。
6、 分布式存储的技术逐渐成熟。面向对象存储的技术逐渐成熟。
7、 虚拟化和云计算要求更智能的存储,能够调用其控制信息, 配合上层更灵活敏捷的部署存储资源。
在这些技术的推动下,软件定义存储(包括 Server SAN)已经或将逐渐普及开来。 目前,在这些技术的推动下,软件定义存储(包括 Server SAN)已经或将逐渐普及开来。 目前,在市场上,已经有很多 SDS 存储公司或方案,如国外较为知名的, 都至少有 7 家以上。
最后总结一下,为何出现软件定义存储?
简而言之,随着用户需求的变化(因为数据激增),技术的变革,软件定义存储能够提供
给用户更快的性能,更高的灵活性和开放性, 更强的扩展性,更简单的管理, 更少的投入。
以 Server SAN 为例,
从投入成本看:由于省却了外置磁盘阵列的存储控制器, 存储光纤交换机,服务器 HBA 光纤卡, 仅硬件的投入,即可降低到普通机架式服务器硬盘的价位。它将传统存储的专用硬件,转变成通用硬件,通过融合计算,存储达到降低成本的目的;
从开放性看: 只要通过兼容性验证,它支持业界标准的硬件, 如服务器、 SSD、磁盘、 IO控制器,并且能在最快时间采纳新的硬件, 灵活性极高;
从扩展性看: 分布式的存储,都能支持在线的横向扩展,能自动地在一个资源池里性
地、同时地增加计算资源和存储资源,使用户获得可预测的性能和容量。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存