Linux基础操作(十二)————虚拟机管理

来源:互联网 发布:开淘宝店怎么上传视频 编辑:程序博客网 时间:2024/09/21 06:35

上一节总结了文件的归档、压缩与解压,以及压缩方式的不同,这一节总结以下有关于虚拟机的创建、快照、重装以及管理

今天还是按照执行脚本的方式完成一系列命令

一、虚拟机的安装

虚拟机的安装可以通过图形化界面以及脚本执行

1、图形化界面安装:

这里写图片描述
通过左上角的小电视选择创建
这里写图片描述
选择创建类型,本地安装、网络安装、网络安装一个空盘、直接引用硬盘
之后选择安装路径、选择内存大小、CPU、硬盘大小、然后取名字就好了
这里写图片描述
然后打开虚拟机硬件管理页面(小灯泡),修改网卡类型为virios,硬盘类型virtIO
这里写图片描述
之后就可以进入安装页面了,然后修改时间、硬盘分区等信息
这里写图片描述
通过instll source选择安装类型
这里写图片描述
这里写图片描述
之后点有个!感叹号的选项,选择自定义硬盘,修改成如下/boot启动文件大小一般为480,swap交换区可以参照window虚拟内存大小
这里写图片描述
之后就安装好了

2、脚本安装

#!/bin/bash         ##命令运行环境的指定virt-install \      ##安装虚拟机--name $1 \##虚拟机名称指定,$1表示脚本后的第一串字符--ram 1000 \            ##内存--file /var/lib/libvirt/images/$1.img \        ##硬盘文件  --file-size 8 \                 ##硬盘文件大小--cdrom /home/kiosk/Desktop/rhel-server-7.1-x86_64-dvd.iso &  ##安装源指定

然后给他文件可执行权限就可以安装了

虚拟机生成后会产生两个文件!
一个在/var/lib/libvirt/images/ ,这里是虚拟机的硬盘存放的地方,这里很重要,不能随便删除
这里写图片描述
一个在/etc/libvirt/qemu/,这里是虚拟机管理器生成的有关虚拟机描述的xml文件,如果把这个删除的话,虚拟机管理器中就不会显示虚拟机
这里写图片描述

3、生成虚拟机快照

虚拟机快照相当于是在真正的虚拟机上生成了一个镜像,然后安装镜像就可以快速得到一个新的虚拟机,7.2中我们建议创建qcow2格式的虚拟机快照。

qemu-img create -f qcow2 -b /var/lib/libvirt/images/Node.1.qcow2 /var/lib/libvirt/images/Node.1.qcow2

qeme-img 命令
create 创建
-f qcow2 Qcow2格式 Node.1.qcow2
源为Node.1的虚拟机
Node.1.qcow2名为XXX的虚拟机

以下是虚拟机有关的操作的一个脚本(针对7.2),将脚本文件放入/usr/sbin下可直接执行

case $1 in         ##输入以下字符完成对应操作    reset)                 ##重装虚拟机快照    virsh destroy $2 &> /dev/null    rm -rf /var/lib/libvirt/images/$2.qcow2 &> /dev/null    qemu-img create -f qcow2 -b /var/lib/libvirt/images/Node.1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null     echo reseting ....    virsh start $2 &> /dev/null    echo start now ....    virt-viewer $2 &> /dev/null &    echo Finish .....    ;;    create.qcow2)            ##安装虚拟机快照    cd /var/lib/libvirt/images/ &> /dev/null    qemu-img create -f qcow2 -b /var/lib/libvirt/images/Node.1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null    virt-install --name $2 --ram 1024 --file /var/lib/libvirt/images/$2.qcow2 --file-size 8 --import &> /dev/null &    echo Create sccuessful ...    ;;    create)              ##安装虚拟机    virt-install --name $2 --ram 1024 --file /var/lib/libvirt/$2.qcow2,bus=virtio --file-size 8 --network source=br0,model=virtio --cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso &> /dev/null &    echo Creating ....    ;;    start)                 ##启动虚拟机    virsh start $2 &> /dev/null        echo start now ....    ;;    poweroff)              ##关闭虚拟机    virsh destroy $2 &> /dev/null    echo ok     ;;    view)    virt-viewer $2&> /dev/null &    ;;        undefine)        #删除前端管理    virsh undefine $2    echo Job Done ....    ;;    addvm)                ##通过硬盘添加虚拟机前端    virt-install --name $2 --ram 1024 --file /var/lib/libvirt/images/$2.qcow2 --file-size 8 --import &> /dev/null &    echo Restore the $2 , Done ....    ;; esac                ##有一个问题就是不知道在这个结构小如何分割命令,试过 \ 但没用

create.qcow2 创建虚拟机快照
这里写图片描述

create 创建虚拟机
这里写图片描述

reset 重装虚拟机快照
这里写图片描述

启动和强行关闭虚拟机
这里写图片描述
这里写图片描述

4、虚拟机管理命令

libvirtd                ##虚拟机服务virt-manager            ##开启图形管理工具virt-viewer vmname      ##显示虚拟机,vmname表示虚拟机名称virsh list          ##列出正在运行的vmvirsh list --all        ##列出所有vmvirsh start vmname      ##运行指定vmvirsh shutdown vmname       ##正常关闭指定vmvirsh destroy vmname        ##强行结束指定vmvirsh create vmname.xml     ##临时恢复指定vm,vmname表示前端管理文件virsh define vmname.xml     ##永久恢复vmvirsh undefine  vmname      ##删除vm的前端管理,不会删除存储

我先删除Node.1的前端管理,但是他的前端管理文件还在
这里写图片描述
我再通过管理文件临时永久恢复vm,注意这里首先要切换到有xml的目录下执行,或者写存在xm的绝对路径
这里写图片描述

阅读全文
0 0
原创粉丝点击