Flashcache是Facebook技術團隊開發的一個內核模塊,經過在文件系統(VFS)和設備驅動之間新增一次緩存層,能夠用SSD做爲介質的緩存,經過將傳統硬盤上的熱門數據緩存到SSD上,加速服務器磁盤讀寫性能。最初是爲加速MySQL設計的,Flashcache是在Linux層面的,因此任何受磁盤IO困繞的軟件或應用均可以方便的使用。 php
Flashcache將普通的SAS/SATA盤和一個高速的SSD盤虛擬成一個帶緩存的塊設備。 linux
安裝Flashcache git
1 Flashcache編譯時須要指定源碼樹 github
apt-get install linux-source-2.6.32 git2 下載源碼包
git clone https://github.com/facebook/flashcache.git3 編譯安裝
cd flashcache/ make KERNEL_TREE=/usr/src/linux-headers-2.6.32-5-amd64 make install4 初始化FlashCache
modprobe flashcache #flashcache_create -h 查看命令幫助 #sdb是ssd sda是hdd sda6是卸載狀態 flashcache_create -p back cachedev /dev/sdb1 /dev/sda6 mkfs.xfs /dev/mapper/cachedev mount /dev/mapper/cachedev /fcache5 FlashCache不能在開機時自動掛載,因此寫在/etc/rc.local中
flashcache_load cachedev /dev/sdb1 /dev/sda6 mount /dev/mapper/cachedev /fcache
6 取消FlashCache shell
umount /fcache dmsetup remove cachedev flashcache_destroy /dev/sdb17 在源碼flashcache/utils目錄下有兩個 FlashCache的管理 腳本可供使用。flashcache、flashstat。 flashcache 能夠放在/etc/init.d目錄下,不過須要根據你的實際狀況修改腳本的一些變量。
參考:https://github.com/facebook/flashcache
http://blog.yufeng.info/archives/1768
http://blog.hackroad.com/read.php/410.htm
緩存