LoginSignup
1
1

More than 3 years have passed since last update.

SSD を HDD のキャッシュにして使用

Last updated at Posted at 2021-03-06

SSD を HDD のキャッシュにして使用します。

SSD を HDD のキャッシュにするソフト bcache のインストール

sudo apt install -y bcache-tools ;

起動ディスクの SSD をキャッシュとして使用する場合は gparted を CD に焼いてそちらから起動してパーティションを区切る必要があります。

gpartedのダウンロード
GParted - Browse Files at SourceForge.net

書き込みソフト

sudo apt install -y brasero ;

作成したキャッシュ領域をまずは ext4 でフォーマットして作成
Screenshot from 2021-03-07 05-06-41.png
HDD のヘッダ情報の削除と SSD キャッシュと HDD のペアの作成

# hdd のヘッダを削除(中身消えます)
sudo wipefs -a /dev/sda6 ; # ssd キャッシュ
sudo wipefs -a /dev/sde  ; # hdd 中身消えます

# sda6 (ssdキャッシュ)を sde ( hdd ) に割り当てる
sudo make-bcache -C /dev/sda6 -B /dev/sde ; # sda6 は ssd キャッシュ sde は hdd

これで ssd と hdd がペアになった /dev/bcache0 が作成されます。

ベンチマーク

ベンチマークのインストール

sudo apt install -y fio ;

fio.txt

fio.txt
[global]
ioengine=libaio
iodepth=1
size=1g
direct=1
runtime=60
directory=${TARGET}
stonewall

[Seq-Read]
bs=1m
rw=read

[Seq-Write]
bs=1m
rw=write

[Rand-Read-512K]
bs=512k
rw=randread

[Rand-Write-512K]
bs=512k
rw=randwrite

[Rand-Read-4K]
bs=4k
rw=randread

[Rand-Write-4K]
bs=4k
rw=randwrite

[Rand-Read-4K-QD32]
iodepth=32
bs=4k
rw=randread

[Rand-Write-4K-QD32]
iodepth=32
bs=4k
rw=randwrite

ベンチマークの実行。$USERNAME と HDD の ID は適宜変えてください

TARGET=/media/$USERNAME/73ceda35-3266-433c-bf09-40fa0c9ed62c fio -f fio.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}' ;

素のHDD

Seq-Read 178.907
Seq-Write 72.752
Rand-Read-512K 54.838
Rand-Write-512K 48.732
Rand-Read-4K 0.62
Rand-Write-4K 0.511
Rand-Read-4K-QD32 1.553
Rand-Write-4K-QD32 0.962

SSDキャッシュ化したもの

ベンチ実行コマンド

TARGET=/dev/bcache0 fio -f fio.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}' ;

結果

Seq-Read 172.775
Seq-Write 69.341
Rand-Read-512K 48.664
Rand-Write-512K 45.524
Rand-Read-4K 0.574
Rand-Write-4K 0.478
Rand-Read-4K-QD32 1.532
Rand-Write-4K-QD32 0.935

なるべくキャッシュを効かせるために 0.0k を設定したもの

sudo gedit /sys/block/bcache0/bcache/sequential_cutoff ;

結果

Seq-Read 172.775
Seq-Write 67.053
Rand-Read-512K 198.481
Rand-Write-512K 46.018
Rand-Read-4K 1.125
Rand-Write-4K 0.492
Rand-Read-4K-QD32 2.889
Rand-Write-4K-QD32 0.933

設定が正しいのかわかりませんが、ランダムリードが早くなっています。

触感としては、設定を行うと HDD の中身が消えることと、HDD の数だけ SSD のキャッシュのパーティションを作成しないといけないのでなんだかイマイチな感じがします。。

Ubuntu には書き込みキャッシュの設定が disks から設定できるのでそちらのほうがいいような気もします。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1