分布式块存储服务命令处理方法、装置、设备及介质制造方法及图纸

技术编号:24205056 阅读:25 留言:0更新日期:2020-05-20 14:19
本申请公开了一种分布式块存储服务命令处理方法、装置、设备及介质,该方法包括:通过tgtadm获取块存储服务的rbd命令,并对rbd命令进行解析,以得到相应的任务参数,然后将任务参数传送至iscsi target;通过tgtd开启用于处理与任务参数对应的任务的专用线程,并监视当前任务的实时处理结果;通过iscsi target将实时处理结果返回给tgtadm,以便tgtadm将实时处理结果显示在人机交互界面。本申请是将rbd命令上移至了target层,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这样可以节省大量的人力,简化了流程,同时大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,减轻了集群负载。

Command processing methods, devices, devices and media of distributed block storage service

【技术实现步骤摘要】
分布式块存储服务命令处理方法、装置、设备及介质
本申请涉及计算机
,特别涉及一种分布式块存储服务命令处理方法、装置、设备及介质。
技术介绍
RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中。而iSCSI主要是通过TCP/IP的技术,将储存设备(RBD)端透过iscsitarget(iscsi目标)功能,做成可以提供磁盘的服务器端,再透过iscsiinitiator(iscsi初始化用户)功能,做成能够挂载使用iscsitarget的客户端,如此便能透过iSCSI协议来进行磁盘的应用了。也就是说,iSCSI这个架构主要将储存装置与使用的主机分为两个部分,分别是:1、iscsitarget:就是储存设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成iSCSItarget,目的在提供其他主机使用的磁盘;2、iscsiinitiator:就是能够使用target的客户端,通常是服务器。也就是说,想要连接到iscsitarget的服务器,也必须要安装iscsiinitiator的相关功能后才能够使用iscsitarget提供的磁盘。在实际应用中,客户机可通过与tgt(即用户态实现的iscsitarget)建立连接访问底层的librbd(即Ceph提供的块存储库,其实现了RBD接口),实现对块存储的操作。一个target上可以映射多个块设备,同时一个tgt上可以创建多个target,客户机可以连接tgt上其中一个或多个target分别进行访问,tgt可创建LUN(即LogicalUnitNumber,逻辑单元号)为客户端提供块服务,一个LUN对应于一个块存储卷。现有技术中,RBD可通过命令行实现对卷、快照、克隆等的管理,但是若卷正在被iscsitarget挂载使用,也即若卷已经被打开,此时如果通过rbd命令行对卷、快照进行修改、那么iscsitarget业务将无法使用同时快照回滚,目前ceph不支持在线回滚,若要进行快照回滚,那么必须将映射卷一层一层卸载,然后回滚,最后再重新映射挂载,这样的流程是相当繁琐的。同时如果rbd是一个进程,若命令调用的很频繁,那么将开启大量的进程,这样集群的会出现大量的无关业务影响整体性能,在对性能要求非常高的分布式部署场景下,这样势必会影响用户体验。
技术实现思路
有鉴于此,本申请的目的在于提供一种分布式块存储服务命令处理方法、装置、设备及介质,能够简化命令处理流程,并减轻集群负载,从而改善了集群的整体性能。其具体方案如下:第一方面,本申请公开了一种基于iscsi的分布式块存储服务命令处理方法,包括:通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsitarget;通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果;通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。可选的,通过tgtadm将所述任务参数传送至iscsitarget,包括:通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsitarget。相应的,所述通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,包括:通过所述iscsitarget并基于ipc通信方式将所述实时处理结果返回给所述tgtadm。可选的,在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,还包括:从epoll监听中删除fd文件描述符。可选的,通过tgtd监视当前所述任务的实时处理结果的过程,包括:通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。可选的,所述通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果,包括:通过tgtd设置回调函数,并将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时通过调用所述回调函数向所述tgtd返回相应的实时处理进度。可选的,所述通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面,包括:通过所述iscsitarget对所述实时处理进度进行解析并计算相应的进度百分比,然后将所述进度百分比返回给所述tgtadm,以便所述tgtadm将所述进度百分比转换成相应的进度条并显示在人机交互界面。可选的,所述通过所述回调函数获取当前任务的实时处理结果,还包括:通过所述回调函数获取当前任务的错误码。第二方面,本申请公开了一种基于iscsi的分布式块存储服务命令处理装置,包括:命令获取模块,用于通过tgtadm获取块存储服务的rbd命令;命令解析模块,用于通过所述tgtadm对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsitarget;线程开启模块,用于通过tgtd开启用于处理与所述任务参数对应的任务的专用线程;结果监视模块,用于通过tgtd监视当前所述任务的实时处理结果;结果返回模块,用于通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。第三方面,本申请公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的基于iscsi的分布式块存储服务命令处理方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,以实现前述的基于iscsi的分布式块存储服务命令处理方法。本申请中,通过tgtadm来获取块存储服务的rbd命令,并将相应的任务参数上移至iscsitarget,然后通过tgtd开启专门用于处理上述任务参数对应的任务的线程,并监视实时处理结果,接着通过iscsitarget将实时处理结果返回给tgtadm,以便通过tgtadm将实时处理结果显示在人机交互界面上。由此可见,本申请是将rbd命令上移至了target层,这样相当于将对卷、快照、克隆的操作上移至target层来进行处理,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这个过程对于用户来说是无感知的,这样可以节省大量的人力,简化了流程,改善了用户体验,与此同时,大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,从而大幅减轻了集群负载。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中本文档来自技高网
...

【技术保护点】
1.一种基于iscsi的分布式块存储服务命令处理方法,其特征在于,包括:/n通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;/n通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果;/n通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。/n

【技术特征摘要】
1.一种基于iscsi的分布式块存储服务命令处理方法,其特征在于,包括:
通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsitarget;
通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果;
通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。


2.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,通过tgtadm将所述任务参数传送至iscsitarget,包括:
通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsitarget。
相应的,所述通过所述iscsitarget将所述实时处理结果返回给所述tgtadm,包括:
通过所述iscsitarget并基于ipc通信方式将所述实时处理结果返回给所述tgtadm。


3.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,还包括:
从epoll监听中删除fd文件描述符。


4.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,通过tgtd监视当前所述任务的实时处理结果的过程,包括:
通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。


5.根据权利要求4所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,所述通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果,包括:
通过tgtd设置回调函数,并将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时...

【专利技术属性】
技术研发人员:李辉白战豪
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1