加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

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

发布时间:2019-03-07 00:25:54 所属栏目:业界 来源:架构师技术联盟
导读:服务器虚拟化技术要追述到IBM大型机的虚拟化 z/VM,在z系列大型机(非虚拟化操作系统是z/OS)上实现服务器虚拟化。基于z/VM可以运行上百个虚拟机。后来在Power上的KVM技术是PowerKVM;以及AIX虚拟化PowerVM,支持vSCSI和NPIV两种技术(虚拟出系统叫VIOS)。今天

全虚拟化: 通过模拟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。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读