系统虚拟机管理

一、KVM虚拟化概述

基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施。KVM
目前支持Intel VT及AMD-V的原生虚拟技术。
1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
 2)它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
 3)KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
 4)在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。
 5)KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。


可以对kvm进行控制管理的组件主要有两个:

QEMU-KVM

在 Linux 系统中,首先我们可以用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装 KVM 软件包,系统会在启动时
自动加载模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控
制内核模块去做事情,还必须有一个用户空间的工具。关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软
件 QEMU。QEMU 是一个强大的虚拟化软件,它可以虚拟不同的 CPU 构架。比如说在 x86 的 CPU 上虚拟一个 Power 的
 CPU,并利用它编译出可运行在 Power 上的程序。KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM
 内核模块的用户空间工具 QEMU-KVM。所以 Linux 发行版中分为 kernel 部分的 KVM 内核模块和 QEMU-KVM 工具。这就是
 KVM 和 QEMU 的关系。

Libvirt/Virsh/Virt-manager

尽管 QEMU-KVM 工具可以创建和管理 KVM 虚拟机,RedHat 为 KVM 开发了更通用的辅助工具libvirt。Libvirt 是一套提供了
多种语言接口的 API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。使
用 libvirt,你只需要通过 libvirt 提供的函数连接到 KVM 或 Xen 宿主机,便可以用同样的命令控制不同的虚拟机了。Libvirt 不
仅提供了 API,还自带一套基于文本的管理虚拟机的命令 virsh,你可以通过使用 virsh 命令来使用 libvirt 的全部功能。同时
还能使用图形界面进行管理操作,其工具是 Virt-manager。它是一套用 python 编写的虚拟机管理图形界面,用户可以通过它
直观地操作不同的虚拟机。Virt-manager 就是利用 libvirt 的 API 实现的。

二.安装虚拟机

virt-manager                                           ####调出虚拟机图形化管理界面

linux系统命令之系统虚拟机管理


编写一个shell脚本再用命令调用以执行安装虚拟机过程:


linux系统命令之系统虚拟机管理

#!/bin/bash                                                 ##命令运行环境的指定

virt-install \                                                ##安装虚拟机

--name $1 \                                                 ##虚拟机名称指定,$1表示脚本后的第一串字符

--ram 1000 \                                                 ##内存

--file /var/lib/libvirt/images/rhel7.1.qcow2  \        ##硬盘文件    

--file-size 8 \                                           ##硬盘文件大小

--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso & ##安装源指定 光盘文件


linux系统命令之系统虚拟机管理


三.虚拟机管理

virt-manager                    ##开启图形管理工具


linux系统命令之系统虚拟机管理

virt-viewer vmname        ##显示虚拟机,vmname表示虚拟机名称


linux系统命令之系统虚拟机管理

virsh list                           ##列出正在运行的vm

linux系统命令之系统虚拟机管理


virsh list --all                    ##列出所有vm


linux系统命令之系统虚拟机管理

virsh start vmname           ##运行指定vm


linux系统命令之系统虚拟机管理

virsh shutdown vmname        ##正常关闭指定vm

linux系统命令之系统虚拟机管理


virsh destroy vmname        ##强行结束指定vm

linux系统命令之系统虚拟机管理


virsh create vmname.xml        ##临时恢复指定vm,vmname.xml表示前端管理文件

linux系统命令之系统虚拟机管理


virsh define vmname.xml        ##永久恢复vm

virsh undefine  vmname        ##删除vm的前端管理(图形控制界面),不会删除存储


linux系统命令之系统虚拟机管理

四.虚拟机快照

qemu-img create -f qcow2 -b   vm2.qcow2      node1.qcow2

                                                   ——————      ——————

                                                       母盘文件        快照文件

linux系统命令之系统虚拟机管理


###编写一个shell脚本再用命令调用以执行安装虚拟机过程:



#!/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 \                   ###名称 

                  ###$2 是传递给该shell脚本的第二个参数

--ram 1024 \                              ###内存

--disk /var/lib/libvirt/images/$2.qcow2 \

--import &> /dev/null &                  ###重定向导入到回收站  并且后台运行

linux系统命令之系统虚拟机管理


linux系统命令之系统虚拟机管理


相关文章:

  • 2021-08-24
  • 2021-09-29
  • 2021-07-30
  • 2021-07-17
  • 2021-10-05
猜你喜欢
  • 2021-08-04
  • 2021-10-28
  • 2021-10-17
  • 2021-07-18
  • 2021-07-23
  • 2021-11-05
相关资源
相似解决方案