系统虚拟机管理
一、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
####调出虚拟机图形化管理界面

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

#!/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 & ##安装源指定 光盘文件

三.虚拟机管理
virt-manager ##开启图形管理工具

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

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

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

virsh start vmname ##运行指定vm

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

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

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

virsh define vmname.xml ##永久恢复vm
virsh undefine vmname ##删除vm的前端管理(图形控制界面),不会删除存储

四.虚拟机快照
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
—————— ——————
母盘文件 快照文件

###编写一个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 & ###重定向导入到回收站 并且后台运行


相关文章:
-
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
相关资源
-
下载
2023-03-06
-
下载
2021-06-06
-
下载
2022-12-30