logo好方法网

一种基于zfs文件系统的高性能跨域复制方法


技术摘要:
本发明公开了一种基于zfs文件系统的高性能跨域复制方法,包括如下步骤:管理平台下发跨域复制任务;启动数据接收端的接收驱动模块用于被动监听tcp端口和udp端口;启用数据发送端的基于网络发送的驱动模块;启用基于块设备驱动程序的监控模块,用于对块设备的读写IO进行  全部
背景技术:
信息化的飞速发展,海量数据的存储带来更高的风险,数据的二次存储显得极其 重要,对于数据存储备份、同步是一套健全的存储系统的必要保障。对于类似zfs这样的文 件系统,数据的跨域复制同步本身提供了一套完好的操作方式,但是在性能上却远远不够, 其根本原因是因为从磁盘到上层应用程序再转到网卡等诸多操作流程带来的巨大性能损 耗。 所以,需要一个新的技术方案来解决这个问题。
技术实现要素:
发明目的:为了克服现有技术中存在的不足,提供一种基于zfs文件系统的高性能 跨域复制方法,能够大幅度提高跨域复制备份的效率。 技术方案:为实现上述目的,本发明提供一种基于zfs文件系统的高性能跨域复制 方法,包括如下步骤: S1:管理平台下发跨域复制任务; S2:启动数据接收端的接收驱动模块用于被动监听tcp端口和udp端口; 启动数据接收端的数据处理模块用于控制报文的拦截功能; 启用数据接收端的内核线程服务,打开/opt/zfs文件描述符,并监听该描述符上的可 读可写事件; 启用数据发送端的基于网络发送的驱动模块; 启用基于块设备驱动程序的监控模块,用于对块设备的读写IO进行捕获; S3:利用数据发送端进行跨域复制发送操作; S4:利用数据接收端进行跨域复制接收操作,完成数据的写入操作。 进一步的,所述步骤S3中数据发送端进行跨域复制发送操作的具体流程为: A1:通过udp端口发送协商报文,确认两端主机任务的一致性; A2:连接tcp端口,从磁盘读取对应的需要跨域复制的数据,块设备驱动写入到存储的 bio结构后,触发IO可读事件; A3:网络发送的驱动程序捕获到IO事件,获取bio结构,解析bio结构并将bio中块设备 缓存数据转发到网络套接字上; A4:任务结束关闭tcp套接字连接。 进一步的,所述步骤S4中数据接收端进行跨域复制接收操作的具体流程为: B1:接收udp信令报文,验证任务ID的一致性,设置netfilter接口放行tcp对应端口的 3 CN 111552668 A 说 明 书 2/4 页 报文,等待tcp连接; B2:获取tcp客户端的数据报文,写入数据缓存中,调用块设备的写入接口将缓存数据 写入磁盘; B3:任务结束,设置netfilter接口拦截tcp对应端口的数据报文。 基于上述步骤进行总结,数据发送端的流程如下:首先通过udp端口发送协商报 文,确认两端主机任务的一致性;当协商成功后,发送端从磁盘读取对应的需要跨域复制的 数据,块设备驱动写入到存储的bio结构后,捕获IO事件,并获取bio的地址,触发/opt/zfs 文件描述符可读事件,当前块设备对bio的操作不再往文件缓存提交,由负责网络发送的驱 动程序捕获到IO事件,获取bio结构,解析bio并将bio中块设备缓存数据转发到网络套接字 上,经协议栈发送到网卡。 基于上述步骤进行总结,数据接收端的流程如下:接收发送端的udp协商请求,对 任务ID的一致性进行检查,通过调用netfilter的模块接口设置tcp端口的放行报文,并应 答数据发送端的udp报文,等待发送端tcp连接的建立。接收来自数据发送端的数据报文,调 用块设备的IO接口将内核的数据报文直接写入磁盘,从而完成数据的写入操作。 基于上述技术方案,本发明的创新理念具体如下: 创新1:通过新的模块设计,使得原本需要多次系统调用的数据处理和流转操作得到大 幅减少;减少磁盘缓存到文件系统缓存过程的一次内存拷贝;减少从文件系统到用户程序 的一次内存拷贝;减少从用户程序拷贝到协议栈的一次内存拷贝,至少减少每次数据接收、 发送过程用户态到内核态报文的两次系统调用。 创新2:通过块设备缓存的bio结构改造,增加数据可写的事件通知机制,通过每个 bio事件完成触发注册fd事件,当可写、可读准备好,传送struct  bio_vec的地址,并异步通 知协议栈服务程序,这样不再要轮询等待,整个异步操作可以在内核中完成,从而大幅提高 处理性能。 创新3:不同于传统的将数据放在用户态的标准输入输出,且通过应用层网络模块 处理的跨域方式,本发明增加内核态的协议服务程序、主要服务网络数据的传送以及监听 本地硬盘bio可读可写事件,使得网络IO可以完全在内核中进行,避免大量的网络系统调 用,从而提高性能。 创新4:磁盘和网络数据共享,共享网络读写缓存直接写入磁盘、共享磁盘的bio数 据缓存写入网卡,缓存的共享可以减少处理开销从而提高性能。增加跨域复制信令交互报 文以及心跳报文,提高安全性。 有益效果:本发明与现有技术相比,具备如下优点: 1、减少了磁盘缓存到文件系统缓存过程的一次内存拷贝;减少了从文件系统到用户程 序过程的一次内存拷贝、一次系统调用;减少了从用户程序拷贝到协议栈的一次内存拷贝 和系统调用,因此大幅提高了复制效率。 2、块设备缓存的bio结构的异步通知机制,增加数据可写的事件通知机制,通过每 个bio事件完成触发注册fd事件,当可写、可读准备好,传送struct  bio_vec的地址通知协 议栈服务程序;通过多路复用的IO通知机制、异步读写的操作机制,可以不需要轮询的进行 读写,可以在有数据可读可写的时候处理大量的IO操作,提高单次处理的数据量同时增加 处理命中率,无需浪费cpu的轮询判断,通过传递bio_vec的地址,使得协议栈无需拷贝存储 4 CN 111552668 A 说 明 书 3/4 页 的块缓存数据,可以重复利用这块内存,提高处理性能。 3、增加内核态的协议服务程序、主要服务网络数据的传送以及监听本地硬盘bio 可读可写事件,共享网络读写缓存直接写入磁盘、共享磁盘的bio数据缓存写入网卡,并通 过增加跨域复制信令交互报文以及心跳报文的方式,增强跨域复制的能力和性能。 附图说明 图1为跨域复制数据发送端的操作流程示意图; 图2为跨域复制数据接收端的操作流程示意图。
下载此资料需消耗2积分,
分享到:
收藏