虛擬機管理

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安裝成功之後就有圖形界面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章