前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >存储01-磁盘阵列历史

存储01-磁盘阵列历史

作者头像
大话IT架构
发布2020-03-31 16:26:16
1.5K0
发布2020-03-31 16:26:16
举报
文章被收录于专栏:大话IT架构大话IT架构

1.软raid

由于时代和磁盘技术发展的限制(单盘容量和性能发展缓慢),产生了raid相关技术。技术产生了,如何才能快速的来实现和进行部署呢?最简单最快的方法就是在操作系统层面实现或者在操作系统上部署raid软件(有点类似虚拟化里面kvm和xen的区别,kvm在linux内核里,xen是linux系统层面上的软件)。功能是轻易的实现了,但是性能呢,非常一般。早期阶段,CPU技术发展有限(也没有现在的什么多核超线程,频率也比较低),但raid计算又会消耗大量的CPU,造成CPU使用飙升。

咱遇到问题就想办法解决问题,不能偷懒和逃避,对不?此时迫切的需要一种新的解决方案:优化raid软件或用更强的CPU或用专用的硬件芯片来进行raid计算;软件优化已经没有空间了,CPU受限当时的技术也不现实,于是硬件raid卡出现了。

2.硬件raid卡

可以参见本公众号文章:“服务器03-raid卡选型及SSD和HDD对比”

硬件raid卡即现在我们非常熟悉的服务器的raid卡;其实他就是一个冯诺依曼计算机,有CPU、内存、存储、输入输出和OS(一般嵌入式系统中叫固件,芯片级叫微码);相当于一个专用的raid计算机通过PCI或者PCIE接口来服务我们的大计算机,想象力再爆发一下:如果把PCIE替换成IP或者FC网络,那就是现在的IP存储或者FC存储;姑且我自己创造一个名词,这种叫PCI或PCIE存储。

硬件raid比软件raid带来的好处显而易见:

1)有自己的专用CPU和芯片来进行raid计算,不占用系统CPU

2)降低了操作系统的复杂性

3)避免了raid软件对操作系统的依赖或者干扰

4)可以专注发展自己的一亩三分地(术业有专攻)

3.raid卡+jbod

由于机箱空间有限,可安装的磁盘数量受限,怎么办?专门做一个磁盘箱子呗,这个磁盘箱子就是jbod(磁盘+磁盘背板+主机接口)。当主机磁盘不够的时候,就加jbod箱子,一个不够就两个,两个不够就三个,以此类推。jbod箱子可以加,到了一定程度容量可以增加,但此时raid卡性能已经是瓶颈(好比咱们传统的火车一样:火车要想跑的快,全靠车头带;车头就是raid卡,车厢就是jbod,就一个车头,车厢不可能无限多的增加)。

又遇到了问题,怎么办?那就一个字,干。新的解决方案:换一个牛X的车头呗;由于时代和技术的限制,车头是造出来了,但是体积很大,继续像以前那样放人家服务器肚子里已经不合适了;那就只好独立出来呗。这个牛X的车头就是存储控制器。

4.存储自己的时代

从上面123的发展可以看出,raid技术源于服务器到目前的脱离服务器自立门户:一个新的时代到来了,即:存储和服务器正式分家了,存储是存储,服务器是服务器。

4.1存储单控制器

由于时代和技术的局限性,事物的演化都是从简单慢慢走向复杂;但是大家都喜欢简单,变的复杂是因为迫不得已。存储单控制器也是,和raid卡+jbod的架构完全一样,就是换了一个牛X的车头而已。

车头牛X了,可以拉更多的货跑的更快(即可以有更大的容量更好的性能);客户也非常高兴愿意花钱,买买买。但是随着客户把越来越多越来越重要的数据放入存储,这个时候就有一个非常大的隐患:存储控制器单点故障。你想啊,客户花了大价钱把全部身家性命都放你这个单控制器身上了,万一你那天挂了,客户不得砍死你。

不行不行,为了不被客户砍死;咱的给自己留条后路。晚上睡不着,想了半天:哎,TM的,天天打球,不是有替补嘛,咱也给存储控制器也找个替补。于是双控制器存储出现了,他是被逼的,成本增加了嘛---没关系,羊毛出在羊身上,咱单控便宜点,双控贵三倍,专挑土豪客户。

4.2存储双控模式一---A/P模式(Active/Passive)

这不为了避免被客户砍死,临时应急拼凑的方案嘛。所以价格贵了,故障恢复时间短了;但是呢,客户花了单控好几倍的价钱养了一个闲人,一年也用不着一会,但是工资还的照付啊;关键是客户也不希望用到这个闲人。不行不行,咱的赚良心钱,价格贵了好几倍,得给客户指条明路:即ALUA模式(Asymmetric Logical Unit Access)。

备注:存储双控active-standby模式下,虽然有2个控制器,但是平时只有一个主控制器干活,另外一个备控制器是替补;只有主发生故障的时候,备控制器才会工作。

举例:一个存储有20个lun,正常情况下A控制器20个,B控制器0个;假设A控制器故障了,那B控制器就接管A控制器的20个lun工作;A控制器心里话:我天天忙得要是,B控制器天天边上看着一点活都不帮,等我那天挂了累死你狗的;B控制器,兄弟,不是我不帮忙,我是真的帮不上啊,规则就是这样,我帮忙就越位了,容易造成事故。

4.3存储双控模式二---ALUA模式(Asymmetric Logical Unit Access)

A/P模式下,不是花了大价钱养了一个闲人嘛,只有一个人干活另外一个人看着。这从资源利用和管理上也说不过去啊,凭啥同样的工资我干活你不干活,而且你工资还比我高(双控存储比单控存储贵不止一倍)。不行,咱的把他利用起来;不是人家不干活,是咱们管理思想出了问题,管理思想要变通。那就每人一半工作+相互备岗:即平时各干各的,当一个人生病请假了,那剩下的一个人需要把所有的工作都顶上;病好了回来的后,然后工作再还回去,还是一人一半;两个人是相互平等的,没有主备关系且是互备关系。

举例:一个存储有20个lun,正常情况下A控制器10个,B控制器10个;假设A控制器故障了,那B控制器就接管A控制器的10个lun工作,此时B控制器压力非常大,因为不光要干自己10个lun的活,还要干A控制器的10个lun活。累啊,TM的赶紧修好上线,累死LZ了,要不然LZ也要生病了。

4.4存储双控模式三:A/A模式(Active/Active)

ALUA模式下,正常情况下:AB控制器各干各的活。看起来挺好的,符合常规也公平,但实际情况中不见得真的是这样。比如还是每个控制器10个lun的工作量,但是A控制器的10个lun刚好是数据库用,iops和随机读写特别忙;B控制器的10个lun刚好是存小电影的,一年也看不了几次。这就导致A特别忙,B特别闲。不行不行,管理思想还的变通一下:AB两个控制器工作量尽量保证一致,这种模式就是A/A模式。ALUA模式下,是以lun定工作量的;A/A模式下不仅以lun,而且还引入了其他因子:如iops等。即A/A模式下,lun数量和iops为总工作量,有肉一起吃有活一起干;平时基本上还是各干各的,当一个控制器特别繁忙的时候,通过协调可以把工作量丢给另一个控制器干,大致上维持每个控制器工作量相当。

4.5双控模式下的弊端

火车跑的快,全靠车头带。单控模式下,相当于一个车头带了好多车厢,即一个控制器带了好多个jbod磁盘扩展柜。双控模式下,相当于两个车头带了好多车厢,即两个控制器带了好多个jbod磁盘扩展柜。

车头的能力总是有限的,虽然车头可以升级换代,但是总有遇到瓶颈的一天。比如低端存储的控制器都是那种小盒子(CPU+内存的能力都很弱),高端存储的控制器是两台小型机(如IBM的DS8000系列)。其实说到底,还是架构的局限性所导致的:只能scale-up而不能scale-out,scale-up再牛X总有到头的一天。所以IBM的DS8000是双控存储最后的辉煌,目前核心存储都已经迈入scale-out的架构,即多控制器的各种分布式存储。

4.6多控存储的时代

火车跑的快,全靠车头带的时代已经过去了;现在正式迈入动车和高铁的新时代(每节车厢都有自己的动力,多节车厢通过高速网络连接起来,接受统一调度对外体现为一个逻辑存储)。

市场上的分布式存储代表性的产品:

传统厂家的产品:EMC的XtremIO和isilon等

开源世界的产品:glusterfs/ceph/hadoop(hadoop的hdfs也算存储的一种)

新兴厂家的产品:xsky/smartx/路坦力(xsky底层是ceph,可能进行了优化)

5.总结

分久必合,合久必分:存储和服务器完美的展现了分合规律。存储源于服务器到自成一脉独立发展,到现在的又合并到服务器。存储自成一脉的时候,硬件都是专用的,成本非常大(研发、设计、开模具、生产、销售;如果出货数量不大,铁定亏钱,这也导致存储是个高门槛行业);但是到了现状的分布式多控制器时代,硬件这个门槛已经没有了(标准的X86服务器),存储的价值更多的是体现在软件研发和算法及架构上。

想想早些年,华为为了得到存储技术,与赛门铁克组成了华赛;后来又把华赛收购,到现在华为的存储发展为行业第一第二。早先年,EMC拿着winxp+一个raid软件,风光了20多年了。到现在存储的百花齐放,传统的、创业的非常多的存储公司。

目前的存储,硬件趋于X86标准化架构,成本极低;核心在于一个公司的研发和算法及架构上。就说xsky和smartx和路坦力,那硬件盒子没几个钱,真真值钱的是他的软件和算法和架构上。这也是EMC被dell收购的原因之一,因为存储行业竞争激烈,头部优势已经不太明显。

存储的内部架构后续篇章后续发布,敬请期待。

6.存储入门的一点建议

学习任何技术,务必要学习技术的发展历史,这个对个人学习进度和职业发展非常有利。学习的三个阶段:

1)看山不是山---懵逼阶段,啥也不懂,任人忽悠

2)看山就是山---基本入门了,给你讲讲单产品架构,能理解但是还不能全盘贯通

3)看山不是山---重点是在架构和发展趋势上;任何新品,不要给我花里胡哨的东西,讲架构讲优势谈算法。看产品说明,能猜到里面架构的90%以上。

个人原创:微信号---it_beijing

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话IT架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档