自主产品
QLink 分布式存储管理软件
QLink 软件简介
QLink 是沃趣科技推出用于在 QData 数据库一体机上使用的分布式存储管理软件,用于实现存储节点到计算节点的 IO 无损输出、存储的分布式管理等功能。在正式介绍它之前,首先需要先了解 QLink 软件所支持的 InfiniBand 网络和 RDMA 技术。
InfiniBand 技术
InfiniBand(简写IB)是一种计算机网络连接标准。原来主要用于节点间需要有大量数据传输需求的 HPC 高性能计算,随着技术发展和新业务场景出现,使用领域变得越来越广泛。整个 IB 网络由主机上的 HCA(Host Channel Adapter)卡,IB 交换机和 IB 线缆组成,目前IB设备的主要制造商是 Mellanox。IB网络能够保证在低延时情况(200ns)通过4倍聚合通道(4X aggregate links)的单个物理接口支持 40Gb 或 56Gb 的带宽。
HCA 卡
图1:HCA 卡
InfiniBand 光纤
图2:InfiniBand 光纤
InfiniBand 铜缆
图3:InfiniBand 铜缆
InfiniBand 交换机
图4:InfiniBand 交换机
RDMA 技术
RDMA(Remote direct memory access)是一种主机到另一台主机的直接内存访问技术,在这过程中不需要两台主机上操作系统的介入。它的出现使得创建一个高吞吐和低延时的网络成为现实。RDMA 支持零拷贝网络互联,通过物理适配器(如 HCA 卡)可以直接从应用程序内存区中获取或者传入数据,不需要 CPU、Cache 和上下文切换的介入,可以和同一时间的其他操作系统操作并行,使得数据的传输延时降低和效率提高。
RDMA技术和传统传输方式的对比
图5:RDMA技术和传统传输方式的对比
* 图 5 中绿色数据流动方向(代表 RDMA 技术)和黄色的数据流动方向(代表传统技术)表明了两种传输方式的效率对比。
在 IB 网络上可以运行多种类型的协议,有 sockets 套接字协议、块存储协议、文件存储协议及其他高性能运算的集群协议。
图 6 展示了一副完整的 IB 协议栈。
IB 协议栈
图6:IB 协议栈
在套接字协议领域中,最常见的是 IPoIB。通过 IPoIB 协议能让 TCP/IP 协议运行在IB网络之上,应用程序不需要修改,就能使用 TCP/IP 协议栈的全部功能。值得一提的是在 QDATA For Oracle 一体机中,还使用 RDS(Reliable Datagram Sockets)这种基于 RDMA 的数据报协议用于 Oracle RAC 节点间的缓存共享访问,对比 IP 方式效率大大提高。
在块存储协议领域中,两种块协议 iSER 和 SRP 能够运行在 IB 网络上,两者都基于 RDMA 技术,实现主机端到目标端的 SCSI 访问。
QLink 软件详解
QLink 最主要的功能就是能把存储节点上的高速存储资源通过 iSER 协议输送到计算层,能够实现计算节点对存储资源的共享访问。QData 数据库一体机的存储节点启动 QLink 服务端以 Daemon 的方式运行,用于接收从计算节点来的 RDMA 请求Work Request (WR)。
在计算节点 QLink 将 Oracle 的 IO 请求转换成 RDMA 的 Work Request (WR),发往存储节点的QLink 服务端。当存储节点收到从计算节点来的 RDMA 请求 Work Request (WR),将其翻译为对底层磁盘的读取或者写入操作,并返回计算节点操作是否成功的信息。
QLink 的访问路径
图7:QLink 的访问路径
* 图 7 的箭头表示了 QLink 的 IO 访问路径。
同时 QLink 的存储节点之间不需要通讯,在存储层属于 ShareNothing 结构,单个存储节点失效不影响其他节点。数据库的数据是跨存储节点冗余存放的,某一存储节点宕机,不会影响到其他 QLink 的运行,不会影响数据库的运行。
经过精确的测试,QLink 几乎可以做到无损输出。意味着通过 QLink 的输出损耗极小。在同等环境下,QLink 性能超过基于 TCP/IP 协议的存储产品(如 ScaleIO)2倍以上。
表1. QLink 输出效率测试
平台 存储本地 计算节点(通过 QLink 输出的盘)
容量 3.2T 3.2T
IOPS 256356 252320
吞吐 3066MB/s 3056MB/s
* 存储结点本地 1 块 Fusion IO 3.2T 的 Flash 卡。通过一个 QLink 输出到计算节点。
* 测试工具:FIO
QLink 的功能强大不仅表现在高效的 IO 性能上,同时 QLink 也是一整套IB存储网络组件的集合,主要组件包括 IB 卡驱动、raid 卡管理组件、iSER 组件、诊断工具组件。它能实现对存储节点的介质管理,它还能和 ORACLE ASM 卷管理紧密结合,在计算层实现数据高可靠性保护。
QLink 高性能存储互联软件已经有在用户生产环境连续稳定运行四年的案例,从未发生程序异常终止的情况。
QLink V5.0.1 支持 Oracle Database 11g R2 or 12c, Oracle Linux 6.5,并且也可支持 Oracle 的大数据应用环境。
* Application WoquTech Qlink High Speed Storage Interconnect Software version 5.0.1(QLink V5.0.1) is supported on Oracle Database 11g R2 or 12c, Oracle Linux 6.5 and is Ready to run with Oracle Big Data Appliance.