LoginSignup
4
2

More than 5 years have passed since last update.

VDOを試してみる その1

Posted at

VDO(Virtual Data Optimizer)について

VDOはRHEL 7.5から導入されたcompressionとdeduplicationを提供するパッケージ。ブロックストレージとファイルシステムの間で動作するため、xfsやext4などのファイルシステムでもZFSのような一部機能が実現可能になる。

確認してみる

VDOでのdedupによりパフォーマンスにどの程度の影響が出るか気になるため手元環境で確認してみることにする。

VDOの導入

CentOS7.4からCentOS 7.5にアップグレードした後にvdoパッケージを導入しようとすると既にインストール済みになっていた。アップデート時に自動的に降ってきていた様子。サービスも自動的に有効になっていた。

# yum install vdo kmod-kvdo
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
(snip)
パッケージ vdo-6.1.0.168-18.x86_64 はインストール済みか最新バージョンです
パッケージ kmod-kvdo-6.1.0.168-16.el7_5.x86_64 はインストール済みか最新バージョ ンです
何もしません

VDOボリュームの作成

RedHatのガイドに従ってVDOボリュームを作成しようとするとエラーになる。

# vdo create --name=vdovolume \
  --device=/dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0\:0 \
  --vdoLogicalSize=1T
Creating VDO vdovolume
vdo: ERROR -   Device /dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0:0 excluded by a filter.

エラーの詳細を確認してみる

# vdo create --name=vdovolume \
  --device=/dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0\:0 \
  --vdoLogicalSize=1T \
  --verbose
Creating VDO vdovolume
    grep MemAvailable /proc/meminfo
    pvcreate -qq --test /dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0:0
vdo: ERROR -   Device /dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0:0 excluded by a filter.

どうやらpvcreateを実行してディスクをテストしているようなので、そちらでエラーの原因を追いかけてみるとpvcreateはディスクボリュームに対しては実行できないらしい…fdiskで適当にパーティションを作成してテスト…ok

再度VDOボリュームの作成をしてみようとするもエラー発生。

#  vdo create --name=vdovolume \
  --device=/dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0\:0-part1 \
  --vdoLogicalSize=1T
Creating VDO vdovolume
vdo: ERROR - Kernel module kvdo not installed
vdo: ERROR - modprobe: FATAL: Module kvdo not found.

あれこれ確認するもうまくいかなかったが、CentOS 7.4から7.5にアップグレードしてから一度も再起動していないことを思い出して再起動。その後に実行するとうまくいった。

#  vdo create --name=vdovolume \
  --device=/dev/disk/by-id/usb-I-O_DATA_HDPS-U_XXXXXXXXXXXX-0\:0-part1 \
  --vdoLogicalSize=1T
Creating VDO vdovolume
Starting VDO vdovolume
Starting compression on VDO vdovolume
VDO instance 0 volume is ready at /dev/mapper/vdovolume
# vdostats
Device               1K-blocks      Used Available Use% Space saving%
/dev/mapper/vdovolume 244197540   3187900 241009640   1%           N/A

# vdostats --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdovolume    232.9G      3.0G    229.8G   1%           N/A

とりあえずここまで。

4
2
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
4
2