• 第八讲:I/O虚拟化


      一、I/O虚拟化的产生

      服务器单个千兆以太网端口肯定能够支持单个应用,但是当被分割为10个、15个或者更多的服务器负载时(这其中包括网络、存储以及服务器之间的流量)可能就不够用了。

      当遇到I/O瓶颈时,CPU会空闲下来等待数据,计算效率会大大降低--I/O瓶颈最终会打败虚拟化所带来的资源使用效率的提升。

      故虚拟化也必须扩展至I/O系统,在工作负载、存储以及服务器之间动态共享带宽,能够最大化地利用网络接口。通过缓解服务器I/O潜在的性能瓶颈,服务器能够承载更多的

      工作负载并提升其性能。

      1)I/O虚拟化

        ·通过VMM模拟I/O设备(磁盘和网卡等)实现虚拟化。

        Guest OS所能看到的就是一组统一的I/O设备。VMM截获Guest OS对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对Guest而言非常透明,

        无需考虑底层硬件的情况。

        ·I/O半虚拟化技术

        通过前端(Front-End)/后端(Back-End)模拟实现虚拟化。

        Guest OS 中的驱动程序为前端,VMM提供的与Guest 通信的驱动程序为后端。前端驱动将Guest OS的请求通过与VMM间的特殊通信机制发送给VMM的后端驱动,

        后端驱动在处理完请求后再发送给物理驱动。

        ·I/O硬件辅助虚拟化技术

        主要有三种网卡:普通网卡、VMDq直通 和SR-IOV,相关技术说明如下:

        普通网卡:Domin0 网桥队列。

        VMDq: VMM 在服务器的物理网卡中为每个虚拟机分配一个独立的队列,虚拟机出来的流量可直接经过软件交换机发送到指定队列上,软件交换机无需进行排序和路由操作。VMM和虚拟交换机仍然需要将网络流量在 VMDq 和虚拟机之间进行复制。

        SR-IOV:通过创建不同虚拟功能(VF)的方式,给虚拟机的就是独立网卡,实现虚拟机直接跟硬件网卡通信,不再经过软件交换机,减少了Hypervisor层的地址转换。

        

  • 相关阅读:
    【JavaScript】JavaScript学习 四 JavaScript 语句
    【Javascript】javascript学习 十二 JavaScript 函数
    【Javascript】javascript学习 六 七 JavaScript 变量/运算符
    【JavaScript】JavaScript学习 三 把 JavaScript 放置到何处
    【Javascript】javascript学习 十四 JavaScript Break 和 Continue
    【Javascript】javascript学习 十 JavaScript 消息框
    如何查询数据库的主键约束schema?
    无限级下拉列表的无限级分级[asp.net](转)
    结构体
    对typedef的了解
  • 原文地址:https://www.cnblogs.com/aaronax/p/5693021.html
Copyright © 2020-2023  润新知