【IT168评测中心】在上一篇文章中,我们已经看到了I/O虚拟化的必要性,并解析了VMDq虚拟机设备队列技术,现在,我们将继续介绍I/O虚拟化技术中的一种:VMDc(Virtual Machine Direct Connect,虚拟机直接连接),这是一种通过新的IO虚拟化方法来提升虚拟IO性能的方法。

I/O虚拟化的方法有很多种,现在使用的主要有两种,它们都是纯软件的,它们分别是:设备模拟和额外软件界面,如下图所示:

设备模拟:VMM对客户机摸拟一个I/O设备,通过软件完全模拟设备的功能,客户机可以使用对应真实的驱动程序,这个方式可以提供完美的兼容性(而不管这个设备事实上存不存在),但是显然这种模拟会影响到性能。作为例子,各种虚拟机在使用软盘映像提供虚拟软驱的时候,就运行在这样的方式,以及Virtual PC的模拟的真实的S3 Virge 3D显卡,VMware系列模拟的Sound Blaster 16声卡,都属于这种方式,一般的虚拟网卡也是这种方式。

额外软件界面:这个模型比较像I/O模拟模型,VMM软件将提供一系列直通的设备接口给虚拟机,从而提升了虚拟化效率,这有点像Windows操作系统的DirectX技术,从而提供比I/O模拟模型更好的性能,当然兼容性有所降低,例如VMware模拟的VMware显卡就能提供不错的显示速度,不过不能完全支持DirectDraw技术,Direct3D技术就更不用想了。相似的还有VMware模拟的千兆网卡,等等,这些品牌完全虚拟的设备(例如,VMware牌显卡,VMware牌网卡)需要使用特制的驱动程序部分直接地和主机、硬件通信,比起以前完全模拟的通过虚拟机内的驱动程序访问虚拟机的十兆百兆网卡,可以提供更高的吞吐量。

可以看到,这两种纯软件实现的方式有些类似于完全虚拟化和部分虚拟化的分别,不管哪种方式,都是软件实现,转向硬件实现会不会更好呢?

现有方案:基于软件的共享

和处理器上的Intel VT-i和VT-x一样,Intel VT-d技术是一种基于North Bridge北桥芯片(或者按照较新的说法:MCH/IOH)的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚拟化方式。Intel VT-d技术通过硬件实现的如硬件缓冲、地址翻译等措施,增加了两种设备虚拟化方式:

通过VT-d实现的直接分配设备虚拟化方式

直接分配:虚拟机直接分配物理I/O设备给虚拟机,这个模型下,虚拟机内部的驱动程序直接和硬件设备直接通信,只需要经过少量,或者不经过VMM的管理。为了系统的健壮性,需要硬件的虚拟化支持,以隔离和保护硬件资源只给指定的虚拟机使用,硬件同时还需要具备多个I/O容器分区来同时为多个虚拟机服务,这个模型几乎完全消除了在VMM中运行驱动程序的需求。例如CPU,虽然CPU不算是通常意义的I/O设备——不过它确实就是通过这种方式分配给虚拟机,当然CPU的资源还处在VMM的管理之下。

原生共享,要实现这个功能,设备需要支持PCI SR-IOV规范,并需要系统支持VT-d

原生共享:这个模型是I/O分配模型的一个扩展,对硬件具有很高的要求,需要设备支持多个Function接口,每个接口可以单独分配给一个虚拟机,这个模型无疑可以提供非常高的虚拟化性能表现。

最后这种设备虚拟化方式到了网卡上的实现就是VMDc方式,这种方式上,网卡需要提供多个Function以提供给虚拟机,每个虚拟机直接连接到网卡的Function上,所以叫做Virtual Machine Direct Connect虚拟机直接连接。

VMDc利用SR-IOV功能将虚拟机的虚拟网卡直接映射到物理网卡的Virtual Function上

支持VMDc技术的网卡提供了多个Function,Function有两类:Physical Function(用来配制管理网卡)和Virtual Function,每一个虚拟机都可以映射到一个Virtual Function,不同的虚拟机使用不同的Virtual Function,从而提供了充足的性能以及虚拟机隔离能力。

虚拟服务器io,IO虚拟化:虚拟直接连接VMDc技术解析相关推荐

  1. nat服务器的作用,nat虚拟服务器(tp路由器虚拟服务器能干嘛)

    那么虚拟服务器功能的区别呢?还有可网管的路由器中的NAT的区别 [h3c-. NAT:将私有IP转换成公网IP,让内网的计算机能访问互联网,但不能像楼主说的能将内网的FTP面向INTERNET.因为互 ...

  2. tp841虚拟服务器,TP-Link新版路由器虚拟服务器(端口映射)设置方法

    摘 要 新版tplink路由器虚拟服务器的设置方法,虚拟服务器设置,通常又叫做:端口映射设置.端口转发设置等.虽然这个功能普通用户一般用不到,但是偶尔也有用户问起,所以还是简单的介绍下. 原标题:&q ...

  3. 光纤 虚拟服务器,光纤猫设置虚拟服务器

    光纤猫设置虚拟服务器 内容精选 换一换 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能.服务器上的SMMU一般用来完成设备的地址转换,并且可以实现设备隔离,在虚拟化中很实 ...

  4. mercury添加虚拟服务器,mercury怎么设置虚拟服务器

    mercury怎么设置虚拟服务器 内容精选 换一换 Windows场景中,当把源端服务器迁移到华为云后,目的端服务器C盘的已用空间比对应源端服务器C盘的已用空间大至少1GB,而不是与源端服务器C盘的已 ...

  5. tplink 虚拟服务器没有https,tplink虚拟服务器设置

    tplink虚拟服务器设置 内容精选 换一换 组合API版本1.8.9及以上ECS UI版本2.2.29及以上Region内的所有裸金属服务器POD必须全部升级为IaaS OpenStack V100 ...

  6. 虚拟服务器没有目录,云虚拟服务器指向目录

    云虚拟服务器指向目录 内容精选 换一换 云耀云服务器默认设置的时区,是您制作镜像时选择的时区.如需修改,请参见本节内容,将其更改为所需的本地时间或网络中的其他时区.云耀云服务器登录成功后,如果发现云耀 ...

  7. 光猫 虚拟服务器设置,光猫虚拟服务器设置

    光猫虚拟服务器设置 内容精选 换一换 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能.此优化项只在非虚拟化场景使用,在虚拟化场景,则开启SMMU.重启服务器过程中,单击D ...

  8. 联通光猫虚拟服务器设置,光猫虚拟服务器设置

    光猫虚拟服务器设置 内容精选 换一换 组合API版本1.8.9及以上ECS UI版本2.2.29及以上Region内的所有裸金属服务器POD必须全部升级为IaaS OpenStack V100R006 ...

  9. k2虚拟服务器功能,k2路由器 虚拟服务器设置

    k2路由器 虚拟服务器设置 内容精选 换一换 在创建VPC之前,您需要根据具体的业务需求规划VPC的数量.子网的数量.IP网段划分和互连互通方式等.VPC具有区域属性,默认情况下,不同区域的VPC之间 ...

  10. 虚拟服务器没有操作系统么,虚拟服务器自带操作系统吗

    虚拟服务器自带操作系统吗 内容精选 换一换 Atlas 500 Pro 智能边缘服务器(型号 3000)安装上架.服务器基础参数配置.安装操作系统等操作请参见<Atlas 500 Pro 智能边 ...

最新文章

  1. windows XP系统Stop c0000218 unknown hard error 蓝屏故障的解决方法
  2. 叙述无保密机制的rsa签名过程_安全系列之——RSA的公钥私钥有多少人能分的清楚?RSA的签名验签与加密解密如何使用公私钥?...
  3. StringBuilder的使用
  4. cmd imp导入dmp文件_cmd 导入oracle数据的dmp文件
  5. 2022年全球营销趋势
  6. typedef用法(1)
  7. visio 科学图形包_如何科学地做笔记
  8. 示波器使用方法,正确使用示波器
  9. libmodbus在ARM linux开发板上使用
  10. 学习微信小程序的资料汇总---转载自知乎
  11. Altium-Designer6.9安装报错Application Error
  12. Hypervisor
  13. Rancher 离线安装 longhorn 存储类
  14. 信用评分卡建模:决策树模型
  15. The view Myapp.views.welcome didn‘t return an HttpResponse object. It returned None instead.
  16. html中用js格式化JSON输出
  17. 正在励志奋斗的人十大特征
  18. 信号与电源完整性分析(一)提高信号质量
  19. 计算机专业的创新创业之路,大学生创新创业项目对计算机专业建设的有益探索.doc...
  20. 大白话讲解Bootstrap是什么

热门文章

  1. html做彩色方格,超级炫酷,美图秀秀制作超漂亮彩色格子字图文教程
  2. 点击验证码时候自动刷新功能
  3. html页面广告5秒之后跳过
  4. 微信小程序使用彩色图标(阿里巴巴矢量图标库)(炒鸡详细)
  5. VSCode如何搭建Vue项目?详细步骤
  6. python写出租车计费系统_关于使用Python——写出租车计费系统
  7. 导出数据库数据至CSV格式
  8. java 商品库存修改
  9. MFC对TXT文档的操作—读、写、删、查
  10. xss--跨站脚本攻击