Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.4.21. 過去の論理ボリュームの追跡および表示 (Red Hat Enterprise Linux 7.3 以降)
Red Hat Enterprise Linux 7.3 以降、
lvm.conf
設定ファイルで record_lvs_history
メタデータオプションを有効にして、削除したシンスナップショットとシン論理ボリュームを追跡するように設定します。これにより、元の依存関係チェーンから削除され、過去の論理ボリュームになった論理ボリュームを含む、完全なシンスナップショット依存関係チェーンを表示できます。
lvm.conf
設定ファイルで lvs_history_retention_time
メタデータオプションを使用し、保持時間 (秒) を指定して、決められた期間、システムに過去のボリュームを保持するように設定できます。
過去の論理ボリュームでは、削除された論理ボリュームを単純化したものが保持され、以下の、ボリュームのレポートフィールドが含まれます。
lv_time_removed
- 論理ボリュームの削除時間lv_time
- 論理ボリュームの作成時間lv_name
- 論理ボリュームの名前lv_uuid
- 論理ボリュームの UUIDvg_name
- 論理ボリュームを含むボリュームグループ
ボリュームを削除すると、過去の論理ボリューム名には頭にハイフンが付きます。たとえば、論理ボリューム
lvol1
を削除すると、過去のボリューム名は -lvol1
となります。過去の論理ボリュームは再アクティベートすることができません。
record_lvs_history
メタデータオプションを有効にしていても、lvremove コマンドの --nohistory
オプションを指定して論理ボリュームを削除すれば、過去の論理ボリュームを個別に保持しないようにできます。
ボリューム表示に過去の論理ボリュームを含むには、LVM 表示コマンドに
-H|--history
オプションを指定します。-H
オプションとともに、レポートフィールド lv_full_ancestors
および lv_full_descendants
を指定すると、過去のボリュームを含む、完全にシンプロビジョニングされたスナップショットの依存関係チェーンを表示できます。
以下のコマンド群は、過去の論理ボリュームを表示および管理する例を示します。
lvm.conf
ファイルにrecord_lvs_history=1
を設定して、過去の論理ボリュームを保持します。このメタデータオプションは、デフォルトでは有効ではありません。- 以下のコマンドを入力して、シンプロビジョニングのスナップショットチェーンを表示します。この例では、以下のように設定されています。
lvol1
は元となるボリュームで、チェーンの中で最初のボリュームになります。lvol2
は、lvol1
のスナップショットです。lvol3
は、lvol2
のスナップショットです。lvol4
は、lvol3
のスナップショットです。lvol5
も、lvol3
のスナップショットです。
この例の lvs 表示コマンドに-H
オプションを追加しても、シンプロビジョニングのスナップショットボリュームは削除されていないため、過去の論理ボリュームは表示されないことに注意してください。#
lvs -H -o name,full_ancestors,full_descendants
LV FAncestors FDescendants lvol1 lvol2,lvol3,lvol4,lvol5 lvol2 lvol1 lvol3,lvol4,lvol5 lvol3 lvol2,lvol1 lvol4,lvol5 lvol4 lvol3,lvol2,lvol1 lvol5 lvol3,lvol2,lvol1 pool - スナップショットチェーンから論理ボリューム
lvol3
を削除してから再度 lvs コマンドを実行し、過去の論理ボリュームが、先祖 (ancestor) と子孫 (descendant) とともに、どのように表示されるかを確認します。#
lvremove -f vg/lvol3
Logical volume "lvol3" successfully removed #lvs -H -o name,full_ancestors,full_descendants
LV FAncestors FDescendants lvol1 lvol2,-lvol3,lvol4,lvol5 lvol2 lvol1 -lvol3,lvol4,lvol5 -lvol3 lvol2,lvol1 lvol4,lvol5 lvol4 -lvol3,lvol2,lvol1 lvol5 -lvol3,lvol2,lvol1 pool - 過去のボリュームが削除された時間を表示する場合は、
lv_time_removed
レポートフィールドを使用できます。#
lvs -H -o name,full_ancestors,full_descendants,time_removed
LV FAncestors FDescendants RTime lvol1 lvol2,-lvol3,lvol4,lvol5 lvol2 lvol1 -lvol3,lvol4,lvol5 -lvol3 lvol2,lvol1 lvol4,lvol5 2016-03-14 14:14:32 +0100 lvol4 -lvol3,lvol2,lvol1 lvol5 -lvol3,lvol2,lvol1 pool - vgname/lvname フォーマットを以下の例のように指定すると、表示コマンドで過去の論理ボリュームを個別に参照できます。
lv_attr
フィールドの 5 番目のビットをh
に設定して、ボリュームが過去のボリュームであることを示していることに注意してください。#
lvs -H vg/-lvol3
LV VG Attr LSize -lvol3 vg ----h----- 0 - ボリュームにライブの子孫がないと、LVM は過去の論理ボリュームを保持しません。これは、スナップショットチェーンの最後に論理ボリュームを削除すると、論理ボリュームが過去の論理ボリュームとして保持されないことを示しています。
#
lvremove -f vg/lvol5
Automatically removing historical logical volume vg/-lvol5. Logical volume "lvol5" successfully removed #lvs -H -o name,full_ancestors,full_descendants
LV FAncestors FDescendants lvol1 lvol2,-lvol3,lvol4 lvol2 lvol1 -lvol3,lvol4 -lvol3 lvol2,lvol1 lvol4 lvol4 -lvol3,lvol2,lvol1 pool - 以下のコマンドを実行して、ボリューム
lvol1
およびlvol2
を削除します。次に lvs コマンドを実行して、ボリュームが削除されるとどのように表示されるかを確認します。#
lvremove -f vg/lvol1 vg/lvol2
Logical volume "lvol1" successfully removed Logical volume "lvol2" successfully removed #lvs -H -o name,full_ancestors,full_descendants
LV FAncestors FDescendants -lvol1 -lvol2,-lvol3,lvol4 -lvol2 -lvol1 -lvol3,lvol4 -lvol3 -lvol2,-lvol1 lvol4 lvol4 -lvol3,-lvol2,-lvol1 pool - 過去の論理ボリュームを完全に削除したら、lvremove コマンドを再度実行します。以下の例のように、ハイフンが追加された、過去のボリューム名を指定します。
#
lvremove -f vg/-lvol3
Historical logical volume "lvol3" successfully removed #lvs -H -o name,full_ancestors,full_descendants
LV FAncestors FDescendants -lvol1 -lvol2,lvol4 -lvol2 -lvol1 lvol4 lvol4 -lvol2,-lvol1 pool - 子孫にライブボリュームが含まれるチェーンがある場合に限り、過去の論理ボリュームは保持されます。これは、以下の例のように、そのボリュームにリンクされている子孫がない場合に、過去の論理ボリュームを削除すると、チェーンの論理ボリュームがすべて削除されることを意味します。
#
lvremove -f vg/lvol4
Automatically removing historical logical volume vg/-lvol1. Automatically removing historical logical volume vg/-lvol2. Automatically removing historical logical volume vg/-lvol4. Logical volume "lvol4" successfully removed