スナップショットの作成/削除の問題をトラブルシューティングするには、ボリューム チェーンを理解することが重要です。この投稿では、ボリューム チェーンの相関関係について説明します。
ディスクの REAL ステータスがデータベースに表示されているものと同じかどうかを確認する必要があるため、エンジン データベースとホストの両方のボリューム チェーンを確認する必要があります。ここに示す手順は、LVM ベースのブロック ストレージ (iSCSI およびファイバーチャネル) 用です。 NFS の場合は、はるかに簡単です。イメージ ID を名前として持つファイルを探すだけです。スナップショットを作成すると、RHV はベース ディスクを「フリーズ」し、一番上の書き込み (COW) レイヤーにコピーを作成して変更を保存します。 COW レイヤーは qcow スナップショットとして実装され、元のディスク (または前のレイヤー) を含むベース イメージへの参照を格納します。
1. エンジン データベースからチェック:
– VM の「最初の」スナップショットは、RHV の「アクティブな VM」です。 「アクティブな VM」は実際のスナップショットではなく、「現在の状態」をスナップショットとして表示するだけです。これはメイン ディスク (parentid ゼロ) です。例:
vm_name | snapshot_name | snapshot_status | image_guid | image_group_id | parentid | imagestatus ------------+----------------------+-----------------+--------------------------------------+--------------------------------------+--------------------------------------+------------- TestVM | Active VM | OK | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 00000000-0000-0000-0000-000000000000 | 1 (1 row)
– スナップショットを作成すると、実際の最初のスナップショットが作成されます。この最初のスナップショットは、以前のディスクをベース イメージとして使用する COW スナップショットです。親 ID はゼロです。最初のスナップショットが作成された後、「アクティブ VM」の親 ID が最初のスナップショットの image_guid になります。
例 :最初のスナップショット名は volumechain1 です。以下の DB 出力から、image_guid と parentid の関係を確認できます:
vm_name | snapshot_name | snapshot_status | image_guid | image_group_id | parentid | imagestatus ------------+---------------+-----------------+--------------------------------------+--------------------------------------+--------------------------------------+------------- TestVM | Active VM | OK | 3fdf455e-52e6-48da-81f5-475cad796d21 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 1 TestVM | volumechain1 | OK | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 00000000-0000-0000-0000-000000000000 | 1 (2 rows)
2 番目 (volumechain2)/3 番目 (volumechain3) のスナップショットの例。 2 番目のスナップショットの parentid が最初のスナップショットの volumeid であり、3 番目のスナップショットの parentid が 2 番目のスナップショットの volume_id であることがわかります。
vm_name | snapshot_name | snapshot_status | image_guid | image_group_id | parentid | imagestatus ------------+---------------+-----------------+--------------------------------------+--------------------------------------+--------------------------------------+------------- TestVM | Active VM | OK | 043dfd54-30d2-4437-9cba-2eded92136b6 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 3fdf455e-52e6-48da-81f5-475cad796d21 | 1 TestVM | volumechain1 | OK | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 00000000-0000-0000-0000-000000000000 | 1 TestVM | volumechain2 | OK | 3fdf455e-52e6-48da-81f5-475cad796d21 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 1 (3 rows)
vm_name | snapshot_name | snapshot_status | image_guid | image_group_id | parentid | imagestatus ------------+---------------+-----------------+--------------------------------------+--------------------------------------+--------------------------------------+------------- TestVM | Active VM | OK | c9a717e4-bc90-4ef5-900d-777bf01b43bf | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 043dfd54-30d2-4437-9cba-2eded92136b6 | 1 TestVM | volumechain1 | OK | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 00000000-0000-0000-0000-000000000000 | 1 TestVM | volumechain2 | OK | 3fdf455e-52e6-48da-81f5-475cad796d21 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 | 1 TestVM | volumenchain3 | OK | 043dfd54-30d2-4437-9cba-2eded92136b6 | 9f13d2e3-eed5-4af2-936c-358bc4948608 | 3fdf455e-52e6-48da-81f5-475cad796d21 | 1 (4 rows)
2. ホストからの確認:
– domblk 情報を確認してください:
# virsh -r domblklist TestVM Target Source --------------------------------------------------------------------------------------------------------------------------------------------------------------- hdc - sda /rhev/data-center/mnt/blockSD/c95e9f3e-79cb-47ab-9825-8093ee12e42b/images/9f13d2e3-eed5-4af2-936c-358bc4948608/c9a717e4-bc90-4ef5-900d-777bf01b43bf
– LV タグの確認:LVM バックエンドはデータを論理ボリューム (LV) に保管します。 RHV は、その LV を使用するディスク ID ですべての LV にタグを付けます。以下のコマンド LV タグから、ボリューム チェーンを確認できます。
# lvs -o +tags|grep 9f13d2e3-eed5-4af2-936c-358bc4948608 043dfd54-30d2-4437-9cba-2eded92136b6 c95e9f3e-79cb-47ab-9825-8093ee12e42b -wi-ao---- 1.00g IU_9f13d2e3-eed5-4af2-936c-358bc4948608,MD_8,PU_3fdf455e-52e6-48da-81f5-475cad796d21 >>>> third snapshot 3fdf455e-52e6-48da-81f5-475cad796d21 c95e9f3e-79cb-47ab-9825-8093ee12e42b -wi-ao---- 1.00g IU_9f13d2e3-eed5-4af2-936c-358bc4948608,MD_6,PU_4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 >>>>> second snapshot 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 c95e9f3e-79cb-47ab-9825-8093ee12e42b -wi-ao---- 48.00g IU_9f13d2e3-eed5-4af2-936c-358bc4948608,MD_3,PU_00000000-0000-0000-0000-000000000000 >>>>> first snapshot c9a717e4-bc90-4ef5-900d-777bf01b43bf c95e9f3e-79cb-47ab-9825-8093ee12e42b -wi-ao---- 1.00g IU_9f13d2e3-eed5-4af2-936c-358bc4948608,MD_11,PU_043dfd54-30d2-4437-9cba-2eded92136b6 >>>>> Active VM
– qemu イメージを確認します。例:
# qemu-img info /dev/c95e9f3e-79cb-47ab-9825-8093ee12e42b/4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 image: /dev/c95e9f3e-79cb-47ab-9825-8093ee12e42b/4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 file format: raw virtual size: 48G (51539607552 bytes) >>>>>>>>>>> disk size: 0
ボリューム チェーンをダンプします。例:
# vdsm-tool dump-volume-chains c95e9f3e-79cb-47ab-9825-8093ee12e42b |grep -A14 9f13d2e3-eed5-4af2-936c-358bc4948608 image: 9f13d2e3-eed5-4af2-936c-358bc4948608 - 4ccf601e-ec11-4c10-be8c-3b1a6e53aa51 >>>>this is the first snapshot volume_id status: OK, voltype: INTERNAL, format: RAW, legality: LEGAL, type: PREALLOCATED, capacity: 51539607552, truesize: 51539607552 - 3fdf455e-52e6-48da-81f5-475cad796d21 >>>>this is the second snapshot volume_id status: OK, voltype: INTERNAL, format: COW, legality: LEGAL, type: SPARSE, capacity: 51539607552, truesize: 1073741824 - 043dfd54-30d2-4437-9cba-2eded92136b6 >>>>this is the third snapshot volume_id status: OK, voltype: INTERNAL, format: COW, legality: LEGAL, type: SPARSE, capacity: 51539607552, truesize: 1073741824 - c9a717e4-bc90-4ef5-900d-777bf01b43bf >>>>this is Active VM Leaf volume_id status: OK, voltype: LEAF, format: COW, legality: LEGAL, type: SPARSE, capacity: 51539607552, truesize: 1073741824