论文部分内容阅读
近年来,以云计算、大数据分析、高性能计算为代表的创新应用,给数据中心带来前所未有的压力和挑战,推动着数据中心的发展。在数据中心技术发展过程中,尽管出现了如软件定义网络/存储、超融合基础架构等许多新技术,仍无法满足不同应用(如大数据分析、数据库存储、视频/图像传输/处理等)对计算、存储、网络的需求;计算、存储、网络技术的不对称发展(部署),导致许多新替代技术/解决方案的出现,如内存扩展、快速缓存技术、部署与服务器直连的高性能SSD存储设备(Solid State Disk)等;不同的应用有不同的需求,如性能、容量、扩展性和成本等,很难全部满足。此外,在PCIe Gen4、25/50/100Gb以太网卡、NVM Express等新技术的快速发展下,如何继续利用现有基础设施(如光纤通道、SAS(Serial Attached SCSI)、SATA(Serial ATA)磁盘)也备受数据中心管理者的重视。新技术部署的同时,如何有效兼容现有基础设施成为数据中心存储系统的一项重要挑战。融合网络(也称统一网络),即使用一种类型的网络(如以太网)替代多种类型的网络(传统数据中心由专有、独立的局域网、存储和计算网络构成),采用统一的交换机、网卡、接口和电源,可以带来诸多好处,如简化网络设备,降低设备、空间和能耗成本。作为融合网络的重要基础之一,FCoE(Fibre Channel over Ethernet)协议能将FC SAN网络融入到数据中心以太网,使得具有高性能、稳定特点的FC SAN存储系统被无缝兼容,受到数据中心管理者和工业界的重视。研究FCoE SAN存储系统访问方法,以提高存储服务性能,是一项十分重要的研究课题。另外,相关研究方法对于iscsi或NVMe over Fabric网络环境也具有参考借鉴价值。 随着非易失存储、高速网络及多核处理器技术的飞速发展,Open-FCoE协议栈(业界默认的FCoE协议栈事实规范)成为访问FCoE网络存储设备的性能瓶颈,限制了吞吐率、延迟和并行处理性能。为了解决此问题,设计并实现一种高并发、低延迟FCoE协议栈框架(称为FastFCoE)。相比Open-FCoE,FastFCoE协议栈的特点在于:(1)采用单层设计(FastFCoE层)取代Open-FCoE协议栈中的三层设计(SCSI/FCP/FCoE),减少I/O请求转化为FCoE请求帧所需的开销;(2)采用一种新的I/O请求完成策略,降低了I/O请求完成开销;(3)采用私有数据和禁止内核抢占(per CPU data&disabling kernel preemption)机制,避免了多核同步开销。测试结果表明,FastFCoE协议栈在单核和多核应用环境下I/O请求处理性能远远超过Open-FCoE协议栈,如FastFCoE协议栈并行I/O处理吞吐率性能达到1132.1K/836K IOPS(读/写),是Open-FCoE的6.6/5.4倍。 作为KVM默认支持的网络解决方案,虚拟交换机软件(macvlan/macvtap)结合虚拟网卡(virtio net)广泛运用于虚拟化场景下。但是,现有虚拟交换机(macvlan/macvtap)不支持多个单播地址的转发,导致虚拟机无法登入FCoE SAN存储服务器;同时,现有虚拟交换机(macvlan/macvtap)不能正确传递FCoE网络包的各种硬件卸载信息,无法利用宿主机物理网卡FCoE硬件卸载功能,限制了虚拟机访问FCoE网络存储设备的性能。为了解决此问题,在现有开源虚拟交换机模块macvlan/macvtap基础上,设计并实现一种新的虚拟机交换机软件:(1)采用多地址转发机制,支持虚拟机登入FCoE SAN存储服务器;(2)能够正确传递FCoE卸载信息,支持虚拟网卡的FCoE卸载功能。实验结果表明,基于该方法实现的虚拟交换机软件,支持对多地址转发表添加/删除/查询操作;支持虚拟机通过虚拟网卡登入FCoE SAN存储服务器;能够正确传递FCoE CRC(Cyclic Redundancy Check)、FCoE FSO(FCoE Segment Offload)、FCoE DDP和FCoE MTU(Maximum Transmission Unit)卸载信息,可以使得虚拟机充分利用物理网卡卸载功能、实现虚拟机高效访问FCoE SAN存储设备。 提供高吞吐率、低延迟服务以满足不同应用的存储需求,是数据中心存储的基本。现有虚拟网卡(virtio net)不支持FCoE硬件卸载功能,限制了虚拟机通过虚拟网卡对FCoE网络存储设备进行访问的吞吐率和延迟性能。为了增强虚拟网卡卸载功能,通过分析研究现有虚拟网卡(virtio net)技术,发现存在两个问题:(1)FCoE卸载信息没有被正确传递;(2)多虚拟机共享单网卡DDP(Direct Data Placement)硬件卸载,存在冲突。为了使虚拟机获得高性能FCoE网络存储服务,提出基于FCoE硬件卸载技术的虚拟网卡增强方法:通过Exchange ID映射机制,使得虚拟机可以共享物理网卡的FCoE DDP卸载功能;通过支持FCoE CRC、FCoE FSO、FCoE DDP和FCoE MTU卸载功能,提高虚拟网卡访问FCoE SAN存储服务器的I/O性能。实验结果表明:增强后的虚拟网卡,具备FCoE CRC、FCoE FSO、FCoE MTU和FCoE DDP卸载功能,可以大幅提高虚拟机访问FCoE网络存储服务器的性能。使用Fileserver、Varmail负载测试时,相比原生虚拟网卡驱动(virtio net),增强后的虚拟网卡平均吞吐率性能分别提升了398.7%和309.7%,文件操作平均延迟从9.8ms、6ms减少至2ms、0.8ms。