系统安装
由于flashcache在最新版本的ubuntu上会有兼容性问题(新版本ubuntu的linux内核版本高于4,ioctl被删除了,因此新版本ubuntu安装flashcache需要打补丁,比较麻烦),这里选用旧版本的ubuntu 14.10(utopic)
这个版本的ubuntu官网之前的源失效了,可以修改源文件(具体参见求助 13.04 更新及升级)
|
|
然后修改为下面的源
flashcache安装
这里有篇博文推荐一下Flashcache基本使用及注意事项
在官网下载文件解压github-flashcache
进入文件夹并输入
SSD:/dev/sdc
SAS:/dev/sdb2
创建设备名为cachedev的flashcache
|
|
flashcache_create相关参数说明:
-p:缓存模式
writeback(数据先写到SSD,随后写到普通硬盘),writethrough(数据同时写到SSD和普通硬盘),
writearound(数据绕过SSD,直接写到普通硬盘)三种,三种模式的所有读都会被缓存到flashcache可以通过dev.flashcache.
-s:缓存大小,可选项,如果未指定则整个SSD设备被用于缓存,默认的计数单位是扇区(sectors),但是可以接受k/m/g单位。
-b:指定块大小,可选项,默认为4KB,必须为2的指数。默认单位为扇区。也可以用K作为单位,一般选4KB。
-f:强制创建,不进行检查
-m:设备元数据块大小,只有writeback需要存储metadata块,默认4K
销毁Flashcache
|
|
其他命令
|
|
Flashcache参数优化
输入下面命令进行查看
默认参数设置
|
|
修改参数的方法
|
|
Flashcache状态监控
|
|
推荐IO测试工具
fio、iozone 更多参考https://github.com/geekwolf/sa-scripts/blob/master/devops.md
fio安装
|
|
FIO的用法
FIO分顺序读,随机读,顺序写,随机写,混合随机读写模式。
这是一个顺序读的模式:
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
说明:
一个完整的例子
新建一个虚拟的ssd设备(用内存建立)
mkssd.sh
1234567891011 #!/bin/bashssd_size=$1# 限制tmpfs最大不超过10G,避免耗尽内存(测试机器有24G物理内存)$sudo mount tmpfs /dev/shm -t tmpfs -o size=10240m# 创建ssd_size大小的文件,用来模拟flash设备$dd if=/dev/zero of=/dev/shm/ssd.img bs=1024k count=$ssd_size# 将文件模拟成块设备$sudo losetup /dev/loop0 /dev/shm/ssd.img
建立flashcache设备
mkcache.sh
|
|
运行结果截图
fio测试结果
|
|
flashcache统计结果
|
|
本文总阅读量 次
本文由 Yu Zhang 发表于 Yu Zhang's Blog ,采用署名-非商业性使用-禁止演绎 3.0进行许可。
非商业转载请注明作者及出处。商业转载请联系作者本人。