博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FlashCache初探(一)
阅读量:5157 次
发布时间:2019-06-13

本文共 1278 字,大约阅读时间需要 4 分钟。

闲话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。

参考:

1. 

2. 

3. 

4. 

转载于:https://www.cnblogs.com/remimin/archive/2012/04/15/2450348.html

你可能感兴趣的文章
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
Windchill中如何扩展字段长度?
查看>>
pytorch中的forward前向传播机制
查看>>
Delphi 深入浅出VCL(2)-TObject所有对象的根
查看>>
配置IIS虚拟目录遇到的5个问题
查看>>
2-03顺序表的操作
查看>>
array_reduce() 与 array_map()
查看>>
SASS实现代码的重用:混合器Mixin、继承
查看>>
转:【Java并发编程】之十五:并发编程中实现内存可见的两种方法比较:加锁和volatile变量...
查看>>
SQL语句优化
查看>>
MFC 双缓冲加载背景
查看>>
记录自己最近的学习状态
查看>>
Day3_基本数据类型
查看>>
oracle学习
查看>>
【C语言项目】贪吃蛇游戏(下)
查看>>
ES terms多值搜索及范围过滤深入剖析-搜索系统线上实战
查看>>
大咖专栏 | DevOps组织如何有效地实施MSA
查看>>
忍不住了, 和大家聊聊怎么写简历吧, 关于简历的深度思考
查看>>
高并发编程
查看>>