一种分布式存储系统中TGT稳定性优化方法技术方案

技术编号:16431573 阅读:70 留言:0更新日期:2017-10-22 07:23
本发明专利技术公开了一种分布式存储系统中TGT稳定性优化方法,所述优化方法应用于分布式存储系统或单机存储使用,其特征在于,该优化方法是使用TGT对外提供iSCSI Target服务时,通过多进程与模块拆分方式,解决单机内TGT形成单点故障的问题,增加故障隔离性,极大地减少了故障影响范围,将系统稳定性大幅度提升;用户态进程在操作系统实现了资源隔离与抽象,用户态进程之间可以做到完全隔离,互不影响,利用进程隔离性,将TGT服务更加细粒度化,更加可控,更小的影响范围。

A method of TGT stability optimization in distributed storage system

The invention discloses a method of optimizing the stability of TGT in the distributed storage system, the optimization method used in distributed storage systems or stand-alone storage, which is characterized in that the optimization method is to use the TGT iSCSI provide Target service, through the process and the module separation, solve the single machine TGT in the formation of a single point of failure the problem, increase fault isolation, greatly reducing the influence of fault range, will greatly enhance the stability of the system; the user mode process in the operating system to achieve the resource isolation and abstraction, between the user mode process can be done completely isolated, not affect each other, the process of isolation, TGT services will be more fine-grained and more controllable a smaller range of influence.

【技术实现步骤摘要】
一种分布式存储系统中TGT稳定性优化方法
本专利技术涉及数据存储
,具体的说是涉及一种分布式存储系统中TGT稳定性优化方法。
技术介绍
iSCSI:InternetSmallComputerSystemInterface,是一种基于TCP/IP的存储协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。iSCSI架构是CS模型,Client端为iSCSIinitiator,Server端为iSCSITarget。TGT是GNU/Linux操作系统上,一款全用户态的开源的iSCSITarget。由于其全用户态实现和框架式的软件架构,可以轻易修改或增加Backend模块,以实现各种后端存储系统的访问。
技术实现思路
针对现有技术中的不足,本专利技术要解决的技术问题在于提供了一种分布式存储系统中TGT稳定性优化方法。为解决上述技术问题,本专利技术通过以下方案来实现:一种分布式存储系统中TGT稳定性优化方法,所述优化方法应用于分布式存储系统或单机存储使用,其特征在于,该优化方法是使用TGT对外提供iSCSITarget服务时,通过多进程与模块拆分方式,解决单机内TGT形成单点故障的问题,增加故障隔离性,极大地减少了故障影响范围,将系统稳定性大幅度提升;用户态进程在操作系统实现了资源隔离与抽象,用户态进程之间可以做到完全隔离,互不影响,利用进程隔离性,将TGT服务更加细粒度化,更加可控,更小的影响范围;所述优化方法包括分布式iSCSI存储系统,该分布式iSCSI存储系统包括:应用主机:该应用主机是应用程序运行的主机,当应用程序需要使用外部存储时,通过iSCSIinitiator将控制主机提供的iSCSITarget中的LUN映射到本主机上,应用程序就像使用本地磁盘一样,使用iSCSI卷;控制主机:生成iSCSITarget,完成后端存储资源抽象,将后端存储资源通过iSCSI提供存储服务,实现数据通道,IOPS限制,网络RAID,纠删码特性实现;TGT是一个iSCSITarget框架,具体的数据存储由Backend实现,通过自定义实现Backend,来适配不同的后端存储系统;存储主机:分布式存储系统中,数据最终的存放地点,将存储资源抽象成多个存储组件;所述优化方法还包括多进程和共享内存方法,所述多进程和共享内存方法是在TGTD进程外部,设置一片共享内存区域和一个MicroController模块,共享内存区域用于传递数据,由MicroController完成数据传输和功能特性的具体实现,具体实施步骤如下:步骤①:在控制主机中规划存储资源,每个存储资源对应一个TGTD进程、一个TGTD进程只包含一个Target和一个LUN;步骤②:应用主机通过网络发现Target和LUN,根据需求应用主机选择所需的LUN完成登录过程;于是便将LUN映射为应用主机的虚拟块设备;步骤③:应用主机上的程序使用虚拟块设备,数据通过网络传递TGTD进程,TGT框架将iSCSI协议格式的数据处理后,以SCSI命令格式传递到Backend模块;Backend模块处理后,将数据封装成请求存放到共享内存区域,并通知MicroController有新数据到来;步骤④:MicroController收到有新数据到来的通知后,从共享内存区域取出相应的请求,经请求经过处理后通过网络将数据落地到存储主机中。相对于现有技术,本专利技术的有益效果是:本专利技术的布式存储系统中TGT稳定性优化方法在分布式存储系统中使用,也可以作为单机存储使用。可以将后端存储系统,网络,本机的各种异常引起的故障的波及范围控制在单个LUN中,不会扩散,极大地提高了系统稳定性。附图说明图1是本专利技术的分布式iSCSI存储系统架构图;图2是本专利技术的多进程方式改进结构图;图3是本专利技术的多进程和共享内存方式改进结构图。具体实施方式下面结合附图对本专利技术的优选实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。请参照附图3,本专利技术的一种分布式存储系统中TGT稳定性优化方法,所述优化方法应用于分布式存储系统或单机存储使用,该优化方法是使用TGT对外提供iSCSITarget服务时,通过多进程与模块拆分方式,解决单机内TGT形成单点故障的问题,增加故障隔离性,极大地减少了故障影响范围,将系统稳定性大幅度提升;用户态进程在操作系统实现了资源隔离与抽象,用户态进程之间可以做到完全隔离,互不影响,利用进程隔离性,将TGT服务更加细粒度化,更加可控,更小的影响范围;所述优化方法包括分布式iSCSI存储系统,该分布式iSCSI存储系统包括:应用主机:该应用主机是应用程序运行的主机,当应用程序需要使用外部存储时,通过iSCSIinitiator将控制主机提供的iSCSITarget中的LUN映射到本主机上,应用程序就像使用本地磁盘一样,使用iSCSI卷;控制主机:生成iSCSITarget,完成后端存储资源抽象,将后端存储资源通过iSCSI提供存储服务,实现数据通道,IOPS限制,网络RAID,纠删码特性实现;TGT是一个iSCSITarget框架,具体的数据存储由Backend实现,通过自定义实现Backend,来适配不同的后端存储系统;存储主机:分布式存储系统中,数据最终的存放地点,将存储资源抽象成多个存储组件;图1中,有两个应用主机,分别映射一个iSCSI存储资源,由于TGT设计为单进程多线程模型,Backend由一组线程来完成数据处理。在图1中,是通常的iSCSI使用方式,这里有两个风险点将影响系统稳定性:①所有iSCSIinitiator连接到同一个TGTD进程,由这个TGTD进程负责本控制主机所有Target和LUN。可以看出TGTD进程存在单点的问题,只要其中一个Backend程序导致TGTD进程coredump,整个控制主机所有的Target和LUN都会受到影响。②上述提到过Backend程序需要完成大量的逻辑,如实现数据通道,IOPS限制,网络RAID,纠删码特性,Cache,网络异常处理等,大量的代码加入到TGT的框架中,会为TGT引入大量Bug。为了解决上述两个影响稳定性的问题,本专利技术提出两点改进:①TGTD完成多进程。②将大量逻辑代码从Backend中剥离,由外部独立的进程完成。如图2所示,为本专利技术的多进程方式改进结构图。将图1中的单进程TGTD,改成多进程TGTD,每个TGTD进程维护一个Target/LUN。应用主机中的每个iSCSI卷都连接到单独的TGTD进程上,如果Backend程序的异常,由于TGTD是纯用户态的进程,只会影响单个TGTD进程,其他Target和LUN将完全不受影响。严格控制故障异常影响范围,对于整个系统来说,是大幅度提高了稳定性。在软件工程中,代码量越少,架构越简单,bug数量将越少,系统更稳定。为了将访问后端存储、各种高级功能特性等代码从TGT剥离,增强TGT的稳定性。如图3所示,所述优化方法还包括多进程和共享内存方法,所述多进程和共享本文档来自技高网...
一种分布式存储系统中TGT稳定性优化方法

【技术保护点】
一种分布式存储系统中TGT稳定性优化方法,所述优化方法应用于分布式存储系统或单机存储使用,其特征在于,该优化方法是使用TGT对外提供iSCSI Target服务时,通过多进程与模块拆分方式,解决单机内TGT形成单点故障的问题,增加故障隔离性,极大地减少了故障影响范围,将系统稳定性大幅度提升;用户态进程在操作系统实现了资源隔离与抽象,用户态进程之间可以做到完全隔离,互不影响,利用进程隔离性,将TGT服务更加细粒度化,更加可控,更小的影响范围;所述优化方法包括分布式iSCSI存储系统,该分布式iSCSI存储系统包括:应用主机:该应用主机是应用程序运行的主机,当应用程序需要使用外部存储时,通过iSCSI initiator将控制主机提供的iSCSI Target中的LUN映射到本主机上,应用程序就像使用本地磁盘一样,使用iSCSI卷;控制主机:生成iSCSI Target,完成后端存储资源抽象,将后端存储资源通过iSCSI提供存储服务,实现数据通道,IOPS限制,网络RAID,纠删码特性实现;TGT是一个iSCSI Target框架,具体的数据存储由Backend实现,通过自定义实现Backend,来适配不同的后端存储系统;存储主机:分布式存储系统中,数据最终的存放地点,将存储资源抽象成多个存储组件;所述优化方法还包括多进程和共享内存方法,所述多进程和共享内存方法是在TGTD进程外部,设置一片共享内存区域和一个MicroController模块,共享内存区域用于传递数据,由MicroController完成数据传输和功能特性的具体实现,具体实施步骤如下:步骤①:在控制主机中规划存储资源,每个存储资源对应一个TGTD进程、一个TGTD进程只包含一个Target和一个LUN;步骤②:应用主机通过网络发现Target和LUN,根据需求应用主机选择所需的LUN完成登录过程;于是便将LUN映射为应用主机的虚拟块设备;步骤③:应用主机上的程序使用虚拟块设备,数据通过网络传递TGTD进程,TGT框架将iSCSI协议格式的数据处理后,以SCSI命令格式传递到Backend模块;Backend模块处理后,将数据封装成请求存放到共享内存区域,并通知MicroController有新数据到来;步骤④:MicroController收到有新数据到来的通知后,从共享内存区域取出相应的请求,经请求经过处理后通过网络将数据落地到存储主机中。...

【技术特征摘要】
1.一种分布式存储系统中TGT稳定性优化方法,所述优化方法应用于分布式存储系统或单机存储使用,其特征在于,该优化方法是使用TGT对外提供iSCSITarget服务时,通过多进程与模块拆分方式,解决单机内TGT形成单点故障的问题,增加故障隔离性,极大地减少了故障影响范围,将系统稳定性大幅度提升;用户态进程在操作系统实现了资源隔离与抽象,用户态进程之间可以做到完全隔离,互不影响,利用进程隔离性,将TGT服务更加细粒度化,更加可控,更小的影响范围;所述优化方法包括分布式iSCSI存储系统,该分布式iSCSI存储系统包括:应用主机:该应用主机是应用程序运行的主机,当应用程序需要使用外部存储时,通过iSCSIinitiator将控制主机提供的iSCSITarget中的LUN映射到本主机上,应用程序就像使用本地磁盘一样,使用iSCSI卷;控制主机:生成iSCSITarget,完成后端存储资源抽象,将后端存储资源通过iSCSI提供存储服务,实现数据通道,IOPS限制,网络RAID,纠删码特性实现;TGT是一个iSCSITarget框架,具体的数据存储由Backend实现,通过自定义实现Backend,来适配不同的后...

【专利技术属性】
技术研发人员:张朝潞
申请(专利权)人:深圳市云舒网络技术有限公司
类型:发明
国别省市:广东,44

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

1