文章目录

  • 01 KVM虚拟化简介
    • 1.1 简介
    • 1.2 虚拟化架构
    • 1.3 虚拟化组件
    • 1.4 虚拟化特点
    • 1.5 虚拟化优势
    • 1.6 openEuler虚拟化

01 KVM虚拟化简介

1.1 简介

在计算机技术中,虚拟化是一种资源管理技术,它将计算机的各种实体资源(处理器、内存、磁盘、网络适配器等)予以抽象、转换后呈现,并可分割、组合为一个或多个计算机配置环境。这种资源管理技术打破了实体结构不可分割的障碍,使这些资源在虚拟化后不受现有资源的架设方式、地域或物理配置限制,从而让用户可以更好地应用计算机硬件资源,提高资源利用率。

虚拟化使得一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的处理器、内存、I/O设备等资源,但逻辑上虚拟机之间是互相隔离的。在虚拟化技术中,通常将这个物理服务器称为宿主机,宿主机上运行的虚拟机也叫客户机,虚拟机内部运行的操作系统称为客户机操作系统。在宿主机和虚拟机之间存在一层叫虚拟化层的软件,用于实现虚拟硬件的模拟,通常这个虚拟化层被称为虚拟机监视器,如下图所示:

图 1 虚拟化架构

1.2 虚拟化架构

当前的主流虚拟化技术按照VMM(Virtual Machine Monitor)实现结构不同分为两种:

  • Hypervisor模型

    在这种模型中,VMM被看做是一个完备的操作系统,同时还具备虚拟化功能,VMM直接管理所有的物理资源,包括处理器,内存和I/O设备等。

  • 宿主模型

    这种模型中,物理资源是由宿主机操作系统管理,宿主机操作系统是传统的操作系统,如Linux,Windows等,宿主机操作系统不提供虚拟化能力,提供虚拟化能力的VMM作为系统的一个驱动或者软件运行在宿主操作系统上,VMM通过调用host OS的服务获得资源,实现处理器,内存和I/O设备的模拟,这种模型的虚拟化实现有KVM、Virtual Box等。

KVM(Kernel-based Virtual Machine)即基于内核的虚拟机,是Linux的一个内核模块,该内核模块使Linux成为一个hypervisor。KVM架构如图2所示。KVM本身未模拟任何硬件设备,它用于使能硬件提供的虚拟化能力,比如Intel VT-x, AMD-V, ARM virtualization extensions等。主板、内存及I/O等设备的模拟由用户态的QEMU完成。用户态QEMU配合内核KVM模块共同完成虚拟机的硬件模拟,客户机操作系统运行在QEMU和KVM模拟的硬件上。

图 2 KVM架构图

1.3 虚拟化组件

openEuler软件包中提供的虚拟化相关组件:

  • KVM:提供核心的虚拟化基础设施,使Linux系统成为一个hypervisor,支持多个虚拟机同时在该主机上运行。
  • QEMU:模拟处理器并提供一组设备模型,配合KVM实现基于硬件的虚拟化模拟加速。
  • Libvirt:为管理虚拟机提供工具集,主要包含统一、稳定、开放的应用程序接口(API)、守护进程 (Libvirtd)和一个默认命令行管理工具(virsh)。
  • Open vSwitch:为虚拟机提供虚拟网络的工具集,支持编程扩展,以及标准的管理接口和协议(如NetFlow, sFlow,IPFIX, RSPAN, CLI, LACP, 802.1ag)。

1.4 虚拟化特点

业界普遍认可虚拟化有以下特点:

  • 分区

    虚拟化可以对一台物理服务器进行软件逻辑分割,实现运行多台不同规格的虚拟机(虚拟服务器)。

  • 隔离

    虚拟化能够模拟虚拟硬件,为虚拟机运行完整操作系统提供硬件条件,每个虚拟机内部操作系统都是独立的,互相隔离的。例如一台虚拟机的操作系统由于故障或者受到恶意破坏而崩溃,其他虚拟机内部的操作系统和应用不会受到任何影响。

  • 封装性

    以虚拟机为粒度封装,优秀的封装性使得虚拟机比物理机更灵活,可以实现虚拟机的热迁移、快照、克隆等功能,实现数据中心的快速部署和自动化运维。

  • 硬件无关

    经过虚拟化层的抽象后,虚拟机与底层的硬件没有直接的绑定关系,可以在其他服务器上不加修改地运行虚拟机。

1.5 虚拟化优势

虚拟化为数据中心的基础设施带来了众多优势:

  • 灵活性和可扩展性

    用户可以根据需求进行动态资源分配和回收,满足动态变化的业务需求,同时也可以根据不同的产品需求,规划不同的虚拟机规格,在不改变物理资源配置的情况下进行规模调整。

  • 更高的可用性和更好的运维手段

    虚拟化提供热迁移、快照、热升级、容灾自动恢复等运维手段,可以在不影响用户的情况下对物理资源进行删除、升级或变更,提高了业务连续性,同时可以实现自动化运维。

  • 提高安全性

    虚拟化提供了操作系统级的隔离,同时实现基于硬件提供的处理器操作特权级控制,相比简单的共享机制具有更高的安全性,可实现对数据和服务进行可控和安全的访问。

  • 更高的资源利用率

    虚拟化可支持实现物理资源和资源池的动态共享,提高资源利用率。

1.6 openEuler虚拟化

openEuler提供了支持AArch64和x86_64处理器架构的KVM虚拟化组件。

01 KVM虚拟化简介相关推荐

  1. KVM 虚拟化原理探究--启动过程及各部分虚拟化原理

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  2. 虚拟化技术的演变过程和KVM虚拟化的简介

    主要介绍虚拟化技术的历史演进过程和KVM虚拟化的一些特点. 0.简介 虚拟化技术的演变过程可以分为软件模拟.虚拟化层翻译.容器虚拟化三个大的阶段.其中,虚拟化层翻译又可以分为:软件捕获翻译(软件全虚拟 ...

  3. 服务器虚拟网桥,KVM虚拟化(简介和安装,网桥)

    KVM 虚拟化架构分类 寄居虚拟化架构:指在宿主操作系统之上安装和运行虚拟化程序,依赖于宿主操作系统对设备的支持和物理资源的管理. 裸金属虚拟化架构:指直接在硬件上面安装虚拟化软件,再在其上安装操作系 ...

  4. KVM虚拟化安装配置(一)

    KVM的虚拟化简介     KVM(全称Kernel-based Virtual Machine)是一套开源的全虚拟化解决方案,同时也支持半虚拟化.KVM不同于其他(如Xen),它是集成到Linux内 ...

  5. KVM 虚拟化技术性能调优实战

    系统虚拟化有很多的好处,如提高物理资源利用率.让系统资源更方便监控和管理.提高系统运维的效率.节约硬件投入的成本等等. 那么,在真正实施生产环境的虚拟化时,到底选择哪种虚拟化方案呢?选择商业软件VMw ...

  6. 老广: KVM虚拟化学习笔记

    大纲: 一.部署安装kvm虚拟机 二.virsh常见命令解释 三.KVM虚拟机克隆 四.KVM快照 五.让GuestOS支持 console 六.添加网卡 七.磁盘扩容 八.动态迁移 前言: 虚拟化的 ...

  7. 云计算之KVM虚拟化实战

    1 基础环境规划 1.1 主机环境规划 系统版本 主机名 IP地址 内存 磁盘 CentOS6.9 kvm-node1 10.0.0.200 2G 20G CentOS6.9 kvm-node2 10 ...

  8. Linux KVM 虚拟化技术

    目录 KVM 介绍 一.KVM虚拟化 二.虚拟化技术 三.虚拟化技术发展 四.虚拟化类型 五.虚拟化特性 优势 劣势 案例 VMM主要功能 六.KVM架构及原理 KVM简介 KVM原理 KVM虚拟化架 ...

  9. KVM虚拟化的简单概论

    KVM虚拟化的简单概论 一.什么是虚拟化 二.虚拟化技术 三.虚拟化技术的发展史 四.虚拟化类型 五.虚拟化特性 六.KVM简介 1.广义KVM 2.KVM架构及原理 ①.KVM虚拟化架构/三种模式 ...

最新文章

  1. 如何构建一个理想UI代码表达的自动化工具?
  2. 外设驱动库开发笔记2:AD8400系列数字电位器驱动
  3. 网络拓扑图画图工具_写了100多篇原创文章,我常用的在线工具网站推荐给大家!...
  4. python制作软件界面_Python 脚本 GUI 界面生成工具
  5. 走向ASP.NET架构设计--第一章:走向设计
  6. Pandas 中第二好用的函数是?
  7. 区块链风口下,开发者下海是否为时已晚?
  8. C++ 作用域与生命周期
  9. 体重 年龄 性别 身高 预测鞋码_计算体重指数时,需要以下()数据。A.性别B.年龄C.身高D.体重...
  10. 自媒体免费素材,国旗高清无水印素材,PNG格式,直接引用即可
  11. express-urlrewrite express url重写
  12. Echarts滚动条
  13. HDLC和PPP协议的配置
  14. 【GTASA】路人PED替换语音教程
  15. MySQL整理-基础知识篇1
  16. 时间序列分析简介(一)
  17. C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码
  18. 研究称Instagram上“名人效应”广告的规范率只占7%
  19. 谷歌面试题:男孩多还是女孩多?
  20. eclipse中使用git提交时忽略不必要的文件

热门文章

  1. ping命令TTL的意思
  2. JPEG图像压缩探索_zigzag扫描(原创)
  3. thinkbook14重装系统
  4. 信号完整性研究系列--什么是信号完整性
  5. 10款最佳在线地图软件介绍
  6. 什么是数据产品,怎么设计一个好用的数据产品
  7. 无人驾驶车辆运动规划方法综述
  8. Unity Shader 表面着色器边缘光(Rim Lighting)二
  9. Scala样例类(case class)
  10. 取模运算的理解和应用