如何对虚拟机进行管理

一  虚拟机的安装

首先我们得准备一个你需要安装的虚拟机版本的镜像源,这样我们就可以对虚拟机进行安装了

在主机的shell中,输入virt-manages,这样我们就进入到虚拟机管理的界面

如何对虚拟机进行管理

可以看到,其中desktop 和 server 是 Shutoff (关闭的),而 kello 是 Running(开启的)

这样我们就可以在虚拟机管理这个界面,来安装一个新的虚拟机了

首先点这个点左上角这个图标如何对虚拟机进行管理,会进入到这里,选择本地镜像安装(Local install media),然后 Forward

如何对虚拟机进行管理

 选择 Browse (浏览)

如何对虚拟机进行管理

     选择 Browes Local (浏览本地文件)

如何对虚拟机进行管理

 我们的镜像源为 /home/kiosk/Desktop/rhel-server-7.2-x86-dvd.iso ,然后 Forward

如何对虚拟机进行管理

选择 Memory (内存)和 CPU 的大小 ,这里不变 ,然后 Forward

如何对虚拟机进行管理

 磁盘 大小不变,然后 Forward

如何对虚拟机进行管理

 这里名字你随便起,我们起个 west ,最后 Finish,结束

如何对虚拟机进行管理

 这样我们的的虚拟机就安装好了,进入下面的界面

如何对虚拟机进行管理

可以看到,这样点来点去,是不是太麻烦了,我们怎样来避免这个呢

因此,我们需要写个脚本来运行这个

我们现在 /mnt 下面建立一个文件,用来写我们的脚本 文件名就叫 dcript.sh (注意:一定要以 .sh 结尾,否则脚本是不能执行的)

下面我们来编写这个脚本 vim /mnt/dcript.sh

如何对虚拟机进行管理

#!/bin/bash   ##脚本开头用语,表示 用 bash 来解释后面的命令

virt-install   ##表示 建立新虚拟机

--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso   ##表示 用的本地镜像源是什么

--ram 1024   ##表示 内存的大小

--cpus 1    ##表示CPU为1

--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=9    ##表示磁盘的大小,系统文件的存放位置,以及驱动的类型

--name $1  ##表示名字

--network bridge=br0,model=virtio    ##表示网络的桥接与虚拟网卡

为了让大家看的清楚些,可以看到在每一行指令后面都有(空格+\),来表示命令的不间断换行

&   ##表示 结束

二  管理虚拟机的命令

virt-manager    #开启虚拟机管理器
virsh list     #显示正在运行的虚拟机

如何对虚拟机进行管理

可以看到desktop 这个虚拟机是正在运行的(running)
virsh list --all    #查看所有虚拟机

如何对虚拟机进行管理

除了 desktop 外,kello 和 server 两个虚拟机都是停止的(shut off)
virsh start desktop    #打开ia

如何对虚拟机进行管理

开启虚拟机 desktop
virsh shutdown desktop    #正常关闭虚拟机

如何对虚拟机进行管理

正常关闭虚拟机 desktop
virsh destroy desktop    #强行关闭

如何对虚拟机进行管理

强行关闭虚拟机 desktop
virt-viewer desktop    #显示虚拟机

三  怎样对虚拟机进行恢复

首先我们得需要虚拟机的两个文件 .xml 和 .qcow2 ,来对虚拟机进行恢复

如何对虚拟机进行管理

在 /mnt 文件下,有两个我们所需要的文件 kello.xml 和 kello.qcow2

virsh create kello.xml    #用硬件信息文件启动虚拟机

会出现以下错误:
error: Failed to create domain from kello.xml
error: Cannot access storage file ' /var/lib/libvirt/images/kello.qcow2 ' (as uid:107, gid:107): No such file or directory

如何对虚拟机进行管理

那么,我们如何来解决这个问题呢

解决方法:

mv /mnt/test.qcow2 /var/lib/libvirt/images/

virsh define kello.xml    #永久恢复虚拟机

如何对虚拟机进行管理

这样我们的虚拟机就永久恢复了,并且通过命令查看,确实是永久恢复了

四  虚拟机的快照

1)那么什么是快照,它的含义是什么

快照就相当于一个人在照镜子,不管镜子本身再损坏,再更换,都对人本身没有任何影响

含义:对某一个特定文件系统再某一个特定时间内的一个具体只读属性的镜像

2)如何来建立一个镜像

如何对虚拟机进行管理

先查看自己所拥有的虚拟机,再建立一个虚拟机的镜像,我们选择了才安装好的虚拟机 kello

qemu-img   create   -f   qcow2   -b    /var/lib/libvirt/images/kello.qcow2      /var/lib/libvirt/images/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 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &

自动快照脚本