Red Hat Training

A Red Hat training course is available for RHEL 8

3.10. VDO での TRIM および DISCARD の効果のテスト

この手順では、TRIM コマンドおよび DISCARD コマンドが、VDO テストボリュームで削除したファイルからブロックを適切に解放するかどうかをテストします。これは、discard (破棄) が VDO に、その領域が使用されなくなったことを通知することを示しています。

前提条件

手順

  1. テスト結果を記録できるテーブルを準備します。

    手順使用されているファイル領域 (MB)使用されているデータブロック使用されている論理ブロック

    初期

       

    1 GiB ファイルの追加

       

    fstrim の実行

       

    1 GiB ファイルの削除

       

    fstrim の実行

       
  2. ファイルシステムをトリミングして、不要なブロックを削除します。

    # fstrim /mnt/vdo-test

    コマンドには時間がかかる場合があります。

  3. ファイルシステムで初期領域の使用量を記録します。

    $ df -m /mnt/vdo-test
  4. VDO ボリュームが使用する物理データブロックおよび論理データブロックの数を確認します。

    # vdostats --verbose | grep "blocks used"
  5. VDO ボリュームに重複しないデータを含む 1 GiB ファイルを作成します。

    $ dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K
  6. 領域の使用量を再度記録します。

    $ df -m /mnt/vdo-test
    
    # vdostats --verbose | grep "blocks used"

    ファイルシステムは、追加の 1 GiB を使用する必要があります。data blocks usedlogical blocks used の値も同じように増加するはずです。

  7. ファイルシステムを再度トリミングします。

    # fstrim /mnt/vdo-test
  8. 領域使用量を再度調べて、トリミングが物理ボリュームの使用量に影響がないことを確認します。

    $ df -m /mnt/vdo-test
    
    # vdostats --verbose | grep "blocks used"
  9. 1 GiB ファイルを削除します。

    $ rm /mnt/vdo-test/file
  10. 領域の使用量を再度確認して記録します。

    $ df -m /mnt/vdo-test
    
    # vdostats --verbose | grep "blocks used"

    ファイルシステムは、ファイルが削除されたことを認識していますが、ファイルの削除が基礎となるストレージに通知されていないため、物理ブロックまたは論理ブロックの数に変更がありません。

  11. ファイルシステムを再度トリミングします。

    # fstrim /mnt/vdo-test
  12. 領域の使用量を再度確認して記録します。

    $ df -m /mnt/vdo-test
    
    # vdostats --verbose | grep "blocks used"

    fstrim ユーティリティーは、ファイルシステムの空きブロックを検索し、未使用のアドレスの VDO ボリュームに TRIM コマンドを送信します。これにより、関連する論理ブロックが解放されます。VDO は TRIM コマンドを処理し、基礎となる物理ブロックを解放します。

関連情報

  • TRIM コマンド、DISCARD コマンド、fstrim ユーティリティー、および discard マウントオプションの詳細は、5章未使用ブロックの破棄 を参照してください。