文档章节

Flashcache初次体验

汉克斯
 汉克斯
发布于 2015/08/24 10:57
字数 744
阅读 218
收藏 0
点赞 0
评论 0

一、简介

Flashcache 是为Linux操作系统开发的块设备回写缓存内核模块,使用了Device Mapper的方式实现,具体用途就是通过flashcache模块用ssd加速sas盘的读写性能,提供sas盘的IOPS,此模块由Facebook开源,源代码地址:https://github.com/facebook/flashcache

二、环境说明

1、内核版本要求(官方载录)

Flashcache to later Linux releases. We now have built 
Flashcache on 2.6.18, 2.6.20 and 2.6.27-32. We have tested 
Flashcache on 2.6.18, 2.6.20, 2.6.27 and 2.6.32.

2、设备说明

/dev/sdb3 sas盘
/dev/dda  ssd盘
/cache  缓存卷的挂载目录

三、环境安装

https://github.com/facebook/flashcache/archive/master.zip
unzip flashcache-master.zip
cd flashcache-master
make
make install
modprobe flashcache                          ##加载flashcache模块
lsmod | grep flash                           ##查看flashcache模块是否加载
echo "modprobe flashcache" >>/etc/rc.local   ##开机加载flashcache模块

四、缓存卷的创建、加载、删除

1、创建缓存卷

flashcache_create -p back -s 50g -b 4k cachedev /dev/sda /dev/sdb3  ##建成功会在/dev/mapper/下生成一个已卷名称命名的设备
mount /dev/mapper/cachedev /cache/ ##挂载即可使用了
参数说明:
-p:缓存模式 writeback,writethrough,writearound三种。
-s:缓存大小,可选项,如果未指定则整个SSD设备被用于缓存,默认的计数单位是扇区(sectors),但是可以接受k/m/g单位。
-b:指定块大小,可选项,默认为4KB,必须为2的指数。默认单位为扇区。也可以用K作为单位,一般选4KB。
-f:强制创建,不进行检查

2、缓存卷加载

语法:flashcache_load ssd_devname cachedevname,加载一个已经存在的缓存卷,当机器重启了需要加载

flashcache_load /dev/sda cachedev

3、销毁缓存卷

flashcache_destroy /dev/sda

4、删除flashcache卷

dmsetup remove cachedev

PS:

对于writethrough和writearound模式的缓存,磁盘删除或者重启,卷都会被删除

五、flashcache开机启动配置

cp /root/flashcache-master/utils/flashcache  /etc/init.d/
chmod +x /etc/init.d/flashcache
chkconfig --add /etc/init.d/flashcache

vi /etc/init.d/flashcache ##填写几个变量的参数

SSD_DISK=/dev/sda
BACKEND_DISK=/dev/sdb3
CACHEDEV_NAME=cachedev
MOUNTPOINT=/cache
FLASHCACHE_NAME=sda+sdb3

六、flashcache调优

flashcache.fast_remove = 1:打开fast remove特性,关闭机器时,无需将cache中的脏块写入磁盘。
flashcache.reclaim_policy = 1:脏块刷出策略,0:FIFO,1:LRU。
flashcache.dirty_thresh_pct = 90:flashcache上每个hash set上的脏块阀值。
flashcache.cache_all = 1:cache所有内容,可以用黑名单过滤。
flashecache.write_merge = 1:打开写入合并,提升写磁盘的性能。

具体操作如下:

1、执行”sysctl dev.flashcache“命令,打印出关于flashcache可以调整的选项

sysctl dev.flashcache >> /etc/sysctl.conf

2、调整之后,执行”sysctl -p“生效 

七、监控

1、flashcache 卷的错误信息报告在/proc/flashcache/<cache name>/flashcache_errors 里:

2、flashcache 卷的统计信息报告在 /proc/flashcache/<cache name>/flashcache_stats 里:

3、Cache统计信息

可以使用 “dmsetup status cachename”命令来查询cache的统计信息。 “dmsetup table cachename”命令可以dumps出来achce相关的统计信息

4、用flashstat监控cachedev使用情况

cp /root/flashcache-master/utils/flashstat /bin/

八、用fio压测sas盘(flashcache加速前后的对比)

flashcache加速前

flashcache加速后

© 著作权归作者所有

共有 人打赏支持
汉克斯
粉丝 15
博文 13
码字总数 19282
作品 0
CTO(技术副总裁)
Flashcache初次体验

一、简介 Flashcache 是为Linux操作系统开发的块设备回写缓存内核模块,使用了Device Mapper的方式实现,具体用途就是通过flashcache模块用ssd加速sas盘的读写性能,提供sas盘的IOPS,此模块...

navyaijm2012
2014/10/24
0
0
Debian6 FlashCache使用

Flashcache是Facebook技术团队开发的一个内核模块,通过在文件系统(VFS)和设备驱动之间新增一次缓存层,可以用SSD作为介质的缓存,通过将传统硬盘上的热门数据缓存到SSD上,加速服务器磁盘...

China_OS
2013/03/19
0
0
Flashcache+DRBD环境搭建

Flashcache+DRBD环境搭建概要 准备环境 两台配置一样的虚拟机; 两台机器都安装了flashcache和DRBD,并且这两台机器都为DRBD的备用节点; flashcache搭建步骤参考:Flashcache开源混合存储方...

dhb_oschina
2016/04/01
46
0
Flashcace 安装指南

原文:http://www.orczhou.com/index.php/2010/10/how-to-setup-flashcace/ Flashcache的安装在其README和README-CentOS5.4已经有一个很详细的说明了,但是实际操作并不是很顺利,而且有些同...

红薯
2011/07/06
873
0
flashcache的实现与用法

工作需要,看了些flashcache的内容,记录如下: 实现 flashcache,是facebook技术团队开发的新开源项目,主要目的是用SSD硬盘来缓存数据以加速MySQL的一个内核模块。可以看到,它最初是用来做...

加油2018
2014/08/18
0
1
Flashcache 配置指南

Flashcache 的安装指南请看这里。 本文介绍一下Flashcache的配置。 假设现在你已经编译好了Flashcache,已经装好了ssd盘(假设是/dev/sdb)和sas盘(假设需要使用的是分区/dev/sda12,这可能...

红薯
2011/07/06
2K
0
新存储结构(thin lvm)下flashcache效率测试

flashcache有两种安装方式: 1.普通的编译安装,目前似乎不支持3.x内核 2.动态内核模块编译(DMKS),这种方式相对简单,而且支持3.x高版本内核。 普通编译安装 1.首先安装必要的工具: 编译...

Bruceweien
2017/06/05
0
0
MySQL缓存优化模块--Flashcache

Facebook发布了通过将数据缓存在SSD硬盘加速MySQL的内核模块Flashcache。代码已经放到Github上,目前只测试了Linux kernel版本2.6.18和2.6.20。 Facebook称,Flashcache是其内部开发用于帮助...

匿名
2010/04/30
5.5K
0
ceph flashcache

flashcache version: 1.0-221-g143c93d093b2 /etc/init.d/flashcache: #!/bin/sh BEGIN INIT INFO Provides: flashcache Default-Start: 2 3 4 5 Default-Stop: 0 1 6 Required-Start: Requi......

加油2018
2014/08/14
0
1
enhanceio的安装与使用

enhanceio是在flashcache的基础上stec-inc推出的改进版。昨天试用了一下,配置简单,易于操作,可以在硬盘挂载的情况下动态添加和删除enhanceio设备,一旦创建就是persistent的。其性能也非常...

加油2018
2014/11/20
0
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据库事务的四大特性以及事务的隔离级别

本篇讲述数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是...

Java大蜗牛
11分钟前
0
0
Spring Boot 整合 MyBatis/通用Mapper/PageHelper分页插件

整合MyBatis 整合通用Mapper 1. POM依赖配置 <properties><mapper.starter.version>2.0.3-beta1</mapper.starter.version></properties><!-- 通用Mapper --><dependency><groupId>t......

OSC_fly
20分钟前
0
0
CentOS7 双网卡绑定

环境 操作系统 CentOS7.5,禁用 NetworkManager 服务 网卡 eth0 网卡 eth1 绑定网卡 bond0 网卡 eth0 配置 修改 /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=EthernetBOOTPROTO=noneD......

Colben
21分钟前
0
0
zk实战--rpc框架集群化

在看此篇内容时需要浏览下面内容 netty实战--手写rpc框架 前文功能简介以及功能扩充 利用netty来实现一个点对点的rpc调用。客户端和服务端都是靠手写地址进行socket同学的,无法1对多,也无法...

xpbob
38分钟前
11
0
springboot 发送邮件

获取授权码 添加配置 # 账号和密码spring.mail.username=aaa@qq.comspring.mail.password=bbb# 服务器地址spring.mail.host=smtp.qq.comspring.mail.properties.mail.smtp.ssl.en...

阿豪boy
38分钟前
0
0
如何使用GNU Ring?

文章名:如何使用GNU Ring? 作者:冰焰火灵X 1079092922@qq.com 文章许可:CC BY-SA 4.0 ##1. 安装 下载GNU Ring 点击左边选择你的系统版本(这里以 GNU/Linux 为例,我使用的是Mint 18.3)...

ICE冰焰火灵X
41分钟前
4
0
深入理解springMVC

什么是spring MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而...

Java填坑之路
46分钟前
1
0
《射雕英雄传》书摘

1. 我虽是个飘泊江湖的贫家女子,可不是低三下四、不知自爱之人。你如真心爱我,须当敬我重我。我此生决无别念,就是钢刀架颈,也决意跟定了你。将来……将来如有洞房花烛之日,自然……自能...

k91191
57分钟前
1
0
解决:modal中datePicker 选中时,会触发modal的hidden.bs.modal事件

最近项目中发现了一个bug,具体表现为选中模态框上datepicker组件上的日期时,会触发模态框的关闭事件,导致数据编辑无法正常进行。网上搜索了下,解决方法如下: $('.datepicker').on('hid...

Funcy1122
今天
0
0
Redis分布式锁的正确实现方式

前言 分布式锁一般有三种实现方式: 1.数据库乐观锁 2.基于Redis的分布式锁; 3.基于Zookeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis...

大海201506
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部