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

本文介绍KVM虚拟化技术的基础知识,包括KVM的组成与工作原理,以及如何使用QEMU-KVM和libvirt/Virsh/Virt-manager等工具安装、管理和创建虚拟机快照。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



系统虚拟机管理

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值