關於bcache的一些事情

    最近因爲工作的原因接觸到bcache緩存技術的一些皮毛,做個筆記備忘。

bcache是自3.10開始集成到Linux Kernel中去,後面更新了幾個版本增加了一些功能。

另一個備用技術選項爲facebook開創的flashcache。但是作者在github表示,基本不敢用。

This project is not actively maintained. Proceed at your own risk!

除了在Linux 3.10內核中提供支持以外,還有一個bcache-tools工具,用戶可以定義緩存及需加速的設備。一旦BCache設備被格式化後準備使用了,該工具就會通過Sysfs文件向內核註冊。不同於平時接觸的工具有命令操作,bcache的操作都是往/sys/fs/文件傳入配置


安裝

Debian wheezy升到最新版,確認是3.16的內核,安裝bcache-tools後,updateramfs後重啓系統。此時如果還沒有bcache設備,lsmod是查看不到bcache加載的,但是模塊已能正常使用

#apt-get install initramfs-tools
#dpkg -i bcache-tools_1.0.8-2_amd64.deb
#update-initramfs -u

兩種創建方法

  1. backing 和 cache device一起


    #make-bcache -B /dev/sdb /dev/sdc -C /dev/sda3
  2. 分別初始化(register)backing device和cache device(如果當前沒有cache設備,但是後續又想添加的話建議使用這種方式)。創建了backing device之後就可以格式化、掛載使用了


    #make-bcache -B /dev/sdb
    #make-bcache -C /dev/sda3

    使用這種方法的話,在後續需要添加手動將backing device attach到cache device才能最終使用到緩存。不然backing device就相當於運行於passthrough mode


我們可以通過/sys/fs或者/sys/block來管理bcache設備

/sys/block/bcache<N>/bcache
/sys/fs//bcache/<cset-uuid>/

初始化完兩種設備後,需要attch才能真正啓用bcache緩存

echo <CSET-UUID> > /sys/block/bcache0/bcache/attach

即使cache設備掉盤,可設置強制運行後端設備(注意使用writeback模式可能導致data loss):

echo 1 > /sys/block/sdb/bcache/running


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章