本发明属于计算机软件领域,具体涉及一种高性能虚拟化架构设计方法。
背景技术:
1、随着计算机技术的发展,尤其是芯片纳米技术的出现和快速发展与硬件性能不断提升,导致硬件资源过剩,在此现状下,虚拟化技术应运而生,解决了资源过剩的问题,实现资源的高效整合与利用。
2、虚拟化技术是一种通过抽象物理硬件资源创建虚拟计算环境的技术。它允许在同一物理硬件平台上运行多个独立的虚拟机,每个虚拟机运行自己的操作系统和应用程序。虚拟化技术起源于20世纪60年代的大型机系统,如今已广泛应用于服务器虚拟化、桌面虚拟化、云计算、容器化技术以及嵌入式系统领域。
3、其中虚拟化的类型又分为两种type-1跟type-2类型,type-1是一种裸机虚拟化,虚拟化直接运行于硬件之上,不需要底层操作系统作为中介,它在物理硬件上创建和运行多个虚拟机,每个虚拟机都有自己的操作系统。在嵌入式领域的hypervisor,大多以type-1类型加动态分区与静态分区结合的方式,这种虚拟化管理模式下,hypervisor直接运行在物理硬件上,为不同的客户机提供较高的性能,根据用户需求分配硬件资源到不同客户机,典型的代表技术xen、hyperver-v等。而type-2是一种托管型虚拟化,虚拟化安装在现有的操作系统之上,作为应用程序运行。这种虚拟化依赖宿主操作系统来管理硬件资源和提供服务。在云计算、服务器等领域的hypervisor,主要是以type-2类型加上动态资源管理的方式,这种虚拟化管理模式下,hypervisor依赖于宿主机操作系统,为应用场景提供了丰富、灵活的使用条件,但是由于操作系统的开销导致性能则比较低,典型的代表技术vmwareworkstation、vmvirtualbox。
4、传统的type-1与type-2虚拟化技术在云计算、云服务器、桌面虚拟化等众多领域已能解决大部分问题。然而,在面对当今具有实时性和功能安全需求的嵌入式设备时,如工业物联网和汽车场景中的应用,这些传统解决方案虽然能让设备正常运行,但往往需要在实时性、安全性或功能性之间做出妥协。特别是对于需要迅速进入工作状态的设备而言,虚拟化技术的应用甚至变得不可行,这无疑制约了该技术在这些特定场景下的应用与发展。
5、虚拟化技术在计算机领域的应用已有数十年的历史,其主要目的是通过将物理资源抽象化,以更有效地利用硬件资源并提高系统的灵活性和可管理性。然而,传统的虚拟化技术在嵌入式系统中的应用面临诸多挑战和缺陷。
6、对于采用type-1类型的虚拟化技术存在这样的问题,传统type-1虚拟化技术采用静态分区或动态分区的方式,采用静态分区时,意味着在系统启动时,资源的分配和隔离就已经固定,难以根据运行时的需求进行动态调整。这种静态分配方式在资源利用率和灵活性方面存在明显不足,尤其是在嵌入式系统中,不同的应用场景和负载模式可能需要动态调整资源分配,以优化系统性能和资源利用率。此外,静态分配方式在资源隔离方面也存在不足,难以应对复杂多变的应用需求。若采用动态分区时,由于资源是动态分配的存在性能不可预测性、资源争用和饥饿、管理复杂性、系统稳定性风险、安全性问题以及对自动化工具的过度依赖。这些缺陷可能导致虚拟机性能波动、资源分配不均、系统管理和维护困难,同时增加了安全漏洞和系统不稳定的风险。对于采用type-2类型的虚拟化技术则存在如下问题:第一,该技术依赖于复杂的操作系统启动过程,导致系统的启动时间较长。尤其是在嵌入式系统中,快速启动是一个重要的需求。传统虚拟化技术往往需要先启动一个完整的通用操作系统,然后再启动其他虚拟机,这个过程耗时较长,不利于快速响应和恢复。这对于需要快速启动和实时响应的嵌入式应用来说,是一个严重的缺陷。第二,基于操作系统的虚拟化,通常会引入显著的性能开销。这种开销主要来源于虚拟机管理程序在执行指令时需要对指令进行翻译和重定向,使得指令执行效率低于在物理硬件上直接运行。此外,虚拟机之间的上下文切换和虚拟设备的模拟也会增加系统的性能开销,导致整体系统性能下降。这在资源受限的嵌入式系统中尤为明显,嵌入式系统通常对性能和实时性有更高的要求,传统虚拟化技术的高开销显然难以满足这些需求。第三,因为虚拟化技术需要处理虚拟机的资源分配和管理,虚拟机的调度和资源争用会引入不确定的延迟,影响系统的实时性能。尤其是在多虚拟机环境中,虚拟机之间的干扰会进一步加剧这一问题。因此,在需要高实时性的嵌入式应用中,传统虚拟化技术显得力不从心。
7、同时,对于type-1与type-2类型的虚拟化技术而言,存在一个共性问题:传统虚拟化技术普遍依赖于首个启动的高性能通用管理操作系统。然而,该操作系统的启动过程相当复杂,导致启动时间较长。尤其在嵌入式系统中,快速启动是一项至关重要的需求。遗憾的是,传统虚拟化技术往往需要先启动一个完整的通用操作系统,随后才能启动其他虚拟机,这一繁琐的过程耗时较长,不利于系统的快速响应和恢复。对于那些需要快速启动和实时响应的嵌入式应用而言,这无疑构成了一个严重的缺陷。
技术实现思路
1、(一)要解决的技术问题
2、本发明要解决的技术问题是如何提供一种高性能虚拟化架构设计方法,以解决传统虚拟化技术普遍依赖于首个启动的高性能通用管理操作系统的问题。
3、(二)技术方案
4、为了解决上述技术问题,本发明提出一种高性能虚拟化架构设计方法,该方法包括如下步骤:
5、第一级启动虚拟化模式步骤:
6、第一级虚拟化采用type-1类型,启动方式为自动启动模式,hypervisor自动读取描述资源分配的配置文件,基于静态分区隔离完成资源分配,将资源分为资源0、资源1、…、资源n,然后分配给一级操作系统,其中,资源0~n-1分别分配给一级实时操作系统0~n-1,资源n分配给一级通用管理操作系统;优先跳转启动一级实时操作系统,最后启动一级通用管理操作系统;
7、第二级启动虚拟化模式步骤:
8、第二级虚拟化采用type-2类型,启动方式为手动启动模式,在完成第一级启动之后,一级通用管理操作系统将作为hypervisor的特权虚拟机,为二级虚拟机提供各种虚拟化服务,一级通用管理操作系统集成libvirt虚拟机管理工具,通过libvirt与hypervisor的动态分区隔离组件,完成二级虚拟机的手动创建、销毁。
9、(三)有益效果
10、本发明提出一种高性能虚拟化架构设计方法,本发明的技术效果如下:
11、第一,本发明提出的虚拟化架构,第一级启动虚拟化模式步骤采用type-1启动方式,hypervisor仅提供基本虚拟化模块,不集成控制类库,如libvirt,以简化hypervisor启动引导流程,并采用自动启动方式,设备上电前存入虚拟机启动信息配置文件,设备上电后无需用户手动任何操作,hypervisor预先读取用户设定好的配置文件,直接启动一级操作系统,特别的,优先启动若干一级实时操作系统rtos,再启动一级通用管理操作系统,其中一级实时操作系统的创建、销毁操作不再受一级通用管理操作系统控制,通过以上的启动流程,使设备以最短的时间具备最迫切需要的基础功能,使其具备快速启动的特性,并且使一级启动的操作系统间具备完全隔离状态,安全性更强。
12、第二,本发明提出的虚拟化架构,二级操作系统运行在一级管理操作系统上,一级管理操作系统运行在hypervisor上,hypervisor运行在硬件上,一级与二级启动方案分别采用type-1与type-2的方式,即一级启动方案采用type-1,使一级操作系统直接通过hypervisor创建,二级虚拟化启动方案采用type-2的启动方式,通过集成了libvirt的一级通用管理操作系统管理二级操作系统的创建、销毁,这样的结合方式下,即获得了type-1方案下,没有宿主操作系统的开销,一级实时操作系统无限接近于直接运行在硬件上,实现一级实时操作系统的高性能和低延迟,也保留了type-2方案下能够运行在多种操作系统上更强的兼容性,易于部署与管理的特性。
13、第三,本发明提出的虚拟化架构,在虚拟化启动过程中巧妙地融合了动态分区隔离的高效灵活性与静态分区隔离的稳定性优势,实现了启动流程的深度优化。这一创新设计旨在最大化提升启动流程的合理性与效率,确保其在广泛且多样的应用场景中均能展现出卓越的适应性和性能表现。在第一级启动虚拟化模式步骤的type-1方案中,hypervisor会调用分区隔离模块的静态分区隔离策略进行资源分配与重组,确保资源的稳定分配和系统的可预测性。而在第二级启动虚拟化模式步骤的type-2方案中,hypervisor则采用动态分区隔离策略,根据实际需求灵活地进行资源分配。这一虚拟化架构为一级操作系统带来了静态分区的诸多优势,包括资源分配的确定性、系统行为的可预测性,使其特别适用于需要稳定性能的应用场景。同时,该架构还简化了设置和管理流程,无需复杂的调度机制。在安全性方面,由于分区之间的资源完全隔离,相互干扰的风险也大大降低。对于二级操作系统而言,该架构则提供了资源利用率的显著提升,资源可以根据实际需求动态分配,从而优化系统性能。此外,该架构还展现出良好的灵活性和扩展性,能够灵活适应工作负载的变化,并易于扩展和调整,以适应不同的应用需求和业务增长。
1.一种高性能虚拟化架构设计方法,其特征在于,该方法包括如下步骤:
2.如权利要求1所述的高性能虚拟化架构设计方法,其特征在于,所述第一级启动虚拟化模式步骤中,实时操作系统可以有一到多台,优先启动哪个由用户指定。
3.如权利要求1所述的高性能虚拟化架构设计方法,其特征在于,资源包括:cpu、i/o和内存。
4.如权利要求1所述的高性能虚拟化架构设计方法,其特征在于,hypervisor直接运行在物理设备上,该物理设备是任何支持虚拟化的设备。
5.如权利要求1-4任一项所述的高性能虚拟化架构设计方法,其特征在于,所述第二级启动虚拟化模式步骤中,首先通过libvirt申请虚拟机创建,调用hypervisor的动态分区隔离组件,对第一级启动虚拟化模式步骤分配给一级通用管理操作系统的资源n进行分配重组,最后启动二级操作系统作为二级虚拟机。
6.如权利要求5所述的高性能虚拟化架构设计方法,其特征在于,第一级启动虚拟化模式步骤采用type-1启动方式,hypervisor仅提供基本虚拟化模块,不集成控制类库。
7.如权利要求5所述的高性能虚拟化架构设计方法,其特征在于,自动启动模式为:设备上电前存入虚拟机启动信息配置文件,设备上电后无需用户手动任何操作,hypervisor预先读取用户设定好的配置文件,直接启动一级操作系统。
8.如权利要求5所述的高性能虚拟化架构设计方法,其特征在于,二级操作系统运行在一级管理操作系统上,一级管理操作系统运行在hypervisor上,hypervisor运行在硬件上。
9.如权利要求5所述的高性能虚拟化架构设计方法,其特征在于,在第一级启动虚拟化模式步骤的type-1方案中,hypervisor会调用分区隔离模块的静态分区隔离策略进行资源分配与重组。
10.如权利要求5所述的高性能虚拟化架构设计方法,其特征在于,在第二级启动虚拟化模式步骤的type-2方案中,hypervisor则采用动态分区隔离策略,根据实际需求灵活地进行资源分配。