|
私有云服务器要解决外设资源分配私有云现在已经成为了企业IT未来发展的趋势之一,尤其对于大中型企业来讲,其灵活的IT资源的整合与针对不用应用,按需自动化供给的能力,是非常具有诱惑力的。当然,要具备这一能力的前提就是来自虚拟化技术的支撑,尤其是作为企业IT应用的"执行"与"处理"平台的服务器,其虚拟化性能的好坏与虚拟化功能的强大与否,也将直接影响到私有云最终面向应用的动态响应效率。 私有云现在已经成为了企业IT未来发展的趋势之一,尤其对于大中型企业来讲,其灵活的IT资源的整合与针对不用应用,按需自动化供给的能力,是非常具有诱惑力的。当然,要具备这一能力的前提就是来自虚拟化技术的支撑,尤其是作为企业IT应用的"执行"与"处理"平台的服务器,其虚拟化性能的好坏与虚拟化功能的强大与否,也将直接影响到私有云最终面向应用的动态响应效率。 谈到服务器虚拟化,很多人第一时间想到的就是虚拟机的能力,这包括了整体平台的虚拟机的数量,单个虚拟机的负载能力等等。而从一个基本角度上讲,虚拟机的承载数量与虚拟机本身的负载能力是与服务器本身的处理器性能以及内存容量等硬指标相关,不过可能很多人还没有意识到,在一个整体的虚拟化环境下,尤其是在一个大规模的服务器资源池的环境下,比如数据中心级的虚拟化环境中,处理器性能与内存容量虽然非常重要,但就虚拟化性能本身来讲,它们并不能代表全部,这一点要从虚拟化环境的应用特点说起,因为虚拟机与物理机对外界的要求已经不一样了。 在一台物理服务器中,如果没有做虚拟化,它就是一台"物理机",传统企业应用的特点就是,一台服务器只有一套操作系统,在操作系统之上只有一套应用(包括中间件的支撑),这就意味着,物理服务器中所有的组件都是被这一个操作系统与一套应用所独占,这其中不仅仅是处理器、内存等核心处理功能组件,还包括磁盘、PCI外设以及网卡。可是,当一台物理服务器部署虚拟化层之后,在其上将出现若干个虚拟机(目前最高水平可达到将近400个虚拟机整合于一台物理服务器之上),这些虚拟机每个都有自己的操作系统与应用,彼此在逻辑上相互独立,可是我们别忘了基础的硬件仍然只有一套,这一套物理的硬件又该如何对多个虚拟机提供良好的服务呢?如果说CPU在虚拟化之后,生成vCPU(虚拟处理器)以供虚拟机使用,那么相应的外围组件呢?他们也只有共同于虚拟化状态下才能更好的为虚拟机,也就是基于于虚拟环境下的企业应用提供更好的服务。 因此,当我们在针对私有云部署而选择基础应用平台时,眼光就不能仅局限于服务器的核心组件的虚拟化能力,因为对于云计算来讲,甚至都在强调数据中心外围资源,如电源、制冷的统一管理与动态供给,那么就服务器平台本身来说,全局虚拟化的能力也就至关重要。 当前云计算最主流的服务器承载平台,基本上已经是公认的x86服务器,而x86处理器的虚拟化硬件辅助技术已经发展了多年,早已被广大用户所认知,它就像以前在PC上看VCD、DVD时所强调的"硬解码"一样,在处理相应的视频时,较传统的只使用CPU原始计算能力的"软解码"有了极大的效率的提升,同理,硬件辅助的处理器虚拟化技术,也大大降低了虚拟化对CPU本身的资源占用,将更多的处理能力留给了企业应用。而从一个全局的角度来看,x86服务器除了CPU之外,也应该做到整体的虚拟化,但在这方面目前只有英特尔提供了整体的解决方案,因此有必要在私有云部署中,进行基础平台选择时予以关注。
英特尔为服务器虚拟化所提供的硬件辅助技术可以分为三个层面,第一个就是处理器级别的VT-x(x代表x86处理器,还有一个VT-i,i则代表安腾处理器),它为服务器提供了基本的虚拟化性能的保证,其中包括了针对多个虚拟机调用的CPU中断排队功能VT-FlexPriority、针对虚拟机迁移的VT-FlexMigration和VPID、提升虚拟机内存访问效率的EPT等等,它们在底层保证了最基础的虚拟机CPU调用的效率,大大减轻了VMM(又称Hypervisor,虚拟机管理器)的"软处理"的工作量,提高了CPU面向的企业应用处理的有效能力。 第二层面则是主板芯片组一级的VT-d(d代表Directed I/O),英特尔的VT for Directed I/O为VMM提供了下面几项功能: • I/O设备分配:用于灵活分配I/O设备到虚拟机,并针对I/O操作扩展和隔离虚拟机的特性,你可以认为它将I/O设备也虚拟化了,以应对多个虚拟机的请求。 • DMA重映射:支持对设备Direct Memory Accesses (DMA)的独立地址转译,这就意味着每个虚拟机可以"直接"的对I/O设备进行寻址,保证了虚拟机I/O效率,同时降低了VMM的系统开销。 • 中断重映射:用于将分离中断请求并将其路由到合适的虚拟机上 • 可靠性:用于记录和报告给系统软件可能损坏内存或者影响虚拟机分离的DMA和中断错误。 通过VT-d,虚拟机基本上可以直接的与I/O设备打交道而不需要VMM过多的参与(VMM只是知道虚拟机在请求什么,在干什么,而不用帮助它们怎么干),这对于保证虚拟机的I/O效率非常重要,比如在外接SAN存储的情况下,与SAN进行的沟通的HBA的效率就将直接从VT-d中获益,这对于提高和保证虚拟环境下的存储效率的作用是显而易见的。 英特尔为服务器全局虚拟化带来的第三个层面的技术就是在网络互联的VT-c(c代表Connectivity)。我们现在已经很难想像,没有网络互联,服务器的应用将会怎样,而在一个虚拟化的环境中,多台虚拟机都有联网的需求时,网卡又将如何应对?VT-d保证了虚拟机访问网卡的效率,但网卡的响应效率又如何解决呢?得益于英特尔本身在网卡技术方面的优势,VT-c最大限度的解决了这一问题。VT-c通过加强虚拟服务器中主机CPU与I/O设备的通信来提升整体系统性能,降低了CPU利用率和系统延迟,同时提高了网络和I/O吞吐量。VT-c包含了两大技术核心,第一个VMDq技术,它提高网络性能并降低虚拟化环境中的CPU利用率。VMDq利用了网络设备中的多项队列技术,通过在网卡中进行数据分类来降低虚拟化服务器中hypervisor的I/O开销。有了VMDq,数据包进入网络适配器的时候被分类,目的地相同的数据包被分到一起,然后这些数据包被发送到VMM中,hypervisor再将其直接指向各自的目的地。 另一个技术则是业界的标准——SR-IOV(Single Root I/O Virtualization,单根I/O虚拟化),SR-IOV提供了一个设备宣传其在多个虚拟机之间同时共享的能力的标准机制。SR-IOV可以将一项PCIe功能分配到多个虚拟界面中,以达到在虚拟环境中共享PCIe设备资源的目的。你们把它想像为,将一个网卡虚拟机多个网卡为相应的虚拟机服务,每个虚拟机都认为自己拥有了完整功能的网卡,从而提供了设备共享效率。 综合来看,英特尔的VT-x、VT-d和VT-c很好的解决了x86服务器平台全局虚拟化的能力,目前还没有第二家厂商可以做到这一点。利用上述的三项技术,客户在部署私有云基础应用平台时将能最大限度的享受到处理核心组件、服务器I/O平台与网络互联在虚拟化环境中的应有效率,从而也将确保私有云所承载应用的最终性能,也将让云计算"为应用而服务"的理念得到了最大化的实践与体现。 责编:张欢 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 推荐圈子 |
|