差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:kvm_snapshot [2012/06/25 10:48] – jonathan | tech:kvm_snapshot [2016/10/30 11:21] (目前版本) – jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== CentOS 6 KVM Snapshot ====== | ||
+ | ===== 確認 VM Image 格式 ===== | ||
+ | * 執行 snapshot 的語法< | ||
+ | [root@asus-ts100e7 ~]# virsh snapshot-create e-plast-mail | ||
+ | 錯誤:Requested operation is not valid: Disk '/ | ||
+ | </ | ||
+ | * 確認 image 的格式語法< | ||
+ | [root@asus-ts100e7 ~]# qemu-img info / | ||
+ | image: / | ||
+ | file format: raw | ||
+ | virtual size: 9.8G (10485760000 bytes) | ||
+ | disk size: 9.8G | ||
+ | </ | ||
+ | * 如果是 raw 要先轉成 qcow2 格式, 語法< | ||
+ | [root@asus-ts100e7 ~]# qemu-img convert -f raw -O qcow2 / | ||
+ | [root@asus-ts100e7 ~]# qemu-img info / | ||
+ | image: / | ||
+ | file format: qcow2 | ||
+ | virtual size: 9.8G (10485760000 bytes) | ||
+ | disk size: 3.0G | ||
+ | cluster_size: | ||
+ | </ | ||
+ | * 更改 vm config file 範例: <code sh>virsh edit e-plast-mail</ | ||
+ | : | ||
+ | <disk type=' | ||
+ | <driver name=' | ||
+ | <source file='/ | ||
+ | <target dev=' | ||
+ | </ | ||
+ | : | ||
+ | </ | ||
+ | * 重新啟動 vm 範例: <code sh>virsh restart e-plast-mail</ | ||
+ | |||
+ | ===== 建立 snapshot ===== | ||
+ | * 目前版本進行 snapshot 過程 vm 會無法運作 | ||
+ | * 執行 snapshot 的語法< | ||
+ | [root@asus-ts100e7 ~]# virsh snapshot-create e-plast-mail | ||
+ | Domain snapshot 1349058343 created | ||
+ | </ | ||
+ | * 這時會在 / | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== 查詢目前 snapshot ===== | ||
+ | * 可以查看目前已經存在多少份 snapshot< | ||
+ | virsh snapshot-list e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 images]# virsh snapshot-list e-plast-mail | ||
+ | | ||
+ | --------------------------------------------------- | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | * 目前是使用哪個 snapshot 版本< | ||
+ | virsh snapshot-current e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 images]# virsh snapshot-current e-plast-mail | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== 復原到特定版本 snapshot ===== | ||
+ | * 經過驗證, | ||
+ | * 確認 VM 目前運作狀態< | ||
+ | virsh domstate e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 libvirt]# virsh domstate e-plast-mail | ||
+ | 執行中 | ||
+ | </ | ||
+ | * 執行關閉 VM 指令< | ||
+ | virsh shutdown e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 libvirt]# virsh shutdown e-plast-mail | ||
+ | 區域 e-plast-mail 正在執行關機 | ||
+ | </ | ||
+ | * 確認 VM 目前已經是關機狀態< | ||
+ | virsh domstate e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 save]# virsh domstate e-plast-mail | ||
+ | 關機 | ||
+ | </ | ||
+ | * 確定要回覆哪份 snapshot 版本< | ||
+ | virsh snapshot-list e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 save]# virsh snapshot-list e-plast-mail | ||
+ | | ||
+ | --------------------------------------------------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | * 執行 snapshot-revert 指令< | ||
+ | virsh snapshot-revert e-plast-mail 1349071788 | ||
+ | </ | ||
+ | * 確認目前執行的 snapshot 版本< | ||
+ | virsh snapshot-current e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 save]# virsh snapshot-current e-plast-mail | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | * revirt 後 VM 會自動啟動在當時 snapshot-create 的狀態 | ||
+ | * 原本在 1349071788 (2012-10-01 14:09:48) 時所執行的程式還會繼續運作 | ||
+ | * VM 內的系統時間還是在 1349071788 (2012-10-01 14:09:48) 所以要考慮時間矯正議題 | ||
+ | </ | ||
+ | |||
+ | ===== 刪除不需要的 snapshot ===== | ||
+ | * 原有的 snapshot 清單< | ||
+ | virsh snapshot-list e-plast-mail | ||
+ | </ | ||
+ | [root@asus-ts100e7 save]# virsh snapshot-list e-plast-mail | ||
+ | | ||
+ | --------------------------------------------------- | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | * 打算移除掉 1349059256 這份版本< | ||
+ | virsh snapshot-delete e-plast-mail 1349059256 | ||
+ | </ | ||
+ | [root@asus-ts100e7 save]# virsh snapshot-list e-plast-mail | ||
+ | | ||
+ | --------------------------------------------------- | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | * snapshot 主要在 image file 內增加 tag, 因此可以透過 qemu-img info 指令來瞭解< | ||
+ | qemu-img info / | ||
+ | </ | ||
+ | [root@asus-ts100e7 images]# qemu-img info / | ||
+ | image: / | ||
+ | file format: qcow2 | ||
+ | virtual size: 9.8G (10485760000 bytes) | ||
+ | disk size: 7.0G | ||
+ | cluster_size: | ||
+ | Snapshot list: | ||
+ | ID TAG VM SIZE DATE VM CLOCK | ||
+ | 1 | ||
+ | 3 | ||
+ | </ | ||
+ | </ | ||
+ | ===== 參考網址 ===== | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | {{tag> |