仮想化プラットフォームで作業している間、システム管理者は通常、最新のパッチやコードの展開などの主要なアクティビティを実行する前に、仮想マシンのスナップショットを取得します。
仮想マシンのスナップショット 特定の時点での仮想マシンのディスクのコピーです。つまり、スナップショットは、特定の時点での仮想マシンの状態とデータを保持または保持していると言えます。
VMスナップショットを使用できる場所..?
KVMで作業している場合 ベースのハイパーバイザー virshコマンドを使用して、仮想マシンまたはドメインスナップショットを取得できます。スナップショットは、VMに最新のパッチをインストールまたは適用したが、何らかの理由でVMでホストされているアプリケーションが不安定になり、アプリケーションチームがすべての変更またはパッチを元に戻したい場合に非常に役立ちます。パッチを適用する前にVMのスナップショットを取得していた場合は、スナップショットを使用してVMを以前の状態に復元または元に戻すことができます。
注: ディスクフォーマットがQcow2のVMのスナップショットのみを取得できます また、rawディスクフォーマットはkvm virshコマンドではサポートされていません。以下のコマンドを使用して、rawディスクフォーマットをqcow2に変換します
# qemu-img convert -f raw -O qcow2 image-name.img image-name.qcow2
KVM仮想マシン(ドメイン)スナップショットの作成
KVMハイパーバイザーはすでにRHEL7/8またはCentOS/Rocky Linuxで構成されており、VMが実行されていると想定しています。以下のvirshコマンドを使用して、ハイパーバイザー上のすべてのVMを一覧表示できます。
[[email protected] ~]# virsh list --all Id Name State ---------------------------------------------------- 94 centos7.0 running 101 overcloud-controller running 102 overcloud-compute2 running 103 overcloud-compute1 running 114 webserver running 115 Test-MTN running [[email protected] ~]#
「ウェブサーバー」のスナップショットを作成するとします。 ‘VM、以下のコマンドを実行します
構文:
#virshsnapshot-create-as –domain {vm_name} –name {snapshot_name} –description「ここに説明を入力してください」
[[email protected] ~]# virsh snapshot-create-as --domain webserver --name webserver_snap --description "snap before patch on 4Feb2018" Domain snapshot webserver_snap created [[email protected] ~]#>
スナップショットが作成されると、以下のコマンドを使用してVMに関連するスナップショットを一覧表示できます。
[[email protected] ~]# virsh snapshot-list webserver Name Creation Time State ------------------------------------------------------------ webserver_snap 2018-02-04 15:05:05 +0530 running [[email protected] ~]#
VMのスナップショットの詳細情報を一覧表示するには、下のvirshコマンドを実行します
[[email protected] ~]# virsh snapshot-info --domain webserver --snapshotname webserver_snap Name: webserver_snap Domain: webserver Current: yes State: running Location: internal Parent: - Children: 0 Descendants: 0 Metadata: yes [[email protected] ~]#
以下のqemu-imgコマンドを使用してスナップショットのサイズを表示できます
[[email protected] ~]# qemu-img info /var/lib/libvirt/images/snaptestvm.img
KVM仮想マシンをスナップショットに戻す/復元する
WebサーバーVMを、上記の手順で作成したスナップショットに戻すか、復元するとします。以下のvirshコマンドを使用して、WebサーバーVMをスナップショット「 webserver_snap」に復元します。 」
構文:
#virshsnapshot-revert {vm_name} {snapshot_name}
[[email protected] ~]# virsh snapshot-revert webserver webserver_snap [[email protected] ~]#
KVM仮想マシンのスナップショットを削除する
KVM仮想マシンのスナップショットを削除するには、最初に「virshsnapshot-list」を使用してVMのスナップショットの詳細を取得します 」コマンドを実行してから、「 virshsnapshot-delete」を使用します 」コマンドを使用してスナップショットを削除します。例を以下に示します:
[[email protected] ~]# virsh snapshot-list --domain webserver Name Creation Time State ------------------------------------------------------------ webserver_snap 2018-02-04 15:05:05 +0530 running [[email protected] ~]#
[[email protected] ~]# virsh snapshot-delete --domain webserver --snapshotname webserver_snap Domain snapshot webserver_snap deleted [[email protected] ~]#
これですべてです。virshコマンドを使用してKVM仮想マシンのスナップショットを管理する方法について理解していただければ幸いです。フィードバックを共有してください。技術的な友人と共有することを躊躇しないでください。
また読む :コマンドラインを使用してKVM仮想マシンを作成および管理する方法