Linux中的虛擬機器
1.手動安裝虛擬機器
本地要有虛擬機器映象
物理機root使用者下virt-manager虛擬機器管理器:
步驟:
左上角>>Local install media(ISO image or CDROM)>>Use ISO image>>Browse Local(找到本地ISO映象)>>Open>>Forward>>Forward>>設定disk image>>Forward>>Name>>Finish>>Install Red Hat Enterprise Linux 7.0>>選擇安裝語言>>選擇時區>>語言支援>>鍵盤>>安裝來源選擇Local media>>SOFTWARE SELECTION選擇Server with GUI>>自己分割槽(其中swap大小一般為實體記憶體兩倍,各個分割槽大小隨意。主要的有/、/boot、swap三個區。/的大小等於總的減去其他)
2.指令碼安裝虛擬機器
vim createvm.sh (指令碼檔案.sh結尾)
##
#!/bin/bash
virt-install \(空格加\=換行符)
--cdrom 映象路徑 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/asj.qcow2,bus=virtio,size=10 \
--name asj \
--network bridge=br0,model=virtio \
##
chmod +x createvm.sh
sh createvm.sh
過程截圖:
然後手動操作。。。
虛擬機器中的母本存在於.qcow檔案中
虛擬機器中所做操作存在於.ovl檔案中
平時操作不影響虛擬機器母本,所以可以重置虛擬機器。
3.虛擬機器管理命令
virt-manager(超級使用者下執行)開啟虛擬機器管理器
virsh list 列出所有開啟的虛擬機器
virsh list --all 列出所有虛擬機器及其狀態
virsh start name 開啟虛擬機器
virt-viewer name 檢視虛擬機器
virsh shutdown name(需要進入系統)關機
virsh destroy name 強制關機
virsh undefine name 刪除虛擬機器
4.模擬虛擬機器恢復
1.嘗試著把別人的虛擬機器弄到自己的機子上
/etc/libvirt/qemu/.xml(.xml 虛擬機器配置檔案) /var/lib/libvirt/images/.qcow(.qcow2 虛擬機器母本)
將上述兩個檔案從別人的機子上scp到自己的機子上。
scp [email protected]別人的ip:/var/lib/libvirt/images/.qcow2 /var/lib/libvirt/images/
scp [email protected]別人的ip:/etc/libvirt/qemu/.xml /etc/libvirt/qemu
virsh create .xml(一次性的用完就沒咯)
virsh define .xml(永久恢復虛擬機器)
2.只有一臺主機時模擬恢復過程:
將.qcow檔案從/var/lib/libvirt/images目錄中移出,.xml檔案從/etc/libvirt/qemu目錄中移出,然後virsh define .xml(永久恢復虛擬機器)。出現報錯如下:
解決辦法:
mv / .qcow2 /var/lib/libvirt/images/
virsh define .xml 永久恢復虛擬機器
5.製作虛擬機器快照
1.手動製作虛擬機器快照
qemu-img create -f qcow2 -b .qcow2 node1
選擇import disk這一項
尋找.qcow2
2.指令碼製作虛擬機器快照
vim kuaizhao.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 \
--cpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--import &
##
chmod +x kuaizhao.sh
sh ./kuaizhao.sh student(原本的母本) node1(新建快照的名字) 直接建立快照並開啟
過程截圖:
真機中:
kuaizhao.sh中的內容:
以meijia為母本製作快照node1結果圖:
6.虛擬機器重置
正常reset就是把/var/lib/libvirt/images/.ovl檔案刪掉再重建。
編寫指令碼檔案:
vim reset.sh
##
#!/bin/bash
virsh destroy $1
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/$2.qcow2 \
/var/lib/libvirt/images/$1.qcow2
virsh start $1
virt-viewer $1 &
##
chmod +x reset.sh
sh ./reset.sh rhel7.0 node1
過程截圖:
node1中(破壞此虛擬機器):
真機中重置node1虛擬機器()以meijia這臺虛擬機器作為母本:
reset.sh中的內容:
所得結果圖:
node1重置成功。