佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 在Linux系統(tǒng)中將SSD當(dāng)塊設(shè)備緩存的方法

在Linux系統(tǒng)中將SSD當(dāng)塊設(shè)備緩存的方法

熱門標(biāo)簽:AI人工智能 太平洋壽險(xiǎn)電話營(yíng)銷 網(wǎng)站建設(shè) 電話銷售團(tuán)隊(duì) Win7旗艦版 電銷行業(yè) 電話外呼服務(wù) 話術(shù)

原理

 寫操作先緩存到ssd硬盤上,然后通過一定策略寫到普通硬盤上;

 讀操作熱點(diǎn)數(shù)據(jù)可以緩存到ssd硬盤上,提高讀取數(shù)據(jù)的速度。

 

軟件 ssd 緩存開源軟件主要有bcache ,flashcache

 

bcache 需要編譯最新的內(nèi)核,要求比較高,配置比較復(fù)雜,目前主要用于測(cè)試環(huán)境;

flashcache 是facebook內(nèi)部使用的ssd cache軟件,開源出來(lái)供大家使用,目前有人編譯出rhel6的rpm包,在centos6上可以直接安裝使用。

 

本次初步測(cè)試了flashcache

 

測(cè)試環(huán)境

sdc為 ssd 硬盤     160G*4 raid 10     用fio測(cè)試 4k 寫iops為 5433

sdb為 普通sas硬盤 146G*2 raid  1    用fio測(cè)試 4k 寫iops為 447

 

初步簡(jiǎn)單測(cè)試結(jié)果:

    4k 隨機(jī)寫可以達(dá)到 5014

    4k隨機(jī)讀可以達(dá)到45874

 

flashcache 安裝配置方法

 

安裝


復(fù)制代碼
代碼如下:
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org/p> p>rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm/p> p>yum install flashcache-utils kmod-flashcache

配置:

用sdc 做sdb的緩存

 

復(fù)制代碼
代碼如下:
/p> p>flashcache_create -p back cachedev /dev/sdc /dev/sdb /p> p>cachedev cachedev, ssd_devname /dev/sdc, disk_devname /dev/sdb cache mode WRITE_BACK/p> p>block_size 8, md_block_size 8, cache_size 0/p> p>Flashcache metadata will use 1192MB of your 24016MB main memory

可以用3種方式:


復(fù)制代碼
代碼如下:
/p> p>Writethrough - safest, all writes are cached to ssd but also written to disk/p> p>immediately. If your ssd has slower write performance than your disk (likely/p> p>for early generation SSDs purchased in 2008-2010), this may limit your system/p> p>write performance. All disk reads are cached (tunable).

數(shù)據(jù)同時(shí)寫到ssd和普通硬盤

 

復(fù)制代碼
代碼如下:
/p> p>Writearound - again, very safe, writes are not written to ssd but directly to/p> p>disk. Disk blocks will only be cached after they are read. All disk reads/p> p>are cached (tunable).

數(shù)據(jù)同時(shí)繞過ssd,直接寫到普通硬盤


復(fù)制代碼
代碼如下:
Writeback - fastest but less safe. Writes only go to the ssd initially, and/p> p>based on various policies are written to disk later. All disk reads are/p> p>cached (tunable).

數(shù)據(jù)先寫到ssd,隨后寫到普通硬盤

查看

 flashstat

======================================================================================================

Flashstat: a tool for flashcache status per second

Author   : NinGoo(seaman.ning@gmail.com)

Version  : 0.3

======================================================================================================

          SSD Device:   /dev/sdc         Disk Device:   /dev/sdb          Cache Mode: WRITE_BACK

            Capacity:    303998M          Block Size:         4K     Meta Block Size:      4096b

        Total Blocks:   77823488       Cached Blocks:          9      Cached Percent:          0

         Set Numbers:        512        Dirty Blocks:          0       Dirty Percent:          0

           cache_all:          1      reclaim_policy:       FIFO    dirty_thresh_pct:         20

   max_clean_ios_set:          2 max_clean_ios_total:          4     skip_seq_thresh:         0K

======================================================================================================

          time  read/s write/s diskr/s diskw/s  ssdr/s  ssdw/s uread/s uwrit/s metaw/s clean/s  repl/s wrepl/s   hit%  whit% dwhit%

03-13 14:51:20       0       0       0       0       0       0       0       0       0       0       0       0   0|10    0|0    0|0 


復(fù)制代碼
代碼如下:
fdisk -l /dev/mapper/cachedev
  可以看到一個(gè)設(shè)備

 

Disk /dev/mapper/cachedev: 146.8 GB, 146778685440 bytes

255 heads, 63 sectors/track, 17844 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0002da0a

 

               Device Boot      Start         End      Blocks   Id  System

 

使用:

 

可以當(dāng)一個(gè)塊設(shè)備來(lái)使用,劃分vg lv

 

復(fù)制代碼
代碼如下:
/p> p> pvcreate /dev/mapper/cachedev/p> p> Physical volume "/dev/mapper/cachedev" successfully created/p> p> vgcreate ssdcachetest /dev/mapper/cachedev /p> p> Volume group "ssdcachetest" successfully created/p> p> lvcreate -L 100G -n ssdcache_test_lv1 ssdcachetest/p> p> Logical volume "ssdcache_test_lv1" created

刪除


復(fù)制代碼
代碼如下:
dmsetup remove cachedev/p> p>flashcache_destroy /dev/sdc

標(biāo)簽:云南 儋州 漯河 南昌 普洱 延安 宿州 寧夏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux系統(tǒng)中將SSD當(dāng)塊設(shè)備緩存的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    深州市| 贡山| 临沂市| 深泽县| 仙居县| 怀柔区| 麻江县| 红安县| 肥乡县| 尼玛县| 湛江市| 全椒县| 历史| 会同县| 潞西市| 新昌县| 琼中| 曲周县| 繁峙县| 垦利县| 镇安县| 铁岭县| 太康县| 子长县| 泗洪县| 长治县| 青铜峡市| 台安县| 江源县| 赣榆县| 繁峙县| 哈密市| 新绛县| 商洛市| 嵊州市| 保定市| 新乡县| 塔城市| 土默特右旗| 嵩明县| 浑源县|