爛泥:KVM快照的創建與恢復


本文由秀依林楓提供友情贊助,首發於爛泥行天下

因為要做有關KVM虛擬機的實驗,所以需要虛擬機生成快照。查詢相關資料,說KVM可以使用兩種方法生成虛擬機的快照。

方法一、使用qemu-img snapshot命令進行生成快照

方法二、使用virsh snapshot-create-as命令進行生成快照

其實經過我的測試,發現使用qemu-img snapshot命令生成快照后,即使恢復快照也是沒有用的。虛擬機還是當前的狀態,而不是快照之前的狀態。不知道為什么,而且還不穩定,經常報錯。

注意要使用KVM的快照功能,虛擬機的硬盤一定要是qcow2格式,否則無法使用快照功能。

有關硬盤的格式,可以在創建虛擬機硬盤時指定,也可以使用相關命令進行轉換。這個可以參考我之前的文章《爛泥:KVM中安裝Windows Server 2008 R2系統》。

在這篇文章中,我們重點介紹有關virsh snapshot-create-as命令生成快照。

不過在介紹之前,我們還是把第一種方法使用qemu-img snapshot命令生成快照的相關命令介紹下。

其實我們是可以直接通過命令的幫助查詢到有關qemu-img snapshot使用方法的。

本次實驗我們已虛擬機centos為例,已centos虛擬機安裝ftp命令前后做快照。

clip_image001[4]

clip_image002[4]

我們先來創建一個快照,使用如下命令:

qemu-img snapshot -c centos_install_ftp /vhostdisk/centos.img

創建快照

qemu-img snapshot -l /vhostdisk/centos.img

查詢快照

qemu-img snapshot -d centos_install_ftp /vhostdisk/centos.img

刪除快照

clip_image003[4]

clip_image004[4]

注意,其中centos_install_ftp為快照名稱,/vhostdisk/centos.img為原虛擬機。

剛剛在使用qemu-img snapshot進行相關測試發現,居然把我的虛擬機給搞壞了。唉,真是坑爹啊,怪不得網絡上的資料顯示使用這個有問題呢。強烈建議,還是使用第二種方法吧。

以上是qemu-img snapshot創建KVM快照的方法,現在我們來介紹使用virsh snapshot-create-as來生成虛擬機快照的方法。

Centos虛擬機未安裝ftp命令,創建快照如下:

clip_image005[4]

snapshot-create-as centos centos_install_ftp

為虛擬機centos創建快照,快照名稱為centos_install_ftp

snapshot-list centos查看虛擬機centos所有的快照

snapshot-info centos centos_uninstall_ftp

查看虛擬機centos快照centos_uninstall_ftp詳細信息

clip_image006[4]

Centos虛擬機安裝ftp命令,創建快照如下:

clip_image007[4]

snapshot-create-as centos centos_install_ftp

為虛擬機centos創建快照,快照名稱為centos_install_ftp

clip_image008[4]

以上我們把centos這台虛擬機在安裝FTP命令前后的快照已經做好,現在虛擬機centos處於已經安裝FTP命令狀態,如果我們此時要把虛擬機centos恢復到安裝FTP命令之前的話,我們只需要使用virsh snapshot-revert命令即可。但是在使用virsh snapshot-revert命令恢復虛擬機centos狀態之前,我們必須要把虛擬機關閉。

關閉虛擬機,我們可以使用virsh destroy命令進行強制性關機,我們也可以使用virsh shutdown命令進行關機。

注意要使用virsh shutdown命令進行關閉虛擬機的話,一定要安裝acpid服務。同時經過多次測試證明如果虛擬機有快照的話,就無法使用virsh shutdown/reboot,命令進行關機或者重啟。

yum -y install acpid 安裝acpid服務

/etc/init.d/acpid status 查看acpid服務是否運行

clip_image009[4]

destroy centos強制關閉虛擬機centos

clip_image010[4]

Centos虛擬機關閉后,我們開始恢復虛擬機的狀態到未安裝FTP命令之前,即恢復虛擬機centos的快照。使用如下命令:

snapshot-revert centos centos_uninstall_ftp

clip_image011[4]

注意:快照恢復完畢后,強烈建議把現在的虛擬機關閉重新啟動下。

clip_image012[4]

以上是有關KVM虛擬機的創建與恢復,如果要刪除一個快照,可以使用如下命令:

snapshot-delete centos centos_uninstall_ftp

至此KVM虛擬機的快照介紹完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM