虚拟机管理

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安装成功之后就有图形界面

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