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
可以根据需要进行调整。
时间: 2024-10-27 06:25:10