2743|1

6419

帖子

17

TA的资源

版主

楼主
 

(转)存储的三种阶段 [复制链接]

转自http://mp.weixin.qq.com/s?__biz= ... NTYzMw==&scene=6#rd


本文只是我自己的个人想法,不代表任何公司的意见,也不一定正确。
今天存储有很多新名词,比如:软件定义存储、流动数据、数据分层、对象存储、全闪存阵列等等,而各种存储品牌也层出不穷,尤其是在软件定义存储。一个十几个人的公司就可以做出以前高大上的存储,而且还有着这样或者那样的优势。大家都在预言大象的倒下,无数的软件定义存储公司期待着可以从中分得一杯羹。
下面的叙述省略了一些细节,有些用词没有严格按照定义,一些疏漏的地方还请大家多谅解。
存储的三种阶段存储的第一阶段“服务器内部存储”
这里说到的服务器内部存储指的是服务器里面的硬盘,从机械磁盘到SSD,从SATA到NVMe。通常被本服务器的操作系统所使用,包括物理机和虚拟机,数据流向也很简单,从存储块到总线再到CPU再交付给操作系统和应用程序。
于是各种应用对存储的要求不同,从典型DELL第十一代服务器R510开始(大致),各个服务器厂家开始争相为同样的CPU搭配不同的硬盘组合,从2个2.5寸到超过60个3.5寸,,甚至有1.8寸的SSD和3.5寸机械盘的组合等等,各个厂家脑洞大开,仿佛同样的尺寸多塞2块盘就可以逆转市场。
但是,每一代CPU的升级都带来了一堆的服务器型号,就那么2个CPU加上12到24条内存。然后服务器厂家基于市场、客户、应用、竞争等想法造出数十种服务器。


存储的第二阶段“服务器外部存储,SAN存储”
在服务器还采用PATA硬盘和SCSI硬盘的时候,想要拓展硬盘数量是一件很困难的事情,FC协议的出现可以说在一定程度上解决了这个问题,虽然价格不菲。SAN的出现可能是基于以下几种原因。
扩展存储容量的需求,在SCSI协议的时代,一个SCSI卡可以挂12个盘(SCSI identify0-15),当时一个盘146G,要一台服务器想要扩展足够数量的存储空间是很痛苦的事情。
交换式数据网络的需求,SCSI是并行总线,很难延伸到机箱外部,更不可能造出一个交换式的Fabric。
数据共享的需要,多主机需要共享一份数据,共享一份数据以后,可以提高数据的处理能力,提高计算的冗余。原有的SCSI协议不能很好的解决数据共享。
当时以太网是千兆,小于SCSI协议的带宽,而且要把SCSI协议封装到Eth协议里需要消耗大量CPU运算,不可能实现。
通过存储控制器把硬盘存储组合在一起再以LUN的形式向服务器提供需要的存储空间。从FCSAN存储的出现到现在,存储软件功能、前端协议、控制器互联、后端硬盘协议等等一直在慢慢的进行着变化。不变的是结构基本上没有变化。成本也一直比较高,比如每GB机械硬盘的成本、每GBSSD的成本、每IOPS的成本、每个服务器的连接成本、软件成本、运维成本等。
存储的第三个阶段“软件定义存储”
随着虚拟化技术的进一步发展,10Gb网络的普及,可不可以把每一个服务器内部的硬盘组合在一起,然后按照需要分配给每个物理机的客户机(guestOS)或者应用呢(无法按需分配给物理机)?然后有了Nutanix,VSAN等产品出现了。
它们的缺点

服务器内部存储
服务器内部存储是目前速度最快的存储结构,从介质到CPU之间距离短,响应速度快,带宽高,基本没有瓶颈,但是它的局限性也是显而易见的:
1.        数据不易被其它物理机上的应用使用(SDS在一定程度上解决这个问题),存储和CPU紧密耦合在一起,如果需要访问数据就需要通过上层文件系统来访问(典型的是NAS)。
2.        单主机限制了数据的可用性,比如该主机需要关机,那么这些数据是否也离线呢?
3.        前面我们说过同样的CPU有这十几种机箱来满足各种应用需求,如果用户今天买的是2个硬盘的高密度计算型服务器,如果2年后想改变服务器角色,比如改成存储型服务器,但是只能通过外挂JBOD来实现。

SAN存储
协议上主要有FCSAN ,IPSAN等,FC SAN的好处我就不多说了,但是缺点呢?大概有以下几点。
1.        首先是成本高,这几年大家头破血流的要做存储系统,很大的原因是利润高,随着国内的存储公司越来越多,成本也在不断的下降。新的缺点却出现了。
2.        SAN存储成为整个方案的性能瓶颈。以前SAN主要安装机械硬盘,控制器性能有足够的余地,现在随着SSD越来越普及,SAN控制器和存储软件成为整个存储的最大的瓶颈。
为什么说SAN存储有性能瓶颈呢?如下图(图中每一个绿色代表一个主机)
我们用最简单的方式描述一个4台服务器共享一个FCSAN存储的环境,在这个结构里面,从CPU到FC交换机基本上没有瓶颈,FC交换机也是无阻塞的交换网络,也可以理解为没有瓶颈。但是在控制器开始,控制器所能提供的IO能力是基于存储软件的性能和控制器硬件的能力。毫无疑问的是,控制器无论如何也无法突破自己CPU的带宽。在机械硬盘的时代,由于机械硬盘很慢,控制器并不是一个瓶颈。可以随着SSD的普及。控制器成为一个不可逾越的障碍,如下图
只要有控制器,就没有办法绕过这个瓶颈。
软件定义存储
软件定义存储中常说的一句话是把“服务器内部的硬盘整合在一起,形成资源池”但是请大家想一想,服务器内部一定要有硬盘么?谁规定了服务器内一定要有硬盘?把硬盘资源整合成资源池是谁来做的,维持这个池子需要消耗多少资源?这个池子的效率和稳定性如何?目前的软件定义存储可能有以下几个缺点:
1.        长延时、低IOPS,软件定义存储在数据写盘的过程较长,其中经历若干次协议转换,和若干层数据处理。不可避免产生较长的延时。
2.        计算资源消耗,每次IO都需要多层次的OS以上层面的软件参与处理,不可避免的消耗大量的CPU资源,试想一下,100台服务器的SDS环境,50台服务器的计算资源用来维持这个池子。
3.        高负载下的稳定性,由于软件定义存储的结构,比如Nutanix用一个guestOS来维持所有其他guestOS存储的IO。一旦负载增大,最有可能的就是争抢CPU资源,结果可能是灾难。
4.        软件自身的稳定性对数据一致性、完整性可能带来一系列潜在的风险。
也许大家会说,在给它们一些时间,产品会慢慢成熟,其实是不会的,软件定义存储是没有错的,错误在于现在的软件定义存储不是软件定义,而是软件来处理存储数据。举一个简单的小例子,如下图:
实际上搬运工就是底层的存储硬件,BOSS就是文件系统(此处是统称)。不能因为存储硬件不够智能就让文件系统来处理所有的IO。我相信大家会说,软件定义存储应该不会那么傻吧。
以nutanix为例,我们来看看软件定义存储在弄啥呢?
实际上该图应该改成,ControllerVMUserVM 并列,User将数据通过Hypervisor交给ControllerController在通过Hypervisor将数据向底层写3次,1次给本地,2次给远端。
数据流简化如下:









此帖出自FPGA/CPLD论坛
点赞 关注
个人签名training
 

回复
举报

6419

帖子

17

TA的资源

版主

沙发
 
想快么?不可能。


我们到底需要什么样的存储?
前面和大家分享了各种存储绕不过去的坎,一个个坎都是历史技术不断累积的。
这个结构具有如下几个特点:
1.        存储介质不属于任何一个服务器,它们是完全独立的。
2.        任何一个主机或者CPU可以访问任意的存储块。
3.        没有集中的存储控制器。
4.        OS不知道下面的组成,比如OS认为自己掌管着500T的硬盘,但是这500T究竟怎么组成的OS并不知道也不需要知道。
5.        CPU不需要负责维护存储的组成,也不需要负责读写操作,它只知道自己可以访问的存储空间。
上图中,中间紫色的究竟是什么呢?
首先要有一个OS普遍支持的存储协议,其次这个协议有可以使用的多主机交换结构,最重要的是成熟的技术。目前满足上述条件的目前是SAS。最终实现的效果如下图。
上图中多了一个DHBA,DHBA是什么呢?
1.        DHBA卡为OS提供一个或多个虚拟出来的的物理卷,OS 会把该物理卷当作本地的硬盘来操作,该物理卷看起来就像一个SAS大硬盘;
2.        DHBA将OS写入到物理卷的数据分散分布到Fabric的硬盘上,可以按照策略需求来实现分布的方式来实现可靠性、安全性、高性能、数据保护、去重等高级功能;
所以“这是什么呢”的部分就是上图的紫色的DHBA加上SASSwitch。
在这样的环境中软件定义存储是有效的而且高效的,因为软件在告诉DHBA做什么。而不是软件加CPU替DHBA做什么?DHBA就是那个听话的、耳聪目明的搬运工。
这个图上,我们希望服务器最终会变成CPU板(内存CPU 和IO接口),很少的几种服务器就足够了。可以是X86,也可以是ARM或者是PowerPC。
当然,这个方案也很好的解决了传统服务器的散热问题,如下图,原来硬盘要放在服务器前面,阻碍了气流通过CPU。现在硬盘和CPU绝对不需要放在一个机箱里面了。也证明了我之前说过的话,“谁说服务器里一定要有硬盘”
这个方案有什么优势呢?我想说,你希望的都在里面。
未来会怎样?我知道会有人说PCIe, NVMe等,接下来也许是PCIe,也许是其他新的协议。明天谁知道呢?

写在后面的话:
本文作者最初入行选的是计算机网络,第一份工作遇到2个主管,让我受益匪浅,第一个是王仕,刚工作的前几个月,记得他曾经问我,“你现在每天花多长时间工作,多长时间看书”“8个小时工作,3个小时看书”“那怎么行,你要花8个小时看书,3个小时工作”。第二个是王立仁“RFC至少要看300篇。”可以想象,他们的教导,前几年工作的积累,让我养成学习的好习惯,也少走了很多弯路。
后来第二份工作的2个老板一个是Jason,一个是Ang,Jason是我所有老板中最厚道的一个(没有之一),Ang的俩句经典的话也让我常常说给别人听“丢人不丢钱就好了”“你有多少个客户?有多少个客户ID?多少客户下单?多少个客户询价?你打算怎么办?”
后来的工作中有华为的某资深老主管,踏实、认真。
某芯片公司的科学家,为人真正、热爱技术、虽然他平时比较忧郁,但是可以看出他内心的一团火,和他有种相见恨晚的感觉。
后来我也常常对自己的小兄弟们说,“每一份工作最难熬的是前三个月,努力三个月后,一切都会好起来。”“如果有一个新工作给你2倍薪水,一定要去试试。”“经常写写简历,浏览招聘网站,想想自己还有什么不足。”
作者工作12年,做过网络售前工程师;服务器、存储售前;海外终端产品销售(手机、数据卡等);企业级产品的区域售前经理;某公司亚太区服务器产品线经理;某芯片公司销售经理(中国数据中心);某公司解决方案顾问。
Peter Cui
Peter_Cui@outlook.com





此帖出自FPGA/CPLD论坛
个人签名training
 
 

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表