1 分层存储
分层存储其实已经不是一个新鲜的概念,而是已经在计算机存储领域应用多年。
其与计算机的发明与发展相伴相生。
在冯-诺依曼提出计算机的模型“存储程序”
时就已经包含了分层存储的概念。
“存储程序”原理,是将根据特定问题编写的
程序存放在计算机存储器中,然后按存储器中的存储程序的首地址执行程序的第
一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序结束执行。
在
这里的外存储器与内存储器,就是一个分层存储的最初模型。
分层存储(Tiered Storage),也称为层级存储管理(Hierarchical Storage
Management),广义上讲,就是将数据存储在不同层级的介质中,并在不同的介
质之间进行自动或者手动的数据迁移,复制等操作。
同时,分层存储也是信息生
命周期管理的一个具体应用和实现。
而实际上,将相同成本及效率的存储介质放在不同层级之间进行数据迁移复制在
实用性及成本上并不是有效的数据存储方式。
因此,在不同的层级之间使用有差
别的存储介质,以期在相同成本下,既满足性能的需要又满足容量的需要。
这种
存储介质上的差别主要是在存取速度上及容量上。
存取速度快的介质通常都是存
储单位成本(每单位存储容量成本,如1元/GB)高,而且容量相对来讲比较低。
相应的,存取速度慢的介质通常是为了满足容量与成本方面的要求,既在相同的
成本下可以得到更大的容量。
所以,从这方面来说,分层存储其实是一种在高速
小容量层级的介质层与低速大容量层级的介质层之间进行一种自动或者手动数
据迁移、复制、管理等操作的一种存储技术及方案。
一般来说,分层存储中,我们将存取速度最快的那一层的介质层称为第1层(Tier
1,依次为第2层,第3层等等。
理论上说,层级的划分可以有很多层,但是在实践中,最多的层级在4层左右。
过多的层级会增加数据及介质管理的难道及可用性。
因此在层级的设置上有一个
拐点,即层级达到一个特定的层数时,会导致成本的上升,而使得可用性、可靠
性都会相应下降。
通常层级的设定在2-4层之间。
如下图所示:
而另外一种分类,则是非易失性分层存储,或者叫外部分层存储。
此类型的存储介质一般包括固态硬盘(SSD)、机械式硬盘、磁带库等等。
而此类的存储介质分层正是我们所要关注的,如没有特殊的说明情况下,在此文档中所说的分层存储都是指外部分层存储。
一般来说,作为第0层的存储介质通常为RAM 磁盘(随机访问存储磁盘,其速度与内存同速,但是价格昂贵,使用环境基本上是特殊计算环境);第1层现在一般是SSD,第2层现在一般是SAS 15K硬盘或者相应的10K硬盘。
第3层可能有其他NL-SAS/SATA类型72000转的硬盘。
存储分层的核心思想就是,将各种硬盘组成一个大的虚拟池,举例:SSD一个RAID,SAS15K一个RAID,SATA 7.2K一个RAID 然后在将三个RAID组成一个虚拟池,虚拟池提供卷服务,通过映射,服务器可以访问到存储的空间,
客户可以对不同的业务(服务器)进行了优先级的设定以及生命周期的设定,也可以有系统自动识别。
针对不同的优先级,比如OLTP(如:ERP)=1,Office=2,视频文件=2,归档文件=0(0为不允许流动)
这样,在不同业务模型下,系统会根据业务优先级、业务访问频度不同的数据
实现数据的硬件层的流动。
最终的结果是,访问频繁的,优先级高的,数据尽可能的存储在SSD成,频繁
访问但是优先级不高的office,视频文件存储在SAS 15K层或SSD层,而归档
文档就基本保存在SATA 7.2K层。
设计很理想,实现总是受限客户的业务模型,如果客户业务层次如此分明的话,
那么无需自动分层存储,手动划分RAID,直接映射就好了,这样数据不流动,
反而效率更好。
如果是一个无优先级、生命周期设定的环境,那么最终的结果是,热点数据占
据SSD,这些热点数据可能是视频,但是可能会冲击运行着的OLTP(如:ERP),
导致最核心的业务变得缓慢。
如果是多层存储的话,那么存在大量数据从SATA 迁移到再从SAS迁移到SSD,
并且同时SSD将数据迁移到SAS,再从SAS迁移到SATA,周而复反,SSD很快
就损坏,并且整个存储系统不停的进行数据迁移运算,SATA/SAS等机械硬盘故
障率也会非常的高。
在现实世界中,最早做全数据流动是美国Compllent,当初牛皮吹破天,被啥存
储技术都没有的DELL收购,最后的结果是DELL收购后悔,买存储的的客户
更后悔。
自动分层存储已经名存实亡!
2 缓存加速
缓存技术的原理就比较简单,一般存储本身的cache价格非常贵,并且容量也小,
那么我们可以通过现在越来越便宜的SSD来扩大缓存,把SSD作为2级缓存。
自动分层数据是流动的,而缓存加速,只是将热点数据load到ssd中,SSD的
IOPS最高能到70万,全随机下也有2万,而SAS 硬盘最多也就200。
这中间
的差值是100倍。
使用全闪存阵列价格贵,并且并不是所有业务都需要运行在SSD上,通过2/4
块,400G/800G 高寿命的SSD来做二级缓存,这样IOPS也能轻松达到万级别,
这样您就实现了容量和性能的均衡。