30.7. VDO コマンド
このセクションでは、次の VDO ユーティリティーを説明します。
30.7.1. vdo
vdo ユーティリティーは、VDO の
kvdo
コンポーネントと UDS コンポーネントの両方を管理します。
概要
vdo { activate | changeWritePolicy | create | deactivate | disableCompression | disableDeduplication | enableCompression | enableDeduplication | growLogical | growPhysical | list | modify | printConfigFile | remove | start | status | stop }
[ options... ]
サブコマンド
サブコマンド | 説明 |
---|---|
作成
|
VDO ボリュームと、その関連インデックスを作成し、使用できるようにします。
−−activate=disabled を指定すると、VDO ボリュームが作成されますが、使用できません。--force が指定されていない場合は、既存のファイルシステムまたはフォーマットされた VDO ボリュームを上書きしません。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
remove
|
停止している 1 つまたは複数の VDO ボリュームと関連するインデックスを削除します。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
start
|
停止、アクティブ化されている 1 つ以上の VDO ボリュームおよび関連サービスを開始します。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
stop
|
1 つ以上の VDO ボリュームおよび関連サービスの実行を停止します。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
activate
|
1 つ以上の VDO ボリュームをアクティブにします。アクティブなボリュームは、
start
|
deactivate
|
1 つ以上の VDO ボリュームを非アクティブにします。アクティブでないボリュームは、
start
|
status
|
VDO システムとボリュームのステータスを YAML 形式で報告します。このコマンドは root 権限を必要としませんが、root 権限なしで実行すると、情報は不完全になります。適用可能なオプションは以下のとおりです。
|
リスト
|
起動している VDO ボリュームのリストを表示します。
--all を指定すると、起動したボリュームと、起動していないボリュームの両方が表示されます。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
modify
|
1 つまたはすべての VDO ボリュームの設定パラメーターを変更します。変更は、次に VDO デバイスを起動したときに有効になります。すでに実行中のデバイスには影響しません。適用可能なオプションは以下のとおりです。
|
changeWritePolicy
|
実行中の 1 つまたはすべての VDO ボリュームの書き込みポリシーを変更します。このコマンドは、root 権限で実行する必要があります。
|
enableDeduplication
|
1 つ以上の VDO ボリュームでの重複排除を有効にします。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
disableDeduplication
|
1 つ以上の VDO ボリュームでの重複排除を無効にします。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
enableCompression
|
1 つ以上の VDO ボリュームで圧縮を有効にします。VDO ボリュームが実行中の場合は、すぐに有効になります。VDO ボリュームで圧縮を実行していない場合は、次に VDO ボリュームを起動したときに圧縮が有効になります。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
disableCompression
|
1 つ以上の VDO ボリュームでの圧縮を無効にします。VDO ボリュームが実行中の場合は、すぐに有効になります。VDO ボリュームで圧縮を実行していない場合は、次に VDO ボリュームを起動したときに圧縮が無効になります。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
growLogical
|
VDO ボリュームに論理領域を追加します。ボリュームが存在し、実行されている必要があります。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
growPhysical
|
VDO ボリュームに物理領域を追加します。ボリュームが存在し、実行されている必要があります。このコマンドは、root 権限で実行する必要があります。適用可能なオプションは以下のとおりです。
|
printConfigFile
|
設定ファイルを
stdout に出力します。このコマンドには、root 権限が必要です。適用可能なオプションは以下のとおりです。
|
オプション
オプション | 説明 |
---|---|
--indexMem=gigabytes
| UDS サーバーメモリーの量をギガバイト単位で指定します。デフォルトサイズは 1GB です。特殊な 10 進数の値である 0.25、0.5、0.75 は、正の整数として使用できます。 |
--sparseIndex={enabled | disabled}
| スパースインデックス作成を有効または無効にします。デフォルトでは が 無効に なります。 |
--all
| このコマンドを、設定した VDO ボリュームすべてに適用する必要があることを示しています。--name と併用しないでください。 |
--blockMapCacheSize=megabytes
| ブロックマップページのキャッシュに割り当てるメモリーの量を指定します。値は、4096 の倍数にする必要があります。B (ytes)、K (ilobytes)、M (egabytes)、G (igabytes)、T (テラバイト)、P (トリアバイト)、または E (xabytes)の接尾辞が付いた値の使用はオプションです。接尾辞が指定されていない場合、値はメガバイトとして解釈されます。デフォルトは 128M です。値は 128M 以上、16T 未満にする必要があります。メモリーオーバーヘッドは 15% であることに注意してください。 |
--blockMapPeriod=period
| キャッシュされたページがディスクにフラッシュされる前に蓄積される可能性のあるブロックマップ更新の数を決定する 1 から 16380 までの値。値を大きくすると、通常の操作中のパフォーマンスが低下しますが、クラッシュ後の回復時間が短くなります。デフォルト値は 16380 です。このパラメーターを調整する前に、RedHat の担当者に相談してください。 |
--compression={enabled | disabled}
| VDO デバイス内での圧縮を有効または無効にします。デフォルトでは有効になっています。パフォーマンスを最大化するため、または圧縮される可能性が低いデータの処理を高速化するために、必要に応じて圧縮を無効にすることができます。 |
--confFile=file
| 別の設定ファイルを指定します。デフォルトは /etc/vdoconf.yml です。 |
--deduplication={enabled | disabled}
| VDO デバイス内での重複排除を有効または無効にします。デフォルトでは が 有効 です。データの重複排除率が高くないと予想されるが、圧縮が必要な場合は、重複排除を無効にすることができます。 |
--emulate512={enabled | disabled}
| 512 バイトのブロックデバイスエミュレーションモードを有効にします。デフォルトでは が 無効に なります。 |
--force
| VDO ボリュームを停止する前に、マウントされたファイルシステムをアンマウントします。 |
--forceRebuild
| 読み取り専用の VDO ボリュームを開始する前に、オフラインでの再構築を強制して、オンラインに戻して使用できるようにします。このオプションを使用すると、データの損失や破損が生じる可能性があります。 |
--help
| vdo ユーティリティーのドキュメントを表示します。 |
--logfile=pathname
| このスクリプトのログメッセージの出力先となるファイルを指定します。警告メッセージおよびエラーメッセージは、常に syslog にも記録されます。 |
--name=volume
| 指定した VDO ボリュームで動作します。--all と併用しないでください。 |
--device=device
| VDO ストレージに使用するデバイスの絶対パスを指定します。 |
--activate={enabled | disabled}
| 引数 disabled は、VDO ボリュームのみを作成することを示します。ボリュームは起動されたり、有効化されたりしません。デフォルトでは が 有効 です。 |
--vdoAckThreads=thread count
| 要求された VDOI/O 操作の完了を確認するために使用するスレッドの数を指定します。デフォルトは 1 です。値は 0 以上、100 以下である必要があります。 |
--vdoBioRotationInterval=I/O count
| 作業を次のスレッドに転送する前に、bio 送信スレッドごとにキューに入れる I/O 操作の数を指定します。デフォルトは 64 です。値は 1 以上、1024 以下である必要があります。 |
--vdoBioThreads=thread count
| ストレージデバイスへの I/O 操作の送信に使用するスレッド数を指定します。最小は 1 で、最大は 100 です。デフォルトは 4 です。値は 1 以上、100 以下である必要があります。 |
--vdoCpuThreads=thread count
| ハッシュや圧縮など、CPU を集中的に使用する作業に使用するスレッドの数を指定します。デフォルトは 2 です。値は 1 以上、100 以下である必要があります。 |
--vdoHashZoneThreads=thread count
| ブロックデータから計算したハッシュ値に基づいて、VDO 処理の一部を細分化するスレッド数を指定します。デフォルトは 1 です。値は 0 以上、100 以下である必要があります。vdoHashZoneThreads 、vdoLogicalThreads 、および vdoPhysicalThreads は、すべてゼロであるか、すべてゼロ以外の値にする必要があります。 |
--vdoLogicalThreads=thread count
| ブロックデータから計算したハッシュ値に基づいて、VDO 処理の一部を細分化するスレッド数を指定します。この値は、0 以上、100 以下である必要があります。論理スレッド数が 9 以上の場合は、ブロックマップキャッシュのサイズも明示的に指定する必要があります。vdoHashZoneThreads 、vdoLogicalThreads 、および vdoPhysicalThreads は、すべてゼロにするか、すべてゼロ以外にする必要があります。デフォルトでは 1 回です。 |
--vdoLogLevel=level
| VDO ドライバーログレベル (critical 、error 、warning 、notice 、info 、または debug ) を指定します。レベルでは大文字と小文字が区別されます。デフォルトは info です。 |
--vdoLogicalSize=megabytes
| 論理 VDO ボリュームのサイズをメガバイト単位で指定します。S (ectors)、B (ytes)、K (ilobytes)、M (egabytes)、G (igabytes)、T (テラバイト)、P (etabytes)、または E (xabytes)の接尾辞が付いた値の使用はオプションです。ボリュームのオーバープロビジョニングに使用されます。これはデフォルトでストレージデバイスのサイズになります。 |
--vdoPhysicalThreads=thread count
| 物理ブロックアドレスに基づいて、VDO 処理の一部を細分化するスレッド数を指定します。この値は、0 以上、16 以下である必要があります。最初のスレッド以降にスレッドを追加するたびに、さらに 10 MB の RAM を使用します。vdoPhysicalThreads 、vdoHashZoneThreads 、および vdoLogicalThreads は、すべてゼロにするか、すべてゼロ以外にする必要があります。デフォルトでは 1 回です。 |
--readCache={enabled | disabled}
| VDO デバイス内の読み取りキャッシュを有効または無効にします。デフォルトは disabled です。書き込みワークロードで重複排除のレベルが高いことが予想される場合、または高圧縮性のデータの読み取り集中型ワークロードの場合は、キャッシュを有効にする必要があります。 |
--readCacheSize=megabytes
| 追加の VDO デバイス読み取りキャッシュサイズをメガバイト単位で指定します。この領域は、システム定義の最小領域に追加されます。B (ytes)、K (ilobytes)、M (egabytes)、G (igabytes)、T (テラバイト)、P (トリアバイト)、または E (xabytes)の接尾辞が付いた値の使用はオプションです。デフォルトは 0M です。bio スレッドごとに、指定された読み取りキャッシュの MB ごとに 1.12 MB のメモリーが使用されます。 |
--vdoSlabSize=megabytes
| VDO が拡張される増分のサイズを指定します。サイズを小さくすると、収納可能な物理サイズの合計が制約されます。128M から 32G の間の 2 の累乗である必要があります。デフォルトは 2G です。S (ectors)、B (ytes)、K (ilobytes)、M (egabytes)、G (igabytes)、T (テラバイト)、P (etabytes)、または E (xabytes)の接尾辞が付いた値の使用はオプションです。接尾辞を使用しない場合、この値はメガバイトとして解釈されます。 |
--verbose
| コマンドを実行する前に出力します。 |
--writePolicy={ auto | sync | async }
| 書き込みポリシーを指定します。
|
status
サブコマンドは、YAML 形式で、次の情報を返します。キーは以下のように分割されます。
キー | 説明 | |
---|---|---|
VDO のステータス | このキーの情報には、ホストの名前とステータス照会が行われている日時が含まれます。この領域で報告されるパラメーターは以下のとおりです。 | |
ノード | VDO が実行しているシステムのホスト名。 | |
日付 | vdo status コマンドを実行した日時。 | |
カーネルモジュール | このキーの情報は、設定されたカーネルをカバーします。 | |
Loaded | カーネルモジュールが読み込まれているかどうか (True または False)。 | |
バージョン情報 | 設定されている kvdo のバージョンに関する情報。 | |
設定 | このキーの情報は、VDO 設定ファイルの場所とステータスをカバーします。 | |
ファイル | VDO 設定ファイルの場所。 | |
最終更新日 | VDO 設定ファイルの最終更新日。 | |
VDO | すべての VDO ボリュームの設定情報を提供します。各 VDO ボリュームで報告されるパラメーターは以下のとおりです。 | |
ブロックサイズ | VDO ボリュームのブロックサイズ (バイト単位)。 | |
512 バイトエミュレーション | ボリュームが 512 バイトのエミュレーションモードで実行しているかどうかを示します。 | |
重複排除の有効化 | ボリュームで重複排除が有効かどうか。 | |
論理サイズ | VDO ボリュームの論理サイズ。 | |
物理サイズ | VDO ボリュームの基本となる物理ストレージのサイズ。 | |
書き込みポリシー | 書き込みポリシーの設定値 (sync または async)。 | |
VDO 統計 | vdostats ユーティリティーの出力。 |
30.7.2. vdostats
vdostats
ユーティリティーは、Linux df
ユーティリティーと同様の形式で、設定(または指定した)デバイスごとの統計情報を表示します。
root 権限で実行されていない場合、
vdostats
ユーティリティーの出力が不完全になる可能性があります。
概要
vdostats [ --verbose | --human-readable | --si | --all ] [ --version ] [ device ...]
オプション
オプション | 説明 |
---|---|
--verbose
|
1 つ (または複数) の VDO デバイスの使用率とブロック I/O (bios) 統計を表示します。詳しくは 表30.9「vdostats --詳細な出力」 をご覧ください。
|
--human-readable
| ブロック値を読み取り可能な形式で表示します (ベース 2: 1 KB = 210 bytes = 1024 バイト)。 |
--si
| --si オプションは、--human-readable オプションの出力を SI ユニットを使用するように変更します (ベース 10: 1KB = 103 バイト = 1000 バイト)。--human-readable オプションが指定されていない場合は、--si オプションが無効になります。 |
--all
| このオプションは、後方互換性のためにのみ使用されます。これは、--verbose オプションと同等になりました。 |
--version
| vdostats のバージョンを表示します。 |
device ...
| 報告する 1 つ以上の特定のボリュームを指定します。この引数を省略すると、vdostats はすべてのデバイスでレポートします。 |
出力
以下の例では、オプションが指定されていない場合の出力例を示しています。これは、表30.8「vdostats のデフォルトの出力」 で説明されています。
Device 1K-blocks Used Available Use% Space Saving% /dev/mapper/my_vdo 1932562432 427698104 1504864328 22% 21%
項目 | 説明 |
---|---|
Device | VDO ボリュームへのパス。 |
1K-blocks | VDO ボリュームに割り当てられている 1K ブロックの合計数 (= 物理ボリュームサイズ * ブロックサイズ / 1024) |
Used | VDO ボリュームで使用されている 1K ブロックの合計数 (= 使用されている物理ブロック * ブロックサイズ / 1024) |
Available | VDO ボリュームで利用可能な 1K ブロックの合計数 (= 空き物理ブロック * ブロックサイズ / 1024) |
Use% | VDO ボリュームで使用されている物理ブロックの割合 (= 使用済みブロック / 割り当て済みブロック * 100) |
Space Saving% | VDO ボリュームに保存されている物理ブロックの割合 (= [使用されている論理ブロック - 使用されている物理ブロック] / 使用されている論理ブロック) |
--human-readable
オプションでは、ブロックカウントを従来の単位 (1 KB = 1024 バイト) に変換します。
Device Size Used Available Use% Space Saving% /dev/mapper/my_vdo 1.8T 407.9G 1.4T 22% 21%
--human-readable
オプションおよび --si
オプションは、ブロックカウントを SI ユニット (1 KB = 1000 バイト) に変換します。
Device Size Used Available Use% Space Saving% /dev/mapper/my_vdo 2.0T 438G 1.5T 22% 21%
--verbose
(表30.9「vdostats --詳細な出力」) オプションは、1 つ (またはすべて) の VDO デバイスの YAML 形式で VDO デバイス統計情報を表示します。
表30.9「vdostats --詳細な出力」 で太字 に出力される統計は、今後のリリースで引き続き報告される予定です。その他のフィールドは、主にソフトウェアサポートを目的としており、今後のリリースで変更される可能性があります。管理ツールで使用することはできません。管理ツールでは、統計情報の報告順序に依存しないようにしてください。
項目 | 説明 |
---|---|
Version | この統計のバージョン。 |
Release version | VDO のリリースバージョン。 |
Data blocks used | VDO ボリュームがデータを保存するために現在使用している物理ブロックの数。 |
Overhead blocks used | VDO メタデータを保存するために VDO ボリュームが現在使用している物理ブロックの数。 |
Logical blocks used | 現在マッピングされている論理ブロックの数。 |
Physical blocks | VDO ボリュームに割り当てられている物理ブロックの合計数。 |
Logical blocks | VDO ボリュームでマッピングできる論理ブロックの最大数。 |
1K-blocks | VDO ボリュームに割り当てられている 1K ブロックの合計数 (= 物理ボリュームサイズ * ブロックサイズ / 1024) |
1K-blocks used | VDO ボリュームで使用されている 1K ブロックの合計数 (= 使用されている物理ブロック * ブロックサイズ / 1024) |
1K-blocks available | VDO ボリュームで利用可能な 1K ブロックの合計数 (= 空き物理ブロック * ブロックサイズ / 1024) |
Used percent | VDO ボリュームで使用されている物理ブロックの割合 (= 使用済みブロック / 割り当て済みブロック * 100) |
Saving percent | VDO ボリュームに保存されている物理ブロックの割合 (= [使用されている論理ブロック - 使用されている物理ブロック] / 使用されている論理ブロック) |
Block map cache size | ブロックマップキャッシュのサイズ (バイト単位)。 |
Write policy | アクティブな書き込みポリシー (同期または非同期)。これは、vdo changeWritePolicy --writePolicy=auto|sync|async で設定されます。 |
Block size | VDO ボリュームのブロックサイズ (バイト単位)。 |
Completed recovery count | VDO ボリュームが不完全なシャットダウンから復旧した回数。 |
Read-only recovery count | VDO ボリュームが、(vdo start --forceRebuild を介して) 読み取り専用モードから復元された回数。 |
Operating mode | VDO ボリュームが通常どおり動作しているか、復旧モードであるか、読み取り専用モードであるかを示します。 |
Recovery progress (%) | オンライン復旧の進捗状況を示します。またはボリュームが復旧モードでない場合はN/A を示します。 |
Compressed fragments written | VDO ボリュームが最後に再起動してから書き込まれた圧縮フラグメントの数。 |
Compressed blocks written | VDO ボリュームを最後に再起動してから書き込まれた圧縮データの物理ブロックの数。 |
Compressed fragments in packer | まだ書き込まれていない、処理中の圧縮フラグメントの数。 |
Slab count | スラブの合計数。 |
Slabs opened | ブロックがこれまでに割り当てられたスラブの総数。 |
Slabs reopened | VDO が開始されてからスラブが再開された回数。 |
Journal disk full count | リカバリージャーナルがいっぱいであったために、要求がリカバリージャーナル項目を作成できなかった回数。 |
Journal commits requested count | リカバリージャーナルがスラブジャーナルをコミットするように要求した回数。 |
Journal entries batching | 開始されたジャーナルエントリーの書き込み数から、書き込まれたジャーナルエントリーの数を引いた数。 |
Journal entries started | メモリー内で作成されたジャーナルエントリーの数。 |
Journal entries writing | 送信された書き込みのジャーナルエントリーの数から、ストレージにコミットされたジャーナルエントリーの数を引いたもの。 |
Journal entries written | 書き込みが発行されたジャーナルエントリーの合計数。 |
Journal entries committed | ストレージに書き込まれたジャーナルエントリーの数。 |
Journal blocks batching | 開始したジャーナルブロックの書き込み数から、書き込まれたジャーナルブロックの数を引いた数。 |
Journal blocks started | メモリー内でタッチされたジャーナルブロックの数。 |
Journal blocks writing | 書き込まれたジャーナルブロックの数 (アクティブメモリー内のメタデータを使用) からコミットされたジャーナルブロックの数を引いた数。 |
Journal entries written | 書き込みが発行されたジャーナルブロックの合計数。 |
Journal blocks committed | ストレージに書き込まれたジャーナルブロックの数。 |
Slab journal disk full count | オンディスクスラブジャーナルがいっぱいになった回数。 |
Slab journal flush count | フラッシュしきい値を超えるスラブジャーナルにエントリーが追加された回数。 |
Slab journal blocked count | ブロックしきい値を超えたスラブジャーナルにエントリーが追加された回数。 |
Slab journal blocks written | 発行されたスラブジャーナルブロック書き込みの数。 |
Slab journal tail busy count | 書き込み要求がスラブジャーナル書き込みの待機をブロックした回数。 |
Slab summary blocks written | 発行されたスラブサマリーブロック書き込みの数。 |
Reference blocks written | 発行された参照ブロック書き込みの数。 |
Block map dirty pages | ブロックマップキャッシュ内のダーティーページ数。 |
Block map clean pages | ブロックマップキャッシュ内のクリーンなページ数。 |
ブロックマップの空きページ | ブロックマップキャッシュの空きページ数。 |
Block map failed pages | 書き込みエラーがあるブロックマップキャッシュページの数。 |
Block map incoming pages | キャッシュに読み込まれているブロックマップキャッシュページの数。 |
Block map outgoing pages | 書き込まれているブロックマップキャッシュページの数。 |
Block map cache pressure | 必要に時に空きページが利用できなかった回数。 |
Block map read count | ブロックマップページ読み取りの合計数。 |
Block map write count | ブロックマップページへの書き込みの合計数。 |
Block map failed reads | ブロックマップの読み取りエラーの合計数。 |
Block map failed writes | ブロックマップの書き込みエラーの合計数。 |
Block map reclaimed | 回収されたブロックマップページの合計数。 |
Block map read outgoing | 書き込み中のページのブロックマップ読み取りの合計数。 |
Block map found in cache | ブロックマップキャッシュヒットの合計数。 |
Block map discard required | ページを破棄する必要があったブロックマップ要求の合計数。 |
Block map wait for page | ページを待つ必要があった要求の合計数。 |
Block map fetch required | ページフェッチを必要としたリクエストの合計数。 |
Block map pages loaded | ページフェッチの合計数。 |
Block map pages saved | 保存したページの合計数。 |
Block map flush count | ブロックマップが発行したフラッシュの合計数。 |
Invalid advice PBN count | インデックスが無効なアドバイスを返した回数 |
No space error count. | VDO ボリュームの領域が不足しているために失敗した書き込み要求の数。 |
Read only error count | VDO ボリュームが読み取り専用モードであるために失敗した書き込み要求の数。 |
Instance | VDO インスタンス。 |
512 byte emulation | 512 バイトのエミュレーションがボリュームでオンまたはオフになるかを示します。 |
Current VDO IO requests in progress. | VDO が現在処理している I/O 要求の数。 |
Maximum VDO IO requests in progress | VDO が処理した同時 I/O 要求の最大数。 |
Current dedupe queries | 現在実行中の重複排除クエリーの数。 |
Maximum dedupe queries | 起動時の重複排除クエリーの最大数。 |
Dedupe advice valid | 重複排除のアドバイスが正しかった回数。 |
Dedupe advice stale | 重複排除のアドバイスが間違っていた回数。 |
Dedupe advice timeouts | 重複排除クエリーがタイムアウトした回数。 |
Flush out | VDO が基盤となるストレージに送信したフラッシュ要求の数。 |
Bios in...Bios in partial...Bios out...Bios meta...Bios journal...Bios page cache...Bios out completed...Bio meta completed...Bios journal completed...Bios page cache completed...Bios acknowledged...Bios acknowledged partial...Bios in progress... |
これらの統計は、特定のフラグを持つ各カテゴリーの BIOS の数をカウントします。カテゴリーは以下のとおりです。
フラグには、以下の 3 つのタイプがあります。
|
読み取りキャッシュアクセス | VDO が読み取りキャッシュを検索した回数。 |
読み取りキャッシュのヒット | 読み取りキャッシュのヒット数。 |