快照加指令碼方式安裝虛擬機器
有時候需要對虛擬機器做一些『危險』
的測試,例如刪除根目錄。直接對虛擬機器操作顯然不可取,那麼可以做乙個當前虛擬機器的快照,然後在快照中任意使用而不會影響原虛擬機器。
使用快照時原虛擬機器就暫時不能使用了,因為快照也是要呼叫原虛擬機器.img
檔案的,只不過它不會更改原虛擬機器的
.img
檔案而以。如果原虛擬機器也在使用可能會造成快照虛擬機器和原來虛擬機器資料衝突。
建議現在將母本虛擬機器隱藏起來保護,避免被誤刪。
隱藏的方法:
方法一:直接undefine
母本前端檔案,並更改母本硬碟檔名稱。 1.
執行virsh undefine node1
[root@station images]# ls /etc/libvirt/qemu
client1.xml networks redhat.xml server1.xml www.xml
可以發現node1
的xml
檔案沒了。
2.修改名稱
cd /var/lib/libvirt/images/
mv node1.img node1_storage.img
方法二:在virt-manager
下慎重刪除虛擬機器但注意去掉硬碟選項,然後修改名字和上述
2.一樣
做虛擬機器快照的指令:qemu-img create -f qcow2 -b node1.img xin.img,redhat7.2的系統有可能這個硬碟檔案是qcow2格式的,這裡只需要將node1.img xin.img這裡的.img改為.qcow2即可
快照安裝指令碼如下:
[root@station desktop]# vim create_photo.sh
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.img /var/lib/libvirt/images/$2.img &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.img \
--import &> /dev/null &
$1是母盤,$2是快照,>/dev/null表示不在shell中顯示多餘的資訊
新的虛擬機器『new』就被建立好了,不用漫長的等待安裝的時間,而且跟node1裡面的所有配置也都一樣。
既然一開始的目的是用快照做一些危險的操作,如果快照虛擬機器被玩壞了怎麼辦,可以使用下面的指令碼reset
[root@station desktop]# vim reset_photo.sh
#!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/node1.img /var/lib/libvirt/images/$1.img &> /dev/null
virt-install \
--name $1 \
--ram 1000 \
--disk /var/lib/libvirt/images/$1.img \
--import &> /dev/null &
$1是想要恢復的快照虛擬機器的名字,這個指令碼的思路是將壞掉的快照虛擬機器undefine掉,然後重新從母盤做乙份快照,再
執行安裝指令即可reset成功
恢復成功。
因此create_photo.sh和reset_photo.sh兩個指令碼可以當作快照虛擬機器安裝法和快照虛擬機器重置法使用。
系統虛擬機器管理
bin bash 命令執行環境的指定 virt install 安裝虛擬機器 name 1 虛擬機器名稱指定,1表示指令碼後的第一串字元 ram 1000 記憶體 file var lib libvirt images 1.img 硬碟檔案 file size 8 硬碟檔案大小 cdrom var ...
系統虛擬機器管理
1.安裝 1.圖形安裝 選擇安裝方式 設定虛擬機器記憶體和cpu 設定記憶體大小 設定虛擬機器名稱 接下來根據設定嚮導一步步完成設定即可。2.指令碼安裝 bin bash 命令執行環境的指定 virt install 安裝虛擬機器 name 1 虛擬機器名稱指定,1表示指令碼後的第一串字元 ram ...
虛擬機器管理
虛擬機器管理 先圖形安裝虛擬機器,server with gui 1.指令碼安裝虛擬機器 bin bash virt install cdrom home kiosk desktop rhel server 7.3 x86 64 iso ram 1024 cpus 1 disk var lib li...