一种优化的基于LVM的远程复制方法与流程

文档序号:12123408阅读:来源:国知局

技术特征:

1.一种优化的基于LVM的远程复制方法,其特征在于:基于LVM远程复制架构包括LVM I/O Analysis模块,LVM I/O Process模块和LVM Remote Replication模块三部分;所述LVM I/O Analysis模块对上层应用的I/O请求解析进行优化,对于读请求直接访问本地数据,对于写请求则发送到本地及远程设备处理模块;所述LVM I/O Process模块对LVM中的Mirror接口进行优化,更改写请求的I/O处理流程,通过先记录日志再更新数据的方法,将数据分别发送到本地及远程设备;所述LVM Remote Replication模块对NBD模块进行更改,使之与LVM的内核结构对接,实现数据的远程发送;同时,由于NBD报文是经由TCP/IP传输的,所述LVM Remote Replication模块对TCP/IP网络的参数也进行了优化,调整TCP/IP网络中的tcp_sack,tcp_timestamps,tcp_low_latency,tcp_westwood和tcp_bic参数,使之更有效到适用于远程复制场景。

2.根据权利要求1所述的优化的基于LVM的远程复制方法,其特征在于:所述LVM I/O Analysis模块负责对上层应用发起的I/O请求过滤,通过改变lvm_make_request_fn()函数对I/O请求进行分类,读请求或与复制无关的请求直接交由LVM自身机制从盘中读取,写请求则调用LVM I/O Process模块的接口进行处理;所述LVM I/O Process模块负责构建I/O的流程,同时与Remote Replication模块对接;所述LVM Remote Replication模块负责远程复制的数据一致性定义及数据的远程传输;将I/O请求在主端经由LVM Remote Replication模块处理后,发送到远程设备端并成功提交日志写到数据盘后,更新本地的日志信息并提交给LVM I/O Process模块;当LVM I/O Process模块中的mirror收到本地及远程的返回消息后,向应用层返回写成功。

3.根据权利要求1或2所述的优化的基于LVM的远程复制方法,其特征在于:所述LVM I/O Process模块对写请求的I/O处理流程,首先将I/O请求记录到日志信息中,然后将BIOS复制两份,一份发送到本地的数据盘,另一份发送到请求队列中,最后调用Remote Replication模块接口,利用多线程处理将数据发送到对端;当接收到本地及远程设备两个请求完成后,向上层应用返回请求处理成功。

4.根据权利要求2所述的优化的基于LVM的远程复制方法,其特征在于:所述LVM Remote Replication模块对远程复制的数据一致性定义是指采用实时同步的方式,即上层应用发出的多个写请求必须等待主端和备端的数据同时写入方可继续执行;当请求到来时,先按照请求顺序提交日志,写日志成功后再写数据盘,写数据盘时,按照顺序依次写盘,只有写日志及写数据盘同时成功提交后,才按照请求提交顺序更新日志信息,最后通知上层请求完成;

所述LVM Remote Replication模块对数据的远程传输是基于NBD模块完成的,首先对主端和备端通过nbd_init函数初始化并连接,然后利用do_nbd_request函数从请求队列中读取相应的请求,使用报文结构中的handle域装载发送到备端;调用nbd_do_it循环等待并调用nbd_read_stat读取备端的写盘状态;当读写请求完成后,则从请求队列中删除请求并向上层返回成功。

5.根据权利要求1所述的优化的基于LVM的远程复制方法,其特征在于:所述LVM Remote Replication模块对TCP/IP网络的参数的优化包括利用tcp_sack参数启用有选择应答模式,提升乱序报文的回复,只发送丢失的报文;利用tcp_timestamps参数启用TCP时间戳,更精确控制报文重发;关闭tcp_low_latency参数和选用tcp_westwood参数通过吞吐量评估对带宽的整体利用情况进行优化;为了快速长距离的传输启用tcp_bic参数的Binary Increase Congestion,更好利用传输网络的GB级速度。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1