Ubuntu工作機使用FlashCache技術加速

edwardking888發表於2014-08-22

Flashcache是facebook的一個開源專案,用於資料庫加速中.大致結構,在傳統磁碟前面放置一個ssd裝置,充當快取,把熱的資料保持在快取中,寫的過程也是在先寫ssd然後由ssd同步到傳統磁碟.真正的資料最終還是保持在傳統磁碟中.這樣ssd杯掉也不用擔心資料丟失.同時又可以有大容量,高效能的體驗.

   現在ssd也挺便宜的,新一點的筆記本里都有ssd磁碟.那麼這裡簡介紹一下,怎麼用ssd加速home及其它分割槽,引導這塊不涉及.缺點: ssd只是用來做cache不能存入實質的東西.

   前提:

   ssd有空餘的分割槽或是有個ssd盤不使用.作業系統是ubuntu或是其它linux

   大致步驟:

   1. 安裝git

$sudo apt-get install git-core

   2. 下載flashcache原始碼:

#git clone https://github.com/facebook/flashcache.git

   3. 進入目錄編輯

#make
#make install

   //如果失敗看提示,一般是核心原始碼沒安裝的原因

   4. 載入flashcache模組

#modprobe flashcache

   確定載入完成:

#dmesg |tail
......flashcache: flashcache-1.0 initialized

   表示成功

   另外還可以:

lsmod |grep flashcache

   看到相應的資訊即成功.

   為了開機能載入這個模組,需要這個模組名寫入/etc/modules中

#echo "flashcache" >> /etc/modules

   好這裡完成了基本環境的安裝.下面以/home分割槽加速設製為,其它一樣.

   我的ssd分了/dev/sda1 用於/ , /dev/sda2用於了swap 還有/dev/sda3 ,/dev/sda4分割槽出沒使用.我在傳統磁碟裡劃出來100G /dev/sdb1用於/home目前還沒掛載.

   5. 格式化/dev/sdb1 如果原來/home節點已經劃分有分割槽, 只用umount掉即可,然後在fstab去掉自動掛載(flashcache目前不能自動掛載)

   #mkfs.ext4 /dev/sdb1

   把原來/home的資料複製或是移到動/dev/sdb1上.

   #mount /dev/sdb1 /mnt

   #cp -r /home/* /mnt

   #umount /mnt

   需在注意cp過去後許可權是不是和原來的一樣.

   6. 初始化flashcache

   #ls -la /dev/disk/by-uuid/

   找到/dev/sdb1 對應的uuid

#flashcache_create -v -p back home_flashcache /dev/sda3 /dev/disk/by-uuid/4b75b04e-5930-4042-89b8-40894067dac6

   這樣即建立完畢.

   7. 掛載那個flash裝置

#mount /dev/mapper/home_flashcache /home

   即可以體驗flashcache載入的東西了.

   8. 收尾工作,開機自動掛載flashcache加速的裝置,利用rc.local完成

   在rc.local裡新增:

flashcache_load /dev/sda3
mount /dev/mapper/home_flashcache /home

   這樣即可開始掛載/home節點了.

   如果不想使用flashcache技術,可以通過如下命令刪除該功能:

   umount /home

   dmsetup remove cachedev

   flashcache_destory

   mount 相應的節點即可

   說明: 以# 開頭的操作表示以root許可權進行的操作,以$開頭的表始以普通用做的操作.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-1255887/,如需轉載,請註明出處,否則將追究法律責任。

相關文章