1,首先查看下你的系统版本
root@egkp:~# uname -a
Linux egkp 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2,然后看下你的内核源码的版本
root@egkp:~# apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches
3,我们来安装内核源码
sudo apt-get install linux-source-3.2.0
安装的目录在
cd /usr/src/
你会看到一个文件
linux-source-3.2.0.tar.bz2
将这个压缩包,mv到别的目录,比如/home或者/root都可以
然后解压
sudo tar -xjvf linux-source-3.2.0.tar.bz2
4,进入到解压到目录,然后
sudo apt-get install libncurses5-dev
sudo make menuconfig
make prepare
make modules_prepare
注意:sudo make oldconfig和sudo make menuconfig的区别
5,安装源码树
tmux进一个窗口,可以远程退出不中断(因为时间可能会很久,跟你选的配置有关)
make KERNEL_TREE=你的源码目录
6,然后你可以下载flashcache的源码库编译了
git clone https://github.com/jiaojunjiahanlin/flashcache.git
下载完成之后,你需要 进入到目录,然后
make
make install
7,检查你的flashcache的安装
modprobe flashcache //加载flash模块(初始化)
dmesg |tail //查看是否成功
lsmod | grep flash // 同样可以查看是否成功
8,开始挂在两个磁盘(ssd,hdd)
挂载的过程,你可以参考我的Github 的博客
http://jiaojunjiahanlin.github.io/kb.github.com/EVM指南/
9,然后我们要生成一个逻辑盘
sudo flashcache_create -p back cachedev /dev/vdc /dev/vdb
默认生成的块大小就是4k。
10, 我们在/dev/mapper/cachedev 中可以找到这个逻辑盘
sudo mkfs.ext4 /dev/mapper/cachedev
我们给这个逻辑盘生成一个文件系统
11,挂载这个逻辑盘
在/mnt/下mkdir一个disk1
sudo mount /dev/mapper/cachedev /mnt/disk1
挂载到/mnt/disk1
12,查看挂载状态
root@egkp:/usr/src# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 19G 7.6G 11G 43% /
udev 991M 12K 991M 1% /dev
tmpfs 201M 684K 200M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1001M 0 1001M 0% /run/shm
/dev/mapper/cachedev 20G 44M 19G 1% /mnt/disk1
13,然后就可以使用了
我们找到flashcache的源码目录里面又个util的文件夹。
./flashstate
这个可以看命中率,包括其他一些运行参数。