1. 程式人生 > >Linux中的虛擬機器

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重置成功。