当前位置:网站首页 > 产品管理 > 正文

kvm虚拟化管理系统(kvm虚拟化平台搭建)



目录

一、案例分析

1.1、案例概述 

1.2、案例前置知识点

1)KVM 原理简介 

2)KVM 运行时的三种模式

3)KVM 工作原理 

1.3、案例环境 

1)本案例实验环境 

2)案例需求 

3)案例实现思路 

二、搭建 KVM 虚拟化平台 

2.1、准备 KVM 虚拟化环境 

1)安装方式 

2)设置 KVM 网络 

3)KVM 管理 

2.2、使用 KVM 命令集管理虚拟机 

1)KVM 基本功能管理 

2)KVM 文件管理 

3)虚拟机克隆 

4)虚拟机快照 


公司部分 Linux 服务器硬件资源利用率不高,为了充分利用这些 Linux 服务器,可以部署 KVM,在物理机上运行多个业务系统。例如,在运行 Nginx 的服务器上部署 KVM,然后在 KVM 虚拟机上运行 Tomcat 等服务。

KVM 自 Linux 2.6.20 版本后就直接整合到 Linux 内核,它依托 CPU 虚拟化指令集(如 Intel-VT、AMD-V)实现高性能的虚拟化支持。由于与 Linux 内核高度整合,因此在性能、 安全性、兼容性、稳定性上都有很好的表现。 

下图简单描绘了 KVM 虚拟化架构,在 KVM 环境中运行的每一个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与 Linux 系统中的安全模块进行整合 (SELinux),可以灵活地实现资源的管理及分配。 

 KVM 虚拟化架构

1)KVM 原理简介 

广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另一部分就是经过简化和修改的 Qemu。 

KVM 内核模块是模拟处理器和内存以支持虚拟机的运行,Qemu 主要处理 I/O 以及为用户提供一个用户空间工具来进行虚拟机的管理。两者相互结合、相辅相成,构成了一个完整的虚拟化平台。 

需要注意的是,Qemu 本身并不是 KVM 的一部分,Qemu 是一套完整的虚拟化解决方案,是纯软件实现虚拟化,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟出来的,所以 Qemu 的性能比较低。 

2)KVM 运行时的三种模式

KVM 模块是让 Linux 主机成为一个虚拟机监视器(VMM),并且在原有 Linux 内核模式和用户模式的两种执行模式基础上新增加了客户模式,客户模式也拥有自己的内核模式和用户模式。 

客户模式:可以简单理解成客户机在操作系统运行中的模式,客户模式又分为内核模式和用户模式。客户模式中的内核模式和用户模式的作用分别如下所示。 

  • 用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行 I/O,Qemu 运行在这个模式之下。
  •  内核模式:模拟 CPU 以及内存,实现客户模式的切换,处理从客户模式的退出。KVM 内核模块运行在这个模式下。

三种模式层次关系图如下图所示:

 

 三种模式关系层次图

3)KVM 工作原理 

用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。KVM Driver 为虚拟机创建虚拟 CPU 和虚拟内存,然后执行 VMLAUNCH 指令进入客户模式,装载 Guest OS 并运行。Guest OS 运行过程中如果发生中断或者影子缺页等异常,将暂停 Guest OS 的运行并保存当前上下文退出到内核模式来处理这些异常。内核模式处理这些异常时如果不需要 I/O 则处理完成后重新进入客户模式。如果需要 I/O 则进入到用户模式,由 Qemu 来处 理 I/O,处理完成后进入内核模式,再进入客户模式,工作原理如下图所示。 

 工作原理图

1)本案例实验环境 

采用 CentOS7.6 操作系统,并开启虚拟化支持,案例环境如下表所示 

主机 操作系统 IP 地址 主要软件 CentOS7-1  CentOS 7.6 x86_64 192.168.23.201 KVM test01 CentOS 7.6 x86_64 192.168.23.202 KVM

注意:CentOS7-1 的内存 8G 以上,内核 2 个,硬盘 100G,并且勾选虚拟化引擎,如下图所示

 

2)案例需求 

  1. 安装 KVM。
  2. 完成基本的 KVM 操作管理(创建、启动、停止等)。
  3. 完成 KVM 命令行操作虚拟机。 

3)案例实现思路 

  1. 准备 KVM 安装环境。
  2. 安装 KVM。
  3. 配置 KVM 桥接网络。
  4. 创建 KVM 存储池并安装虚拟机。
  5. 命令行操作虚拟机。

1)安装方式 

  • YUM 安装 KVM

在 CentOS 的系统光盘镜像中,已经提供了安装 KVM 所需软件。通过部署基于光盘镜像的本地 YUM 源,直接使用 YUM 安装所需软件即可,安装 KVM 所需软件具体包含以下几个。 

 
    

注意:本实验使用图形界面的系统,若没有图形界面,可使用以下命令安装图形界面

yum groupinstall -y "GNOME Desktop"

需要注意的是:在使用 YUM 安装完桌面后执行 ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target 命令,将系统的默认运行 target 更改为 graphical.targe。重启后系统将进入图形化界面。若不执行上述命令更改系统的默认运行 target,重启时可能报错。 

  • 验证

重启系统后,查看 CPU 是否支持虚拟化,对于 Intel 的服务器可以通过以下命令查看, 只要有输出就说明 CPU 支持虚拟化;AMD 服务器可用 cat /proc/cpuinfo | grep smv 命令查看。 

 检查 KVM 模块是否安装

 
    
  • 开启 libvirtd 服务 

安装完成后还需要开启 libvirtd 服务,以开启相关支持。 

 
    

2)设置 KVM 网络 

宿主服务器安装完成 KVM,首先要设定网络,在 libvirt 中运行 KVM 网络有两种方法: NAT 和 Bridge,默认是 NAT。 

关于两种网络模式的说明:

  • 用户模式,即 NAT 方式,这种方式是默认网络,数据包由 NAT 方式通过主机的网卡接口进行传送,可以访问外网,但是无法让外部主机访问虚拟机内部网络。 
  • 桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持。

这里以 Bridge(桥接)为例进行操作演示。注:宿主机 IP 地址为 192.168.23.201。 

 
    

重启服务

 
    

确认 IP 地址信息

 
    

出现以上信息,说明网卡桥接成功了。 

3)KVM 管理 

 
    

virt-manager 是基于 libvirt 的图像化虚拟机管理软件。需要注意的是,不同发行版上的 virt-manager 版本可能有所不同,图形界面和操作方法也可能不同。本文使用了 CentOS 7.6。创建 KVM 虚拟机最简单的方法是通过 virt-manager 接口。从控制台窗口启动这个工 具,以 root 身份输入 virt-manager 命令,出现如下图所示窗口。

 虚拟机管理界面

虚拟化管理步骤如下。 

首先创建以下目录

 
    
  • 创建存储池 

双击 QEMU/KVM,选择“存储”选项卡,然后单击“+”按钮新建存储池。如下图所示,单击“前进”按钮,根据提示输入或浏览用以设置存储目录,如/data_kvm/store,最后单击“完成” 按钮即可。 

 

 创建存储池

  • 创建镜像存储池 

以同样的操作创建一个镜像存储池,命名为 bdqn_iso,目录为/data_kvm/iso 即可。在安装操作系统时,需要把镜像上传到服务器目录/data_kvm/iso,如下图所示 

 创建镜像存储池

  • 创建存储卷 

单击刚创建好的“bdqn”,单击对话框中“卷”右边的 “+”按钮建立一个存储卷,并设置最大容量,如下图所示。 

 

 创建存储卷

  • 新建虚拟机 

单击“完成”按钮后,回到虚拟系统管理器。右击“QEMU/KVM”,然后选择“新建”选项,在弹出的对话框中按下图所示选择“本地安装介质”,然后单击“前进”按钮。 

 新建虚拟机(1)

单击“浏览”按钮选择镜像文件,再选择操作系统型及版本,如下图所示。 

 新建虚拟机(2)

单击“前进”按钮,在下图所示的对话框中适当分配内存和 CPU 资源,如 1 核 CPU、 1GB 内存。 

 新建虚拟机(3)

 单击“前进”按钮,在如下图所示的对话框中点选“选择或创建自定义存储”单选按钮, 单击“管理”按钮选择文件,然后单击“前进”按钮。

 新建虚拟机(4)

在如下图 所示将虚拟机名称命名为“test01“,并勾选话框中的“在安装前自定义 配置”复选框,单击“完成”按钮,弹出对话框。 

 新建虚拟机(5)

 新建虚拟机(6)

在“引导选项”视图中勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后, 这个 VM 也会启动,最后单击“应用”按钮,如下图所示。 

 新建虚拟机(7)

最后单击“开始安装”按钮即可,整个虚拟化配置过程完成。下面就是安装操作系统的工作,和平时安装 Linux 系统一样,如下图所示。 

 CentOS 安装界面

1)KVM 基本功能管理 

  • 查看命令帮助 
 
    
  • 查看 KVM 的配置文件存放目录(test01.xml 是虚拟机系统实例的配置文件) 
 
    
  • 查看虚拟机状态 
 
    
  • 虚拟机关机与开机 
 
    
  • 强制实例系统关闭电源 
 
    
  • 通过配置文件启动虚拟机系统实例 
 
    
  • 挂起虚拟机 
 
    
  • 恢复虚拟机 
 
    
  • 配置虚拟机实例伴随宿主机自动启动 
 
    

上述命令将创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统。 

  •  导出虚拟机配置
 
    
  • 虚拟机的删除与添加 

删除虚拟机 

 
    

查看删除结果,test01 的配置文件被删除,但是磁盘文件不会被删除。 

 
    

通过 virsh list --all 查看不到 test01 的信息,说明此虚拟机被删除。 

 
    

通过备份的配置文件重新定义虚拟机。 

 
    

重新定义虚拟机。 

 
    

查看虚拟机信息 

 
    
  • 修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息) 

直接通过 vim 命令修改 

 
    

通过 virsh 命令修改。 

 
    

2)KVM 文件管理 

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有 raw、 qcow2 与 qed 格式, KVM 虚拟机默认使用 qcow2 格式。这里介绍本地 YUM 安装 libguestfs-tools 后产生的命令行工具,这个工具可以直接读取 qcow2 格式的磁盘文件。 

  • 查看当前磁盘格式 
 
    
  • virt-cat 命令,类似于 cat 命令 

使用这个命令需要安装 libguestfs-tools-c 工具包。 

 
    
  • virt-edit 命令 

virt-edit 命令,用于编辑文件,用法与 vim 基本一致。 

 
    
  • virt-df 命令 

virt-df 命令用于查看虚拟机磁盘信息。

 
    

3)虚拟机克隆 

  • 查看虚拟机状态 
 
    
  • 从 test01 克隆 test02 
 
    
  • 查看虚拟机状态 
 
    
  • 启动虚拟机 
 
    

4)虚拟机快照 

KVM 虚拟机要使用镜像功能,磁盘格式必须为 qcow2。下面介绍 KVM 虚拟机快照备份的过程。 

  • 对 test01 创建快照 
 
    
  • 查看虚拟机快照版本信息 
 
    
  •  查看快照信息
 
    
  • 创建新快照 
 
    
  • 查看快照信息 
 
    
  • 恢复虚拟机状态至  
 
    
  • 查看虚拟机快照版本信息 
 
    
  • 删除快照 
到此这篇kvm虚拟化管理系统(kvm虚拟化平台搭建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
   
  
  

                            

版权声明


相关文章:

  • 产品经理好学吗(产品经理好学吗知乎)2025-06-10 08:00:06
  • 小米14文件管理在哪里找(小米14文件管理在哪里找到)2025-06-10 08:00:06
  • 产品经理入门书籍推荐(产品经理入门书籍推荐理由)2025-06-10 08:00:06
  • 文件管理系统软件怎么删除(文件管理系统文件可以删除吗)2025-06-10 08:00:06
  • 群晖管理员密码设置(群晖密码设置要求)2025-06-10 08:00:06
  • springaop日志管理(springbootaop日志)2025-06-10 08:00:06
  • 怎么打开任务管理器快捷键(怎么打开任务管理器快捷键win7)2025-06-10 08:00:06
  • 文件管理date访问限制(文件管理访问data)2025-06-10 08:00:06
  • 工具类产品有哪些商品或品牌(工具类产品有哪些商品或品牌呢)2025-06-10 08:00:06
  • 产品经理入门证书(产品经理资格证)2025-06-10 08:00:06
  • 全屏图片