LVM-CACHEの簡単な構築方法

Linuxにおいて、LVM(Logical Volume Manager)という、既存のパーティーション/ディスクを統合して切り分けることができる仕組みがあります。

その機能の一つとして、SSDとHDDを利用して、ハイブリッドHDDを作ることができます。

ネット上でLVM-CACHEについて調べると、よくcachepoolを使った方法が書かれています。記事によっては、メタデータ用ボリュームとキャッシュプール用ボリュームを統合する方法から書かれていますが、正直面倒くさいです。

なので、ここではcachevolを使った構築の仕方を紹介します。


1.ボリュームグループの作成

ここではSSDのデバイス名を/dev/sda、HDDのボリューム名を/dev/sdbとします。

SSDの第1パーティーションにWindowsがインストールされていることを想定して、SSDの第2パーティーションをPV(物理ボリューム)にします。

$ sudo pvcreate /dev/sda2

HDDパーティーションも同じように第2パーティーションをPVにします。

$ sudo pvcreate /dev/sdb2

そして、PVをVG(ボリュームグループ)に登録します。

$ sudo vgcreate vg00 /dev/sda2 /dev/sdb2

2.論理ボリュームの作成

先程作ったVGからキャッシュ用LV(論理ボリューム)とデータ用LVを切り出します。この時注意することは、どこのPVから切り出すかを指定しなければいけないことです。キャッシュ用ボリュームがHDDにあるのでは目も当てられないので。

キャッシュ用に10GiB、データ用に150GiB確保します。

$ sudo lvcreate -n fast -L 10G vg00 /dev/sda2
$ sudo lvcreate -n slow -L 150G vg00 /dev/sdb2

3.データ用ボリュームにキャッシュ用ボリュームを統合

$ sudo lvconvert --type cache --cachevol fast vg00/slow

これでvg00/slowにキャッシュ領域としてvg00/fastが統合されました。

lvsコマンドで見てみるとこんな風になっていると思います。

$ sudo lvs
 LV   VG   Attr       LSize   Pool          Origin       Data%  Meta%  Move Log Cpy%Sync Convert
 slow vg00 Cwi-aoC--- 150.00g [fast_cvol]   [slow_corig] 0.00   12.82           0.00      

このData%がキャッシュの利用率になります。

これでSSDをキャッシュにしたボリュームができました。

なお、キャッシュ領域を切り離すときは以下のコマンドを使います。

$ sudo lvconvert --splitcache vg00/slow

この記事が気に入ったらサポートをしてみませんか?