虚拟化技术是超融合的基础。超融合是在计算虚拟化、存储虚拟化、网络虚拟化等技术基础之上,面向现代化数据中心的产品和方案。而网络作为超融合集群流量的桥梁,转发能力对超融合产品至关重要;存储作为超融合业务数据持久化的仓库,其性能也是衡量超融合的重要指标之一。
不完美的网络和存储
电脑要想上网,需要通过无线Wi-Fi或者网线连接物理交换机才可以访问因特网。同样地,虚拟机之间通信或者虚拟机访问外部网络也需要连接虚拟交换机。
图1 虚拟交换网络拓扑
虚拟交换机连接超融合的多个虚拟机,实现二层交换功能,包括MAC学习、单播转发、VLAN内广播等,同网段的虚拟机可以通过虚拟交换机进行通信。虚拟交换机的另外一端与网卡相连,同一台超融合一体机内的虚拟机之间的流量无须经过网卡,只有与超融合一体机外面的主机通信才需要发送给网卡。虚拟交换机上也可以下发ACL规则,用于放通或者丢弃特征的流量,比如特定的IP地址或者MAC地址。
不同VLAN的虚拟机之间通信需要使用虚拟路由器的三层路由功能,虚拟路由器上的路由表会记录各个网段的路由,将跨网段的流量转发到正确的输出端口。
Linux内核处理网络流量由于使用到读写锁和软中断,性能瓶颈很明显,只能达到1-2MPPS。因此,当用户业务流量较大时,通常使用DPDK或者SR-IOV技术来提升网络性能。但DPDK和SR-IOV都存在着不同的缺点,DPDK为了提升性能付出了CPU资源占用较多的代价,DPDK绑定的CPU计算资源都用于流量转发处理,无法再用于处理其他计算任务。SR-IOV的缺点在于需要在虚拟机内安装网卡驱动,无法使用标准的虚拟化IO,因此会有部分虚拟机因为其使用的操作系统下没有SR-IOV驱动而无法使用这项技术。除了通用性不够好以外,目前SR-IOV在虚拟机热迁移的支持上还存在相应欠缺。
除了网络外,存储也存在转发性能低的问题。台式电脑或者笔记本电脑上的数据存储在本地硬盘上,类似地,虚拟机所使用的数据存储在虚拟硬盘上。虚拟硬盘自身只是一个逻辑上的概念,对应的物理载体是许多块硬盘组成的硬盘资源池。硬盘资源池由存储软件负责管理,划分成若干个虚拟的硬盘供虚拟机使用。对于标准的存储访问路径而言,需要虚拟机首先访问虚拟化存储,继而访问宿主机内核,然后再通过ISCSI协议访问物理上的存储介质。这么长的转发路径,自然会导致性能无法满足用户需求。因此,用户急需一种技术,可以用来提升网络和存储的性能,超融合智能加速技术就是在这一背景下应运而生的。
网络的智能加速
超融合智能加速引擎是利用硬件智能加速卡来提升网络和存储性能的软硬件结合的技术,不但可以解决以上DPDK和SR-IOV的缺点,而且达到与之近似的高性能。超融合智能加速引擎所使用的智能加速卡相当于一台硬件交换机,可以将虚拟交换机的转发表项都下发到智能加速卡的硬件芯片上。使用硬件芯片转发用户报文,相比CPU处理的纯软件转发方式有着更高的转发性能。智能加速卡相比目前使用的传统网卡,除了可以收发物理层和数据链路层的报文外,还内置了低功耗的CPU,用于处理相对复杂的流程,同时可以承担超融合的部分网络和存储工作。简而言之,智能加速卡的“智能”体现在它比传统网卡多了可以独立思考的大脑。
智能加速卡使用硬件芯片转发报文,同时通过内存映射技术避免多次拷贝报文的性能损耗,因此相比传统网卡更加节省CPU和内存资源。而节省下来的计算资源可用于创建更多的虚拟机,这样就从根本上有效降低了用户的成本。
而与SR-IOV相比,超融合智能加速引擎通用性更好。由于使用标准的虚拟化IO,因此无需在虚拟机内安装网卡驱动。也正因为使用标准的虚拟化IO,使用超融合智能加速引擎的虚拟机可以做热迁移操作。比如在UIS上将虚拟机从一台一体机迁移到另一台一体机的过程中,被迁移的虚拟机业务流量不会中断。
图2 超融合智能加速引擎网络传输拓扑
存储的智能加速
除了网络加速外,超融合智能加速引擎还可以利用RDMA技术为存储加速。
图3 超融合智能加速引擎存储加速拓扑
相比标准的存储访问路径,超融合智能加速引擎的存储访问路径更短。由于超融合智能加速引擎避免了多次内存拷贝的开销,并且不再由相对低效的内核参与处理,再加上超融合智能加速引擎对于ROCE的加速,存储性能比传统存储更高。ROCE是RDMA over Converged Ethernet的简写,ROCE可以在传统以太网上支持RDMA的远程内存读写功能。换句话说,ROCE可以通过当前的以太网,将一台服务器的存储数据直接写到另外一台服务器上。这样带来的好处是,虚拟化存储的数据同步时延更低,进而可以获得更高的性能。同时,ROCE采用无损的以太网来解决拥塞带来的丢包问题,通过流量控制协议,ROCE可以在发生网络拥塞前,通知对端降低发送速率,从而避免了丢包重传带来的性能损失。
原有的ISCSI使用TCP作为传输协议,当网络拥塞时会导致报文重传,从而进一步加剧网络拥塞。而采用超融合智能加速引擎后,ISCSI可以使用ROCE作为传输协议,也就是使用ISER(ISCSI Extensions for RDMA)作为存储协议,从而得到比传统ISCSI更高的性能。
根据实验室数据,使用超融合智能加速技术后,网络和存储的性能提升均在100%以上。
图4 超融合智能加速架构
结束语
网络和存储的性能对实时性要求高的业务至关重要,现有的技术虽然在一定程度上可以解决问题,但依然存在一些缺点。而超融合智能加速技术可以满足用户对网络和存储性能的各方面需求,在使用硬件芯片实现高带宽低时延的同时,也节省了用户CPU和内存资源。相信未来在云桌面、金融、交通等多个领域,会有越来越多的用户选择超融合智能加速技术。