linux ssd硬盘做缓存,linux系统中ssd当块设备缓存
原理
写操作先缓存到ssd硬盘上,然后通过一定策略写到普通硬盘上;
读操作热点数据可以缓存到ssd硬盘上,提高读取数据的速度。
软件 ssd 缓存开源软件主要有bcache ,flashcache
bcache 需要编译最新的内核,要求比较高,配置比较复杂,目前主要用于测试环境;
flashcache 是facebook内部使用的ssd cache软件,开源出来供大家使用,目前有人编译出rhel6的rpm包,在centos6上可以直接安装使用。
本次初步测试了flashcache
测试环境
sdc为 ssd 硬盘 160G*4 raid 10 用fio测试 4k 写iops为 5433
sdb为 普通sas硬盘 146G*2 raid 1 用fio测试 4k 写iops为 447
初步简单测试结果:
4k 随机写可以达到 5014
4k随机读可以达到45874
flashcache安装配置方法
安装
yum install flashcache-utils kmod-flashcache
配置:
用sdc 做sdb的缓存
flashcache_create -p back cachedev /dev/sdc /dev/sdb
cachedev cachedev, ssd_devname /dev/sdc, disk_devname /dev/sdb cache mode WRITE_BACK
block_size 8, md_block_size 8, cache_size 0
Flashcache metadata will use 1192MB of your 24016MB main memory
可以用3种方式:
Writethrough - safest, all writes are cached to ssd but also written to disk
immediately. If your ssd has slower write performance than your disk (likely
for early generation SSDs purchased in 2008-2010), this may limit your system
write performance. All disk reads are cached (tunable).
数据同时写到ssd和普通硬盘
Writearound - again, very safe, writes are not written to ssd but directly to
disk. Disk blocks will only be cached after they are read. All disk reads
are cached (tunable).
数据同时绕过ssd,直接写到普通硬盘
Writeback - fastest but less safe. Writes only go to the ssd initially, and
based on various policies are written to disk later. All disk reads are
cached (tunable).
数据先写到ssd,随后写到普通硬盘
查看
flashstat
======================================================================================================
Flashstat: a tool for flashcache status per second
Version : 0.3
======================================================================================================
SSD Device: /dev/sdc Disk Device: /dev/sdb Cache Mode: WRITE_BACK
Capacity: 303998M Block Size: 4K Meta Block Size: 4096b
Total Blocks: 77823488 Cached Blocks: 9 Cached Percent: 0
Set Numbers: 512 Dirty Blocks: 0 Dirty Percent: 0
cache_all: 1 reclaim_policy: FIFO dirty_thresh_pct: 20
max_clean_ios_set: 2 max_clean_ios_total: 4 skip_seq_thresh: 0K
======================================================================================================
time read/s write/s diskr/s diskw/s ssdr/s ssdw/s uread/s uwrit/s metaw/s clean/s repl/s wrepl/s hit% whit% dwhit%
03-13 14:51:20 0 0 0 0 0 0 0 0 0 0 0 0 0|10 0|0 0|0
fdisk -l /dev/mapper/cachedev 可以看到一个设备
Disk /dev/mapper/cachedev: 146.8 GB, 146778685440 bytes
255 heads, 63 sectors/track, 17844 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002da0a
Device Boot Start End Blocks Id System
使用:
可以当一个块设备来使用,划分vg lv
pvcreate /dev/mapper/cachedev
Physical volume "/dev/mapper/cachedev" successfully created
vgcreate ssdcachetest /dev/mapper/cachedev
Volume group "ssdcachetest" successfully created
lvcreate -L 100G -n ssdcache_test_lv1 ssdcachetest
Logical volume "ssdcache_test_lv1" created
删除
dmsetup remove cachedev
flashcache_destroy /dev/sdc
linux ssd硬盘做缓存,linux系统中ssd当块设备缓存相关推荐
- linux ssd硬盘做缓存吗,搞定INTEL快速存储技术(用SSD硬盘做缓存加速),再次更新!...
给朋友买了个联想 ideapad s400超级本,还真是锻炼我的idea啊,原机不带WIN7系统,所以只好自己动手装WIN7,并打开24G SSD硬盘做缓存. 一.用常规方法GHOST了一个WIN7系 ...
- raid配置ssd为缓存_搞定INTEL快速存储技术(用SSD硬盘做缓存加速),再次更新!...
给朋友买了个联想 ideapad s400超级本,还真是锻炼我的idea啊,原机不带WIN7系统,所以只好自己动手装WIN7,并打开24G SSD硬盘做缓存. 一.用常规方法GHOST了一个WIN7系 ...
- nvme装系统不能自引导_WinPE无法识别NVMe SSD硬盘,如何重装系统
(源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...
- 查看系统中支持CUDA的设备数量和属性---deviceQuery示例
在你安装了CUDA显卡驱动之后,需要检测是否安装正确,或者需要查看系统中支持CUDA的设备数量和属性,可以通过SDK中的deviceQuery示例来查看,工程目录位置:C:\ProgramData\N ...
- WebRTC Native M96 SDK接口封装--enumerateVideoDevices获取系统中所有的视频设备列表
不管怎样,活着便是盛宴!!! 设备管理是重要的一环,在用户的实际使用过程中,会遇到各种各种的设备问题. 这里,讲一下如何枚举系统中的所有的视频设备列表. 接口定义(Agora) 接口名:enumera ...
- linux 系统迁移到固态硬盘,在Linux系统中将SSD当块设备缓存的方法
原理 写操作先缓存到ssd硬盘上,然后通过一定策略写到普通硬盘上: 读操作热点数据可以缓存到ssd硬盘上,提高读取数据的速度. 软件 ssd 缓存开源软件主要有bcache ,flashcache b ...
- linux系统4块硬盘做raid,linux部署raid阵列
Llinux中磁盘阵列raid5的部署详细过程 1.首先给虚拟机添加4块硬盘. 添加过程我就不做介绍了.因为raid5是最少是需要有4块盘的.3个做数据写入,一块做热备. 假设现在已经添加好盘了,我们 ...
- 深度 linux固态硬盘速度,ubuntu linux deepin ssd优化
硬件改造固态硬盘(64G,2.5寸,SATA3.0)装入原先的硬盘位置,购买一个光驱位硬盘托架,将机械硬盘(500G)装入原先的光驱位置.这几种材料都已经很常见,笔记本外观不会有什么瑕疵.系统安装1. ...
- Linux播放器MPlayer嵌入式开发系统中的应用
摘要:本文论述了MPlayer在嵌入式开发系统中的应用,说明了如何在嵌入式开发板的平台上实现MPlayer的配置.编译.安装及调试过程. 关键词:嵌入式系统:MPlayer:MEncoder 引言 嵌 ...
最新文章
- asin java_Java asin() 方法
- 《漫画算法2》源码整理-2 图算法
- boost::contract模块实现ifdef宏功能测试程序
- 37 | 案例篇:DNS 解析时快时慢,我该怎么办?
- Intent的一些用法
- datatables 响应式
- HTML静态网页作业-篮球网页
- 解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题...
- Python工作笔记006---在centos命令行里进入和退出Python程序
- 基于知识图谱的古诗词推荐(python+爬虫+mysql+neo4j)(一)
- 19 枚举类型 Enumerated
- 计算机安全常用防护策略,新手必看
- android qq聊天动态表情的实现
- android读取带公章的pdf文件,APP中如何显示带电子签名的PDF文件
- (PMP)三、项目经理的角色
- Thinking in Java 中闪耀的星星(三)
- 触摸液晶屏技术原理及分类
- CentOS7系统管理-庄博-专题视频课程
- python模型预测控制_【模型工具】耦合python和 SWMM的城市排水系统模型预测算法...
- 微信新出置顶公众号功能,优质自媒体的春天!
热门文章
- python人脸识别门禁系统毕设_人脸识别门禁系统 毕业设计 可移植树莓派
- unity3d软阴影和硬阴影的原理_手术无影灯的原理
- python实现knn分类_knn分类算法底层实现(python)
- 不规则炫彩创意渐变海报设计模板素材|带来十足的时尚感
- 【UI设计师必备】可临摹精美的APP UI Kit模板
- python time 时间差,python如何计算时间差
- 获取byte的各个bit值_Java中获取一个Byte 的各个Bit的值
- (全网唯一)Python 10行代码 实现 PDF转WORD
- C++计算函数执行时间的两种方法
- C++判断进程id是否存在