文档章节

enhanceio的安装与使用

加油2018
 加油2018
发布于 2014/11/20 09:41
字数 408
阅读 1135
收藏 1

enhanceio是在flashcache的基础上stec-inc推出的改进版。昨天试用了一下,配置简单,易于操作,可以在硬盘挂载的情况下动态添加和删除enhanceio设备,一旦创建就是persistent的。其性能也非常出众。可惜被收购后,此项目已停止了更新和维护。

1. 安装

git clone https://github.com/STEC-inc/EnhanceIO
cd EnhanceIO
sudo cp CLI/eio_cli /sbin/
chmod 700 CLI/eio_cli
sudo cp ./CLI/eio_cli.8 /usr/share/man/man8/
cd Driver/enhanceio/
sudo apt-get install build-essential dkms
make 
sudo make install

cd Driver
sudo cp -r enhanceio /usr/src
sudo mv /usr/src/enhanceio /usr/src/enhanceio-0.1
cd /usr/src/enhanceio-0.1

sudo vim dkms.conf
PACKAGE_VERSION="0.1"

sudo dkms add -m enhanceio -v 0.1
sudo dkms build -m enhanceio -v 0.1
sudo dkms install -m enhanceio -v 0.1
2. 创建
sudo eio_cli create -d /dev/sdb -s /dev/sdc4 -m wb -c enhanceio_test
                           │           │        │            └cache name
                           │           │        └cache style(wb=writeback, wt=writethrough, ro=readonly)
                           │           └Caching Device (SSD)
                           └Source Device (HDD)
$ cat /proc/enhanceio/my_first_enhanceio/stats
然后利用eio_cli info就可以查看创建的缓存设备了。

3. 删除

先设置为只读,然后进行删除

# eio_cli edit -c my_first_enhanceio -m ro
$ grep nr_dirty /proc/enhanceio/enchanceio_test/stats
# eio_cli delete -c my_first_enhanceio

4. 参数设置    

可以利用sysctl -w或者编辑/etc/sysctl.conf进行配置

dev.enhanceio.ecache.autoclean_threshold = 1
dev.enhanceio.ecache.control = 0
dev.enhanceio.ecache.dirty_high_threshold = 100
dev.enhanceio.ecache.dirty_low_threshold = 90
dev.enhanceio.ecache.dirty_set_high_threshold = 100
dev.enhanceio.ecache.dirty_set_low_threshold = 90
dev.enhanceio.ecache.do_clean = 0
dev.enhanceio.ecache.mem_limit_pct = 90
dev.enhanceio.ecache.time_based_clean_interval = 1
dev.enhanceio.ecache.zero_stats = 0

可以根据需要进行调整。

5. 测试结果

经过初步测试,enhanceio的wb模式在极端情况下会出现丢失数据的情况。而flashcache的wb模式则不会。所以如果是读多写少的话,采用enhanceio的wt模式效果很好。写多的情况最好还是用flashcache的wb模式。

参考:

http://www.thomas-krenn.com/de/wiki/EnhanceIO

https://wiki.archlinux.org/index.php/EnhanceIO

© 著作权归作者所有

共有 人打赏支持
加油2018
粉丝 150
博文 276
码字总数 243077
作品 0
海淀
架构师
加载中

评论(3)

写出好代码er
写出好代码er

引用来自“BookShu”的评论

enhanceio的wb模式在极端情况下会出现丢失数据的情况。请问,这个极端模式详细指什么?
同问这个问题,楼主的测试方法是什么
BookShu
BookShu
enhanceio的wb模式在极端情况下会出现丢失数据的情况。请问,这个极端模式详细指什么?
BookShu
BookShu
enhanceio的wb模式在极端情况下会出现丢失数据的情况。请问,这个极端模式详细指什么?
flashcache的实现与用法

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

加油2018
2014/08/18
0
1
VS Code 安装与使用,Python 顶级 IDE 编程指南!

介绍 Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比...

Python新世界
07/14
0
0
四、npm 包管理工具

原文来自:https://dkvirus.gitbooks.io/-npm/content/di-si-zhang-npm-bao-guan-li-gong-ju.html 4.1 分清全局安装与本地安装 刚学习 npm 的时候,官方教程在介绍 -g 参数时是这么描述的:“...

嘘别吵_4d1c
2017/12/09
0
0
ubuntu下nvm,node以及npm的安装与使用

nvm是一个非常不错的node版本管理器,类似于ruby的rvm。 其github地址为https://github.com/creationix/nvm。 此处介绍一下如何在ubuntu上安装使用nvm。 首先安装必要的包。...

豆花饭烧土豆
2016/12/03
30
0
Ubuntu下apt-get与pip安装的区别

1. pip与apt-get的区别? pip 用来安装来自PyPI的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包; apt-get 用来安装软件、更新源、也可以用来更新自Ubuntu的典...

qq_19394437
05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部