首頁 >運維 >linux運維 >配置bcache模組的實例教程

配置bcache模組的實例教程

零下一度
零下一度原創
2017-07-17 11:35:523317瀏覽

一、前提:核心中需要設定bcache模組

#1.1 檢查

# #  - 是否存在於核心中:檢查/sys/fs/bcache目錄是否存在,沒有說明核心中沒有bcache  - 是否以核心模組方式存在:檢查/lib/modules/<$version> /kernel/drivers/md/bcache目錄是否存,不存在則說明沒有bcache核心模組


  - 以上兩步驟檢查完如果都沒有,則表示核心中沒有配置編譯bcache,需要自行設定編譯新的核心(下載核心時需要注意版本,bcache功能是在3.10以上版本才有)

1.2 編譯新核心

$ wget ""                    $ rpm2cpio ./kernel-3.10.0-514.el7.src.rpm | cpio -idmv    //提取rpm包内容,获取内核:linux-3.10.0-514.el7.tar.xz$ make menuconfig        //内核配置     Device Drivers 
         ->Multiple devices driver support (RAID and LVM)             -><*> Block device as cache
$ make bzImage (V=1)     //编译内核$ make modules        //编译内核模块$ make modules_install      //拷贝内核模块的.ko文件到/lib/modules下$ make install              //拷贝initrd和bzImage到boot目录下,并修改开机启动配置文件$ reboot                    //重启,根据菜单选择对应内核版本进入

 

#二、編譯安裝

//获取bcache-tools工具(以下两个网址任选其一)$ git clone http://evilpiepirate.org/git/bcache-tools.git$ git clone https://github.com/g2p/bcache-tools.git//安装前需要两个依赖包pkg-config和libblkid-dev$ yum -y install pkg-config libblkid-dev//编译安装bcache-tools$ make$ make install

 

三、部署方式

#3.1 建立bcache裝置

$ -bcache -C <cache-device> -B <backing device>--B     -C     -     -b    结果:有几个backing device就会对应生成几个/dev/
  
 <br>

example: the default block and bucket sizes of 512B and 128kB are used. The block size should match the backing devices sector size which will usually be vices . The bucket size should match the erase block size of the caching device with the intent of reducing write amplification. For example, using a HDD with 4k sectors and an SSD with an erase block size of 4k sectors and an SSD with an erase blocklock size of 20000 寶貝

make-bcache --block 4k --bucket 2m -C /dev/sdy

## 

3.2 新增後端裝置(backing device)

#  - 1、建立後端裝置

  $ make-bcache -B <backing-device>
  结果:生成对应的设备/dev/bcache<n>


  - 2、 attach綁定後端裝置

  $  -la /sys/fs/bcache          $  <CSET-UUID> > /sys/block/bcache<n>/bcache/
  
 <br>
 

3.3 刪除後端裝置

#  - 1 、detach解綁backing device裝置
  $  -la /sys/fs/bcache/          $  <CSET-UUID> > /sys/block/bcache<n>/bcache/

 

  - 2、刪除後端裝置

  $   > /sys/block/bcache<N>/bcache/
 

3.4 新增快取裝置(caching device)

      
  • ##-1、建立快取裝置

      $ make-bcache -C <cache device>  结果:在/sys/fs/bcache目录下生成对应的CACHE SET UUID
      注意:有可能设备本身有残余数据,需要使用wipefs清理掉
      $ wipefs -a /dev/sda
       
  •      
  •    -2、attach,與bcache設備關聯

      $ echo <CSET-UUID> > /sys/block/bcache<n>/bcache/attach
      解释:通过后端设备attach缓存设备,cache device才能开始缓存,backing   device才能被缓存
  • ## 
  • 3.5 刪除快取裝置

#前提:確保沒有backing device在使用它(可以透過lsblk查看)解釋: - cache裝置的存在,可以通過/ sys/fs/bcache目錄對應的cache set uuid了解               - unregister該cache設備視為該cache設備就視為刪除了

$ echo 1 > /sys/fs/bcache/<cache set uuid>/unregister
结果:再看/sys/fs/bcache目录下就没有这个cache设备的uuid了
cuuid後這個cache設備就視為刪除了

$ mkfs.xfs /dev/bcache<n>            //格式化设备为xfs文件系统$ mount /dev/bcache<n>  /mnt       //挂载设备到/mnt目录进行访问
3.6 格式化bcache並掛載使用
$ cat /sys/block/bcache<n>/bcache/state

 

 四、使用作業
############4.1 檢視運行狀態#############
$ cat /sys/block/bcache<n>/bcache/dirty_data
###########no cache:該backing device沒有attach任何caching device(這意味著所有I / O都直接傳遞到backing device[pass-through mode])。 ############clean:everything is ok,快取是乾淨的。 ############dirty:這表示一切都設定正常,並且您已啟用回寫,快取是髒的。 ############inconsistent:您遇到問題,因為後台裝置與快取裝置不同步。 ##################4.2 查看快取的資料量#############
// 设置缓存模式(默认writethrough)$ echo <cache mode> > /sys/block/bcache<N>/bcache/cache_mode// 查看缓存模式$ cat /sys/block/bcache<N>/bcache/cache_mode
 [writethrough]    writeback        writearound    none
############4.3查看/設定快取模式############
$ bcache-super-show /dev/sd<n>
#############4.4 列印device資訊###########rrreee###

4.5 設定資訊

  • backing device 在/sys/block/bcache/bcache/ 目錄下

  • cache device 在/sys/fs/bcache// 目錄下

  對/sys中設定資訊的改變是暫時的,重啟會失效。如果想要在啟動時設定目前的配置,則需要建立一個conf設定檔在/etc/tmpfile.d/中,例如/etc/tmpfile.d/my-bcache.conf:

w /sys/block/bcache0/bcache/sequential_cutoff - - - - 1
w /sys/block/bcache0/bcache/cache_mode - - - - writeback
(To set, in a persistent fashion, the sequential cutoff for bcache0 to 1 MB and write back)

以上是配置bcache模組的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn