SSD+Flashcache 的理解 RAID了解

1. SSD

最近在微博上发现淘宝的存储部门一直都很关注SSD部分,最起码说明了SSD在提高存储性能方面确实还是有诱惑力的,价格高是个问题,怎样运用可以让SSD发挥到最高的性价比,这才是关键。分级存储,许多传统厂家都有相应的解决方案,EMC的貌似是叫FASTVP,Netapp、IBM叫什么给忘了,回头查查补上。

2012伊始,EMC闪电计划的曝光又带来了“雷电计划”,都是关于SSD的,我想在存储器有大的飞跃前,SSD还是有前景的,有某些专家说SSD只不过是一个过渡期,在我看来这个过渡期还是很有潜力来挖的,要不为何会引来群雄参与的呢,EMC的闪电计划是关于PCIe接口的EMC闪存卡采用的SIC,想价格也比FusionIO的要高很多吧。有了设备和软件,EMC的这条线规划似乎也很完美了,将会继续关注他的“雷电计划”。

FlashCache呢是Facebook技术团队的又一力作,最初是为加速MySQL设计的。Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用。为什么是用于加速MySqL呢,这个就涉及到数据库的专业知识了,传统磁盘的随机写随机读效率都相当低下,需要进行机械化的寻道读取,尽管很多学术论文对数据库优化中都曾经在这些方面大做文章。那么SSD的存在似乎很好的解决了随机读写的问题,因为SSD是固态存储器,即不存在机械寻道和磁化问题,而是通过电位标注01,随机读写效率都相当优秀。

但是SSD有个先天性缺陷,那就是写入数据之前必须先进行擦除,这是为什么呢,这和SSd的原理有关,电位的转化问题,就是先都空间全部置位,在进行加电变化每个cell的正确电位,那么势必会影响SSd的寿命,相当于一次写转化为了两次写。如果SSD的使用没有进过良好的优化,那么会SSD的使用寿命将会受限,因此损耗均衡算法也是SSD研究关注的重点,貌似现在应都有了成熟的解决方案。

尽管SSd设备都具备了良好的损耗均衡,但是使用者都是熟知SSD的缺陷,所以不得不小心应对,因此SSD在存储中的位置,通常作为读缓存,用于提高系统的IO性能。FlashCache便是以此为目的的使用SSd设备。

FlashCache是Linux的一个模块,可以动态地加载在Linux中,。Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热点数据的缓存。用SSD作为缓存,通过将传统硬盘上的热门数据缓存到SSD上,然后利用SSD优秀的读性能,来加速系统。这个方法较之内存缓存,没有内存快,但是空间可以比内存大很多。(SSd的价格高于磁盘,低于内存)

示意图如下所示:

Flashcache_orczhou

/dev/sdb是SSD设备,/dev/sda是传统的磁盘设备,加载了Flashcache之后呢,会将这两个设备虚拟化为一个带有缓存的块设备/dev/mapper/cachedev。



2.Flashcache

Flashcache是Facebook技术团队的又一力作,最初是为加速MySQL设计的。Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用之。

1. Why Flashcache

随着时间的流逝,网站上的数据一直在不停的积累。如果你经营的只是一个博客的话,这不会是问题,因为10G的空间,大概就够你写一辈子了(如果放在硬盘上,其实一辈子很短)。如果你恰巧在一个快速增长的公司,数据会越来越多,从MB,到GB,再到TB。

如果将这些数据全部放在大容量的SATA、SAS盘上时,会发现性能(响应时间)不够;如果全放在SSD上时,又会发现成本很高。即使公司能够大气 到都放到SSD上,你会发现1TB的数据里面可能只有200G是经常被访问的,300G可能偶尔被访问到,最后剩下的500G可能已经成为历史数据了,几 乎不被访问到,如果全部都放在SSD上有略有浪费。于是就有了Flashcache

Flashcache一个非常不错的软件(准确的说是一个Linux的模块), 可以动态加载。Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热门的缓存。Flashcache是另一种缓存, 一般用SSD作为介质的缓存(一般的缓存用的是内存),通过将传统硬盘上的热门数据缓存到SSD上,然后利用SSD优秀的读性能,来加速系统。这个方法较 之内存缓存,没有内存快,但是空间可以比内存大很多。

本文是一个关于Flashcache的初步介绍。

2. 谁适合用Flashcache

数据量很大(例如4TB),热门数据也很大(800GB),不必要或者不舍得全部买内存来缓存。

3. 谁 适合用Flashcache

数据量不大的话,一般Flashcache就没什么用武之地了,内存就可以帮你解决问题了;

不差钱,买内存呗;

另外Flashcache的加入也使得系统的复杂度增加了一层,如果你坚持KISS原则(Keep it simple, Stupid!),也可以弃用之。

4. 基本原理图
[attach=736]

上图中,Flashcache将普通的SAS盘(/dev/sda)和一个高速的SSD(/dev/sdb)虚拟成一个带缓存的块设备(/dev/mapper/cachedev)。后续还将会有更多关于Flashcache相关的文章出现,敬请期待。

5. Flashcache是否只是一个过渡产品

对于当前,PCI接口的SSD价格还十分昂贵,而随着时间的推移,价格会降;另外,根据摩尔定律,未来会有更快的设备出现,所以Flashcache是一个“持久的”产品,还只是一个过渡软件,这并不好说。

关注未来新技术的发展吧:)

参考:

1. Facebook / Flashcache

2. Releasing Flashcache of Facebook

3. flashcache-doc.txt

PS:写完整篇文章,最大的收获是:发现人的一生其实很短、很短,可能连1GB都不到。

===================================

http://blog.csdn.net/kidd_3/article/category/905673  

===================================


6. RAID

(1). RAID简介:Redundant Array of Independent Disks 独立磁盘冗余阵列,简称磁盘阵列 ;基本思想就是把多个相对便宜、容量较小、稳定性较高的磁盘组合起来,成为一个硬盘矩阵组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。

(2). 磁盘矩阵的功能

  • 整合闲置的磁盘空间:通过RAID可以把闲置的、不具有经济价值的的磁盘,整合成一个新的磁盘空间;把6个5G的硬盘整合一个磁盘,这样更方便存储数据
  • 提高读写性能,N个磁盘可以进行对同一个任务分成N个小任务,然后分开在N个磁盘上进行读写操作,这样效率就大大提升了
(3). RAID的分类
  • RAID0: 就是把N个磁盘组织起来,性能最高;但如果其中一个磁盘坏了,会出现 数据丢失
  • RAID1:把N个磁盘分成N/2个组,没两个作为一个Master/salve,一方面可以增加数据安全性,另一方面可以对每一个小组进行读写分离;
  • RAID2----RAID7



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值