1.安裝虛擬機
(1)腳本語言本地安裝虛擬機
腳本內容:
#!/bin/bash ##指定運行環境
virt-install \ ##安裝虛擬機
--name $1 \ ##虛擬機的名字
--ram 1024 \ ##虛擬機的內存
--file /var/lib/libvirt/images/$1.qcow2 \ ##硬盤的位置
--file-size 8 \ ##磁盤的大小爲8G
--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \ ##將鏡像文件插入運行
--vcpus 1 & ##CPU爲1核,並將進程打入後臺運行
如下圖所示:
注意:(1)其中 \表示換行,&表示將虛擬機安裝進程打入後臺進行。
(2)腳本語言編輯結束需要加x權限,否則使用腳本會報錯:沒有權限。
(3)shell窗口運行腳本,需要在腳本後面加上虛擬機的名字(即$1的內容)。
(4)運行腳本前可使用sh -x對腳本進行排錯。
(2)腳本語言網絡安裝
需要配置yum源,http服務。
#!/bin/bash
virt-install \ ##安裝虛擬機
--name $1 \ ##虛擬機的名字
--ram 1024 \ ##虛擬機的內存
--file /var/lib/libvirt/images/$1.qcow2 \ ##虛擬機的前端文件存放位置
--file-size 10 \ ##虛擬機的磁盤大小
--vcpus 1 \ ##內核個數
--location http://172.25.254.3/rhel7.2 & ##安裝位置,網絡安裝
2.管理
virt-manager ##開啓圖形管理工具
virsh list ##列出正在運行的vm
virsh list –all ##列出所有vm
virsh start vmname ##運行指定vm
virt-viewer vmname ##顯示指定的vm
virsh shutdown vmname ##正常關閉指定vm
virsh destroy vmname ##強行結束指定vm
virsh create vmname.xml ##臨時恢復指定vm,當關閉virt-manager命令打開的圖形窗口後,該vm將不再存在。vmname表示前端管理文件
virsh define vmname.xml ##永久恢復vm
virsh undefine vmname ##刪除vm的前端管理,不會刪除存儲
3.恢復虛擬機
(1)複製兩個文件:
cd /var/lib/libvirt/images ##/var/lib/libvirt/images爲磁盤文件存放目錄
mv node2.qcow2 /mnt/ ##移動硬盤上的數據文件
cd /etc/libvirt/qemu/ ##/etc/libvirt/qemu/爲前端文件存放目錄
cp node2.xml /mnt/ ##複製前端配置文件
注意:移動node2.qcow2和備份node2.xml是爲刪除node2虛擬機及恢復虛擬機做準備。刪除node2虛擬機後,應將node2.qcow2從/mnt/下移回/var/lib/libvirt/images,再進行恢復虛擬機。
(2)刪除node2虛擬機
virsh undefine node2
(3)恢復
virsh define node2.xml ##永久性恢復node2虛擬機,關閉後仍存在
virsh create node2.xml ##臨時恢復node2虛擬機,關閉虛擬機就不存在
快照文件恢復虛擬機:
(一)編寫腳本,腳本內容爲:
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2 ##根據磁盤文件/var/lib/libvirt/images/vm_storage.qcow2生成快照文件/var/lib/libvirt/images/$1.qcow2,-f表示快照文件的類型,-b表示目標文件
virt install \ ##安裝虛擬機
--name $1 \ ##虛擬機的名字
--ram 1024 \ ##虛擬機的內存
--file /var/lib/libvirt/images/$1.qcow2 \ ##指定快照文件的地址
--file-size 8 \ ##虛擬機的磁盤大小
--import & ##跳過安裝過程,並將安裝打入後臺
(2)快照文件圖形界面恢復虛擬機
選擇“Import existing disk image”方式建立虛擬機。
4.虛擬機快照
快照的原理:快照產生文件,讀取的是磁盤上的本文件,數據存取用的是快照文件。虛擬機重置就是刪除快照文件。
生成快照文件:qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
重置虛擬機:即刪除前端文件,用磁盤文件做快照文件,使用快照文件恢復虛擬機。
腳本內容如下:
#!/bin/bash
virsh destroy $1 &> /dev/null ##強行關閉虛擬機
virsh undefine $1 &> /dev/null ##刪除虛擬機(僅刪除前端文件,磁盤文件不會刪除)
qemu-img create -f qcow2 -b /var/lib/libvirt/images/ \
\$1.qcow2 /var/lib/libvirt/images/\$2.qcow2 &> /dev/null ##生成快照文件
virt-install \ ##安裝虛擬機
--name $2 \ ##命名虛擬機
--ram 1024 \ ##指定內存大小
--disk /var/lib/libvirt/images/$2.qcow2 \ ##使用快照文件安裝虛擬機
--import &> /dev/null &
free -m ##內存剩餘量查詢
xml ##可擴展標記語言(數據封裝,虛擬機前端)
html ##超文本可編輯語言(寫網頁文件)
注意:
1.圖形界面安裝方式選擇
(1)Local install media(ISO image or CDROM) ##從官網下載的鏡像文件選用該安裝方式
(2)Network install(HTTP,FTP,or NFS) ##網絡安裝,需要配置yum源,http服務,dhcp等。
(3)Network boot(PXE)
(4)Import existing disk image ##當使用快照文件或磁盤文件時選用該安裝方式
2.腳本安裝虛擬機設置NIC,Device model,Disk bus
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2,bus=virtio \ ##Virtual Disk的Advanced options設定
--file-size 8 \
--network source=br0,model=virtio \ ##Virtual Network Interface的network source和Device model設定
--import &
問題1:腳本網絡安裝虛擬機
原因:未安裝dhcp
解決方法:下載dhcp並啓動dhcp。
問題2:安裝虛擬機成功後,直接進入到文字界面,無法調整到圖形界面
原因:選擇minimal安裝,選擇GUI安裝成功之後就有圖形界面