首页 > 其他分享 >01 openEuler虚拟化-KVM虚拟化简介

01 openEuler虚拟化-KVM虚拟化简介

时间:2023-04-26 19:31:41浏览次数:42  
标签:01 操作系统 虚拟化 虚拟机 KVM 硬件 宿主机 openEuler

01 openEuler虚拟化-KVM虚拟化简介

1.1 简介

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

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

图 1 虚拟化架构

image-20230203220622002

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架构图

image-20230203220435845

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虚拟化组件。

35231ab43f3d3c46b11b1b0711a67901.jpg

标签:01,操作系统,虚拟化,虚拟机,KVM,硬件,宿主机,openEuler
From: https://blog.51cto.com/u_237826/6228686

相关文章

  • 缓冲流Demon01
    packagetest2;importjava.io.*;//缓冲流publicclassDemo02{publicstaticvoidmain(String[]args){FileInputStreamfis=null;FileOutputStreamfos=null;BufferedInputStreambis=null;BufferedOutputStreambos=null;......
  • php升级 编译安装php7 支持openeuler欧拉
    php版本下载包查询:https://www.php.net/releases/ yum-yinstallcmakelibxml2libxml2-developensslopenssl-develcurl-devellibjpeg-devellibpng-develfreetype-devellibziplibzip-devellibsodiumsqlitesqlite-develonigurumaoniguruma-devellibwebp-devel......
  • SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808) 修复方案
    详细描述SSL/TLS协议是一个被广泛使用的加密协议,BarMitzvah攻击实际上是利用了"不变性漏洞",这是RC4算法中的一个缺陷,它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户用户名密码,信用卡数据和其他敏感信息泄露给黑客。解决方法临时解决方法:服务器端(SSL/TLS)--------1......
  • Linux虚拟化
    1.虚拟化与云计算的关系虚拟化是什么:-虚拟化是一种技术,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配,云计算就是利用了虚拟化技术的这个特点云计算是什么:-云计算是一种服务模式(IAAS),其思想就是把各种资源整合起来,然后租......
  • questions_01:500 Internal Server Error 解决思路
    500InternalServerError问题如何解决?结果令人啼笑皆非问题出现场景register.html:在利用ajax发送请求之后,我们手机会收到短信验证码,并且前端会收到后台的一个返回值,此时在我们的页面就要开始验证码倒计时,不知道什么原因就是显示不出来,后台运行代码也没报错,短信也是正常收......
  • COM6012 Brief
    COM6012Assignment-Deadline:AssignmentBriefPleasecarefullyreadtheassignmentbriefbeforestartingtocompletetheassignment.ReleaseStatus:Q1-14marks:Q2-12marks:updatedat12:00,24/03/2023Q3-12marks:releasedat18:30,29/03/2023......
  • Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库
    前言  mysql驱动版本msvc2015x32版本调好,mysql的mingw32版本的驱动上一个版本编译并测试好,有些三方库最低支持vs2017,所以只能使用msvc2017x64,基于Qt5.9.3,于是本篇编译mysql驱动的msvc2017x64版本,满足当前的特定需求,这次过程有点费劲,可能是Qt的版本低于Qt5.12,继续无保留分享......
  • Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误
    Oracle的参数sec_case_sensitive_logon是Oracle11g开始被引入。这个参数主要是为了控制密码的大小写敏感问题。sec_case_sensitive_logon=true表示密码区分大小写。sec_case_sensitive_logon=false表示密码不区分大小写。从Oracle12c开始,参数sec_case_sensitive_logon被弃用......
  • openEuler NFS+协议全新发布:实现NAS存储性能与可靠性倍增
       4月21日,在openEulerDeveloperDay2023上,openEuler发布NFS+协议,实现单客户端访问NAS存储可靠性提升3倍、性能提升6倍,助力NAS存储全面满足新型生产核心场景下苛刻要求。传统NFS面临挑战网络文件系统(NFS)是一种分布式文件系统协议,最初由Sun公司于1984年开发,它允许客户端上的......
  • PMP-01-什么是项目
    一,什么是项目?项目是为了创造独特的产品服务或成果而进行的临时性工作。二,项目有三大类型,分别是产品型项目、服务型项目和成果型项目。......