文档章节

enhanceio的安装与使用

加油2018
 加油2018
发布于 2014/11/20 09:41
字数 408
阅读 1097
收藏 1
点赞 0
评论 3

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
博文 184
码字总数 243077
作品 0
海淀
架构师
加载中

评论(3)

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

引用来自“BookShu”的评论

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

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

壬癸甲乙 ⋅ 2014/08/18 ⋅ 1

四、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

ubuntu下nvm,node以及npm的安装与使用

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

豆花饭烧土豆 ⋅ 2016/12/03 ⋅ 0

Ubuntu下apt-get与pip安装的区别

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

qq_19394437 ⋅ 05/05 ⋅ 0

(5)HBase 1.2.6伪分布安装

1.引言 是一个分布式的、面向列的开源数据库,是建立领域的数据库。不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。在本篇博客中主要介绍如何安装的伪分布,博主的环境为...

LoveCarpenter ⋅ 2017/12/11 ⋅ 0

Linux centos7 安装mysql5

Linux centos7下安装mysql51. Linux环境下mysql安装1.1安装包准备Linux下安装mysql主流的安装方式源码安装和rpm安装,本笔记使用rpm方式安装mysql5.5.48。Mysql Rpm包下载地址https://downl...

LMB520Q ⋅ 01/06 ⋅ 0

【转载】Python的包管理工具(进化关系)

刚开始学习 Python 时,发现各类文档和 Blog 中使用的包安装方式各不相同,有的使用 easy_install,setuptools,有的使用 pip,distribute,那麽这几个工具有什么关系呢,看下面这个图就明白...

摩云飞 ⋅ 2012/11/10 ⋅ 0

图文详解:Mac虚拟机软件安装操作教程

作为一名mac用户对于mac上使用的虚拟机软件的操作方法你已经掌握了吗?   在mac上使用虚拟机软件是现在最流行的使用方法,用户可以通过这款软件在mac上安装其他的操作系统,并且可以将mac...

MAC应用软件 ⋅ 2016/08/29 ⋅ 0

linux下网络流量监控工具

今天QA同学让我协助检测下一台服务器的网络流量。没干过这活,在网上随便找了个命令。后来,发现是不对的,为了以后不出丑,决定收集下网络流量监测相关的工具。 查看某个网卡收发数据的总量...

lixiaocheng18 ⋅ 2014/11/07 ⋅ 0

从0搭建MXNet环境

安装知识点 01 目标 在没有Linux环境的前提下,从头开始安装Linux环境与cuda 并且编译安装mxnet的gpu加速环境 及配置python接口。 02 步骤 安装ubuntu 16.04 安装cuda 8.0 安装anaconda3 编译...

云戒 ⋅ 2017/02/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Boot整合模板引擎thymeleaf

项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId......

yysue ⋅ 19分钟前 ⋅ 0

ConstraintLayout使用解析

AndroidStudio3.0创建Project默认的布局就是ConstraintLayout。 AndroidStudio3.0前的可以自己修改,使用ConstraintLayout。 为了要使用ConstraintLayout,我们需要在app/build.gradle文件中...

_OUTMAN_ ⋅ 30分钟前 ⋅ 0

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 今天 ⋅ 9

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 今天 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部