返回顶部
首页 > 资讯 > 服务器 >服务器虚拟化技术深度科普
  • 329
分享到

服务器虚拟化技术深度科普

2023-06-04 21:06:19 329人浏览 独家记忆
摘要

服务器虚拟化技术要追述到IBM大型机的虚拟化 z/VM,在z系列大型机(非虚拟化操作系统是z/OS)上实现服务器虚拟化。基于z/VM可以运行上百个虚拟机。后来在Power上的KVM技术是PowerKVM;以及aiX虚拟化PowerVM,支持

服务器虚拟化技术要追述到IBM大型机的虚拟化 z/VM,在z系列大型机(非虚拟化操作系统是z/OS)上实现服务器虚拟化。基于z/VM可以运行上百个虚拟机。后来在Power上的KVM技术是PowerKVM;以及aiX虚拟化PowerVM,支持vSCSI和NPIV两种技术(虚拟出系统叫ViOS)。今天的内容覆盖了CPU虚拟化、内存虚拟化、Intel硬件辅助技术、io虚拟化和GPU虚拟化等,技术深度科普文章;请老司机们让车,忽略今天的内容。

很多读者可能认为服务器虚拟化技术遭到了容器技术的冲击,可能已经过时了,事实上在很多场景下,虚拟化技术并非容器所能够替代的。所以作为要踏入云计算领域的初学者们,还是有必要深入了解服务器虚拟化。下面我们看看虚拟化发展历程和外在因素和推动力。

分区技术使得虚拟化层为多个虚拟机划分服务器资源的能力;使您能够在一台服务器上运行多个应用程序,每个操作系统只能看到虚拟化层为其提供的虚拟硬件。

虚拟机隔离让虚拟机是互相隔离,一个虚拟机的崩溃或故障(例如,操作系统故障、应用程序崩溃、驱动程序故障等等)不会影响同一服务器上的其它虚拟机。

封装意味着将整个虚拟机(硬件配置、BIOS 配置、内存状态、磁盘状态、CPU 状态)储存在独立于物理硬件的一小组文件中。这样,您只需复制几个文件就可以随时随地根据需要复制、保存和移动虚拟机。

CPU虚拟化发展

服务器虚拟化按照虚拟化程度可分为全虚拟化、半虚拟化、硬件辅助虚拟化。

CPU虚拟化的条件和技术难点,CPU本身有不同运行级别,这些级别对应不同权限。虚拟机执行到这些敏感指令的时候,很有可能出现错误,将会影响到整个机器的稳定,所以不允许VM直接执行。那就需要虚拟化平台解决这个问题。

服务器虚拟化技术深度科普

全虚拟化: VMM在软件堆栈中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。每个Guest OS对特殊指令访问通信需要进行二进制转换,以便提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。

服务器虚拟化技术深度科普

半虚拟化: Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相关的操作都转换为发给VMM的Hypercall(超级调用),由VMM继续进行处理并返回结果。

服务器虚拟化技术深度科普

硬件辅助虚拟化: 引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS运行在Ring 0下运行。使得Guest OS的核心指令可以直接下达到计算机系统硬件执行,而不需要经过VMM。

服务器虚拟化技术深度科普

虚拟化软件架构分类

服务器虚拟化是云计算非常关键的技术之一,虚拟化的含义很广泛,包括服务器、存储、网络以及数据中心虚拟化。其宗旨就是将任何一种形式的资源抽象成另一种形式的技术都是虚拟化。今天我们讨论一下服务器虚拟化架构的分类。

寄居虚拟化: 虚拟化管理软件作为底层操作系统(windowslinux等)上的一个普通应用程序,然后通过其创建相应的虚拟机,共享底层服务器资源。

裸金属虚拟化: Hypervisor是指直接运行于物理硬件之上的虚拟机监控程序。它主要实现两个基本功能:首先是识别、捕获和响应虚拟机所发出的CPU特权指令或保护指令;其次,它负责处理虚拟机队列和调度,并将物理硬件的处理结果返回给相应的虚拟机。

操作系统虚拟化: 没有独立的hypervisor层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序和用户账户),Virtuozzo/OpenVZ/Docker等等。

混合虚拟化: 混合虚拟化模型同寄居虚拟化一样使用主机操作系统,但不是将管理程序放在主机操作系统之上,而是将一个内核级驱动器插入到主机操作系统内核。这个驱动器作为虚拟硬件管理器(VHM)协调虚拟机和主机操作系统之间的硬件访问。可以看到,混合虚拟化模型依赖于内存管理器和现有内核的CPU调度工具。就像裸金属虚拟化和操作系统虚拟化架构,没有冗余的内存管理器和CPU调度工具使这个模式的性能大大提高。

各种架构对比

裸金属虚拟化架构与混合虚拟化架构将是未来虚拟化架构发展的趋势,配合硬件辅助虚拟化可以达到接近物理机的运行性能。KVM、Hyper-V、VMware等主流服务器虚拟化都支持硬件辅助虚拟化。

服务器虚拟化技术深度科普

内存虚拟化

在虚拟环境里,虚拟化管理程序就要模拟使得虚拟出来的内存仍符合客户机OS对内存的假定和认识。在虚拟机看来,物理内存要被多个客户OS同时使用;解决物理内存分给多个系统使用,客户机OS内存连续性问题。

要解决以上问题引入了一层新的客户机物理地址空间来让虚拟机OS看到一个虚拟的物理地址,并由虚拟化管理程序负责转化成物理地址给物理处理器执行。即给定一个虚拟机,维护客户机物理地址到宿主机物理地址之间的映射关系;截获虚拟机对客户机物理地址的访问,将其转化为物理地址。

内存全虚拟化: 虚拟化管理程序为每个Guest都维护一个影子页表,影子页表维护虚拟地址(VA)到机器地址(MA)的映射关系。

服务器虚拟化技术深度科普

内存半虚拟化技术: 当Guest OS创建一个新的页表时,其会向VMM注册该页表,之后在Guest运行的时候,VMM将不断地管理和维护这个表,使Guest上面的程序能直接访问到合适的地址。

服务器虚拟化技术深度科普

硬件辅助内存虚拟化: 在原有的页表的基础上,增加了一个EPT(扩展页表)页表,通过这个页表能够将Guest的物理地址直接翻译为主机的物理地址。

服务器虚拟化技术深度科普

I/O虚拟化技术

当虚拟化后,服务器的以太网端口被分割为多个后,网络、存储以及服务器之间的流量可能就不够用了。当遇到I/O瓶颈时,CPU会空闲下来等待数据,计算效率会大大降低。所以虚拟化也必须扩展至I/O系统,在工作负载、存储以及服务器之间动态共享带宽,能够最大化地利用网络接口。

I/O虚拟化的目标是不仅让虚拟机访问到它们所需要的I/O资源,而且要做好它们之间的隔离工作,更重要的是,减轻由于虚拟化所带来的开销。

全虚拟化: 通过模拟I/O设备(磁盘和网卡等)来实现虚拟化。对Guest OS而言,它所能看到就是一组统一的I/O设备,VMM截获Guest OS对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对Guest而言非常透明,无需考虑底层硬件的情况。比如Guest操作的是磁盘类型、物理接口等等。

半虚拟化: 通过前端后端架构,将Guest的I/O请求通过一个环状队列传递到特权域(也被称为Domain0)。因为这种方式的相关细节较多,所以会在后文进行深入分析。

服务器虚拟化技术深度科普

硬件辅助虚拟化: 最具代表性莫过于Intel的VT-d/VT-c,AMD的IOMMU和PCI-SIG的IOV等。这种技术也需要相应网卡配合实现,目前常见的网卡分为普通网卡、VMDq直通和SR-IOV。

普通网卡采用Domin0网桥队列。

VMDq通过VMM在服务器的物理网卡中为每个虚机分配一个独立的队列,虚机出来的流量可直接经过软件交换机发送到指定队列上,软件交换机无需进行排序和路由操作,Hyper-V就是采用这种模式。

SR-IOV通过创建不同虚拟功能(VF)的方式,给虚拟机使用物理独立网卡,实现虚拟机直接跟硬件网卡通信,不再经过软件交换机,减少了虚拟化管理程序层的地址转换。

Intel硬件对虚拟化支持

VT-x技术 为IA 32 处理器增加了VMX root operation 和 VMX non-root operation两种操作模式。VMM自己运行在 VMX root operation 模式,GuestOS运行在VMXnon-root operation 模式。两种操作模式都支持 Ring0-Ring 3特权运行级别,因此 VMM和 Guest OS 都可以自由选择它们所期望的运行级别。允许虚拟机直接执行某些指令,减少VMM负担。VT-x指至强处理器的VT技术,VT-i指安腾处理器的VT技术。

服务器虚拟化技术深度科普

VT-d(VT for Direct I/O)主要在芯片组中实现,允许虚拟机直接访问I/O设备,以减少VMM和CPU的负担。其核心思想就是让虚拟机能直接使用物理设备,但是这会牵涉到I/O地址访问和DMA的问题,而VT-d通过采用DMA重映射和I/O页表来解决这两个问题,从而让虚拟机能直接访问物理服务器设备。

VT-c(VTfor Connectivity)主要在网卡上实现,包括两个核心技术VMDq和VMDc。VMDq通过网卡上的特定硬件将不同虚拟机的数据包预先分类,然后通过VMM分发给各虚拟机,以此减少由VMM进行数据包分类的CPU开销。VMDc允许虚拟机直接访问网卡设备,Single Root I/O Virtualization(SR-IOV)是PCI-SIG规范,可以将一个PCIe设备分配给多个虚拟机来直接访问。

可信执行技术(TXT)通过使用高级的模块芯片,可以有效确保用户计算机免受各种安全威胁。主要是通过硬件内核和子系统来控制被访问的计算机资源。使得计算机病毒、恶意代码、间谍软件和其他安全威胁将不复存在。

GPU及GPU虚拟化技术

GPU直通将GPU设备直通给虚拟机;GPU共享则将GPU设备直通给GPU server虚拟机,GPU server可与GPU client共享其 GPU设备;GPU虚拟化是指将GPU设备可虚拟化为n个vGPU,对应的n个虚拟机可同时直接使用该GPU设备,支持虚拟化的GPU设备可配置为直通或虚拟化类型。

GPU虚拟化通过VGX GPU硬件虚拟化功能,把一个物理GPU设备虚拟为多个虚拟GPU设备供虚拟机使用,每个虚拟机通过绑定的vGPU可以直接访问物理GPU的部分硬件资源,所有vGPU都能够分时共享访问物理GPU的3D图形引擎和视频编解码引擎,并拥有独立的显存。

GPU虚拟化功能支持将一个物理GPU设备可同时供多个虚拟机使用,而GPU直通中一个GPU设备只能给一个虚拟机使用。GPU虚拟化使同时使用同一GPU物理设备的虚拟机间互不影响,系统自动分配物理GPU设备的处理能力给多个虚拟机,而GPU共享是通过GPU server挂载GPU设备,在主机上建立GPU Server与GPU client的高速通讯机制,使得GPU client可以共享GPU server的GPU设备,GPU client是否享有GPU功能完全依赖于GPU server。

--结束END--

本文标题: 服务器虚拟化技术深度科普

本文链接: https://www.lsjlt.com/news/239959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 服务器虚拟化技术深度科普
    服务器虚拟化技术要追述到IBM大型机的虚拟化 z/VM,在z系列大型机(非虚拟化操作系统是z/OS)上实现服务器虚拟化。基于z/VM可以运行上百个虚拟机。后来在Power上的KVM技术是PowerKVM;以及AIX虚拟化PowerVM,支持...
    99+
    2023-06-04
  • 云服务器虚拟化技术
    云服务器虚拟化技术是一种虚拟化技术,它通过将多个服务器整合成一个集群,并将资源分配给不同的用户。云服务器虚拟化技术主要分为两大类,一类是服务器整合技术,另一类是虚拟磁盘存储技术。 服务器整合技术是将多台物理服务器整合成一个服务器集群,将它...
    99+
    2023-10-26
    服务器 技术
  • 深度技术Win7旗舰版虚拟内存优化技巧
      估计大家有时候感觉电脑内存老是在50%以上,觉得比较卡。其实我们可以提高以下电脑的虚拟内存来提高电脑的性能。现在大家普遍使用的是深度win7旗舰版,那作者就简单的讲以下深度win7旗舰版是如何设置的。优化后妈妈再也不...
    99+
    2023-06-11
    深度技术 Win7 内存优化 旗舰 虚拟内存
  • 服务器虚拟化技术有哪些
    服务器虚拟化技术有:1、硬件虚拟化技术,作用是对硬件资源中止虚拟化,使之成为可管理的和独立的虚拟机;2、并行虚拟化技术,作用是对操作系统中止修正,以降低额外损耗,从而提供比硬件虚拟化技术更高的效率;3、操作系统虚拟化技术,提供一个更瘦的架构...
    99+
    2024-04-02
  • 云服务器虚拟化技术有哪些
    云服务器虚拟化技术主要分为两种,一种是基于虚拟化技术的服务器虚拟化,包括VMware、Citrix、KVM、MongoDB等等;另一种则是基于云计算技术的虚拟化,也称为云计算服务器虚拟化,它的主要特点是在同一台物理服务器上虚拟出几十甚至上百...
    99+
    2023-10-26
    服务器 有哪些 技术
  • 服务器的虚拟化技术是什么
    服务器的虚拟化技术是一种将物理服务器上的资源(如CPU、内存、存储)进行抽象化,使其能够被多个虚拟服务器实例共享的技术。通过虚拟化技...
    99+
    2024-05-11
    服务器
  • 云服务器虚拟技术
    云服务器虚拟技术是一种使用虚拟化技术将服务器整合成一个虚拟的计算环境,从而实现按需分配资源的技术。这种技术可以将多个计算服务器组成一个集群,使得用户只需要通过一个界面就可以管理这些计算资源,大大降低了用户的使用成本。 云服务器虚拟技术主要...
    99+
    2023-10-26
    服务器 技术
  • 韩国服务器虚拟化技术有哪些
    韩国服务器虚拟化技术主要有以下几种:1、KVM虚拟化技术KVM是一种基于Linux内核的虚拟化技术,能够将物理服务器划分为多个虚拟机...
    99+
    2023-03-19
    韩国服务器虚拟化技术 韩国服务器 服务器
  • 海外服务器虚拟化技术有哪些
    海外服务器虚拟化技术有以下几种:1、VMware虚拟化技术VMware是一种常用的服务器虚拟化技术,它可以将一台物理服务器虚拟为多个...
    99+
    2023-03-20
    海外服务器虚拟化技术 海外服务器 服务器
  • 香港服务器虚拟化技术有哪些
    香港服务器虚拟化技术有多种,以下是其中几种:1、VMwareVMware是一种商业虚拟化平台,可在物理服务器上运行多个虚拟机,支持多...
    99+
    2023-03-21
    香港服务器虚拟化技术 香港服务器 服务器
  • 服务器虚拟化技术主要有哪些
    服务器虚拟化技术主要有:1、硬件虚拟化技术,是在单台服务器上承载多种不同系统,对硬件资源进行虚拟化,是企业普遍采纳的技术方案;2、并...
    99+
    2023-02-08
    服务器虚拟化技术 服务器
  • 云服务器虚拟ip技术
    云服务器虚拟ip技术可以实现以下几个方面的功能: 安全性:云服务器虚拟IP技术可以保证在同一台云服务器上,用户使用同一IP段和用户身份验证等机制,确保用户的数据只被允许使用给指定的人或组织,从而防止数据被窃取和非法使用。 稳定性:云服务...
    99+
    2023-10-26
    服务器 技术 ip
  • 服务器虚拟化技术的优点有哪些
    1. 节省硬件成本:通过虚拟化技术,可以在一台物理服务器上运行多个虚拟机,从而节省硬件成本。2. 提高资源利用率:虚拟化技术可以将物...
    99+
    2023-06-07
    服务器虚拟化技术 服务器
  • 香港服务器虚拟化技术怎么使用
    香港服务器虚拟化技术是一种将一台物理服务器分割成多个虚拟服务器的技术。使用这种技术,您可以在一台服务器上运行多个操作系统和应用程序,...
    99+
    2023-03-21
    香港服务器虚拟化技术 香港服务器 服务器
  • 亚马逊服务器虚拟化技术有哪些
    VMware Virtualization(VMV):是亚马逊公司最早开发的服务器虚拟化技术,适用于各种规模的服务器。它可以在一个集群中运行多个虚拟机,并可以通过控制台动态分配和迁移虚拟机。VMV 提供了一种简单的方式来创建、管理和监控虚...
    99+
    2023-10-27
    亚马逊 服务器 有哪些
  • 云服务器虚拟化技术有哪些应用
    云服务器虚拟化技术应用于企业的应用场景,包括但不限于以下几种: 数据备份:通过云服务器虚拟化技术可以实现虚拟服务器数据的异地备份,并在需要时快速访问,从而保护数据的安全性和完整性。 负载均衡:通过云服务器虚拟化技术实现服务器资源的动态调...
    99+
    2023-10-27
    服务器 有哪些 技术
  • 云服务器虚拟化技术有哪些类型
    云服务器虚拟化技术包括: NVMe:NVMe 是一种服务器端虚拟化技术,可以将数据中心中的物理硬件转化为服务器虚拟机,让用户在同一台服务器上实现多台虚拟机的管理。NVMe 支持多种操作系统,例如 Windows Server、Linux...
    99+
    2023-10-27
    类型 服务器 有哪些
  • 云服务器是虚拟技术吗
    云服务器是一种虚拟化技术,通过将服务器虚拟成多个物理服务器,从而提高了服务器的可扩展性和灵活性。云服务器通常由多个服务组成,其中每一个服务都可以从多个节点(例如本地和云端)向其上传数据。这些服务可以是应用程序、数据库、容器、虚拟机等。 尽...
    99+
    2023-10-26
    服务器 技术
  • 云服务器虚拟技术包括
    云服务器虚拟技术是一种常用的云计算技术,它允许用户在同一台物理服务器上运行多个相同的应用程序和数据。云服务器虚拟技术的优势在于,它允许用户无需购买物理服务器即可使用多个应用程序,并且这些应用程序可以共享相同的硬件资源,这使得云服务器在处理大...
    99+
    2023-10-27
    服务器 技术
  • 服务器租用虚拟化技术有哪些优势
    服务器租用虚拟化技术的优势有:1、能最大化利用服务器的资源,降低对硬件的总开支;2、允许操作系统和应用从一个系统迁移到另一个系统,有利于建立冗余服务器以便于更好的容错;3、通过单一界面管理,可以根据需要得到更多的计算资源;4、能在独立的操作...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作