みなさんこんにちは。ヒロウミです。
仮想マシンに対して大きな変更を加える時に問題が発生することが考えられます。そんなとき変更前の状態に戻せるようにKVMでスナップショットを取る方法をメモっておきます。
※スナップショット機能
スナップショット機能とは、特定の時点で仮想ディスクの状態(スナップショット)を保存しておき、変更が行われた後でもそのスナップショットの状態に戻すことのできる機能です。(KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド より引用)
なおスナップショットを取る対象の仮想ディスクイメージの種類は「qcow2」形式とする。
仮想マシンのディスクイメージ形式を確認する # qemu-img info rproxy-ubuntu.img image: rproxy-ubuntu.img file format: qcow2 ←qcow2形式なのでスナップショット機能をサポートしている virtual size: 20G (21474836480 bytes) disk size: 2.5G cluster_size: 65536 仮想マシンは停止させておく必要がある # virsh shutdown rproxy-ubuntu 対象となるイメージファイルを確認する # ll /var/lib/libvirt/images/ 合計 14672624 -rw-r--r--. 1 qemu qemu 3015573504 11月 13 21:59 16-centos6-rails.img -rw-r--r--. 1 root root 197120 9月 20 19:18 node-js-ubuntu.img -rw-r--r--. 1 qemu qemu 1371348992 11月 13 21:59 node-js.img -rw-------. 1 qemu qemu 21478375424 11月 13 21:59 nodered01-ubuntu.img -rw-r--r--. 1 qemu qemu 21478375424 11月 13 21:15 nodered02-ubuntu.img -rw-r--r--. 1 qemu qemu 1947992064 11月 13 21:59 open-vpn.img -rw-------. 1 root root 21478441472 11月 13 21:51 rproxy-ubuntu.img ← 今回はこれ -rw-r--r--. 1 qemu qemu 1884422144 11月 13 21:59 samba-server.img スナップショットを取る # qemu-img snapshot -c ssl-mosquitto rproxy-ubuntu.img スナップショットを確認する # qemu-img snapshot -l rproxy-ubuntu.imgSnapshot list: ID TAG VM SIZE DATE VM CLOCK 1 ssl-mosquitto 0 2016-11-13 21:51:33 00:00:00.000
以上でスナップショットが取れました。もし仮想マシンの操作に失敗してしまったら上記のスナップショットともとの仮想ディスクイメージがあれば復元できます。スナップショットによる復元方法は以下の通りです。
※仮想マシンは停止してから行わないとエラーになるので注意 # qemu-img snapshot -a ssl-mosquitto rproxy-ubuntu.img
参考サイト:
参考書籍:
KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド