Linux基礎_建立虛擬機器快照
建立虛擬機器快照
虛擬機器的出現幫助使用者省去了很多的麻煩。在不小心刪掉一些不該刪掉的東西之後導致系統直接崩潰的時候,可以將虛擬機器刪掉,重新建立一個虛擬機器繼續使用就可以了。如何建立虛擬機器,請參考《Linux基礎_安裝虛擬機器》這篇部落格。但是安裝虛擬機器也是需要一些複雜的過程,等待一段時間才能安裝好,並且在刪掉虛擬機器之後所有的操作都會消失。為了應對這些情況,我給大家介紹一種可以更加簡便的方式去建立虛擬機器——虛擬機器快照。
虛擬機器建立快照可以形象的比喻為給虛擬機器拍照片,然後對虛擬機器的照片進行更改,一旦出現問題,只要將照片刪掉,重新拍張照片。建立快照的過程不需要等待,非常快速高效。一些重複的配置,只要在母映象上配置完成,後面所有的快照都會繼承母映象的配置。本篇文章就詳細介紹瞭如何建立虛擬機器快照。
要建立快照,就必須有一個模板,就好像人拍照一樣,必須有一個被拍的物件。我的模板是我建立的一個虛擬機器rhel7.1。當虛擬機器建立完成之後都會產生兩個檔案,一個是/etc/libvirt/
/var/lib/libvirt/images/
目錄下的磁碟檔案。如下圖rhel7.1.qcow2就是rhel7.1主機的磁碟檔案:
就用rhel7.1.qcow2檔案建立快照,命令如下
[[email protected] mnt]# cd /var/lib/libvirt/images/
[[email protected] images]# qemu-img create -f qcow2 -b rhel7.1.qcow2 node1
#以rhel7.1虛擬機器為模板建立一個node1的快照
-f #指定格式
-b #指定模板
建立完之後就會在該目錄下生成一個node1的快照檔案,下來就要將要使用該快照檔案建立虛擬機器,執行以下命令開啟虛擬機器管理軟體:
[[email protected] mnt]# virt-manager
點選左上角的帶星星的小電腦的圖示,出現以下介面:
選擇Import existing disk images使用快照建立虛擬機器,點選Forward繼續:
點選Browse選擇一開始建立的快照檔案,然後如下選擇:
點選Forward繼續選擇記憶體大小,cpu個數。更改主機名:
node1就是我新建立的主機名。選擇完成之後虛擬機器就建立完成了。node1就是以rhel7.1主機建立的虛擬機器:
如果node1主機出現問題時,只要將/var/lib/libvirt/images/node1
檔案刪除,再重新建立一個快照檔案就可以了:
[[email protected] mnt]# vim vm_snapshoot.sh
#!/bin/bash #建立快照的命令,因為命令過長用`/`進行分行
qemu-img create \
-f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2
virt-install \ #使用快照檔案安裝虛擬機器模組
--name $2 \ #指定虛擬機器名字
--ram 1024 \ #指定記憶體大小為1G
--vcpu 1 \ #指定cpu個數
--network source=br0,model=virtio \ #指定網絡卡及其格式
--disk /var/lib/libvirt/images/$2.qcow2 \ #指定建立的快照檔案
--import #匯入
$1 #在執行命令後的第一個字串 $2 #在執行該指令碼後的第二個字串
執行該指令碼
[[email protected] mnt]# sh vm_snapshoot.sh rhel7.1 test
表示以rhel7.1為模板建立test虛擬機器
使用指令碼方式建立虛擬機器比圖形建立方便的多,更適合建立多臺虛擬機器。