3.10. VDO での TRIM および DISCARD の効果のテスト
この手順では、TRIM
コマンドおよび DISCARD
コマンドが、VDO テストボリュームで削除したファイルからブロックを適切に解放するかどうかをテストします。これは、discard (破棄) が VDO に、その領域が使用されなくなったことを通知することを示しています。
前提条件
- 新たに作成した VDO テストボリュームがマウントされている。詳細は、「VDO テストボリュームの作成」 を参照してください。
手順
テスト結果を記録できるテーブルを準備します。
Expand 手順 使用されているファイル領域 (MB) 使用されているデータブロック 使用されている論理ブロック 初期
1 GiB ファイルの追加
fstrim
の実行1 GiB ファイルの削除
fstrim
の実行ファイルシステムをトリミングして、不要なブロックを削除します。
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドには時間がかかる場合があります。
ファイルシステムで初期領域の使用量を記録します。
df -m /mnt/vdo-test
$ df -m /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VDO ボリュームが使用する物理データブロックおよび論理データブロックの数を確認します。
vdostats --verbose | grep "blocks used"
# vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VDO ボリュームに重複しないデータを含む 1 GiB ファイルを作成します。
dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K
$ dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 領域の使用量を再度記録します。
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムは、追加の 1 GiB を使用する必要があります。
data blocks used
とlogical blocks used
の値も同じように増加するはずです。ファイルシステムを再度トリミングします。
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 領域使用量を再度調べて、トリミングが物理ボリュームの使用量に影響がないことを確認します。
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1 GiB ファイルを削除します。
rm /mnt/vdo-test/file
$ rm /mnt/vdo-test/file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 領域の使用量を再度確認して記録します。
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムは、ファイルが削除されたことを認識していますが、ファイルの削除が基礎となるストレージに通知されていないため、物理ブロックまたは論理ブロックの数に変更がありません。
ファイルシステムを再度トリミングします。
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 領域の使用量を再度確認して記録します。
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fstrim
ユーティリティーは、ファイルシステムの空きブロックを検索し、未使用のアドレスの VDO ボリュームにTRIM
コマンドを送信します。これにより、関連する論理ブロックが解放されます。VDO はTRIM
コマンドを処理し、基礎となる物理ブロックを解放します。