中心节点可迁移的医学影像存储网络软RAID系统的设计

来源:岁月联盟 作者: 时间:2010-07-12

                                作者:郭天泉,邱力军,潘新华,漆家学

【关键词】  中心节点

    Design of network softRAID system based on centernode transplantation in medical image storage network

  【Abstract】 AIM: To develop a distributed network storage system in order to satisfy the demands of the medical image storage network in our hospital. METHODS: In accordance with the highavailability demands of medical image storage network, by the use of network softRAID and centernode transplantation technologies, and on the basis of the Linux operating system, this article designed and implemented the network softRAID system based on centernode transplantation―PACS RAID system. RESULTS: The Markov process to build a highavailability model for performance analysis was used, and it was found that the highavailability demands of the PACS RAID system was more effective compared with that of the network soft RAID system based on centernode. CONCLUSION: Because of high availability, strong flexibility and convenient extensibility, the PACS RAID system can meet effectively the demands of the storage network with the medical image collection and transmission system in our hospital.

  【Keywords】 centernode; medical image; softRAID

  【摘要】 目的:研究一种满足我院医学影像存储需求的网络分布式存储系统. 方法:按照医学影像存储网络的高可用性要求,利用网络软RAID和中心节点迁移技术,本文设计并实现了基于Linux操作系统的中心节点可迁移的网络软RAID系统―PACS RAID系统. 结果:使用Markov过程建立高可用性分析模型进行性能分析,与原有的基于中心节点的医学影像存储网络软RAID系统相比,中心节点可迁移的PACS  RAID系统的可用性要高得多. 结论:PACS RAID系统可用性高,灵活性强,扩展方便,能有效地满足我院医学影像采集与传输系统存储网络的临床工作需求.

  【关键词】 中心节点;医学影像;软RAID

  0引言

  网络RAID的出现使高性能的分布式存储成为可能,其中的研究代表包括Petal,Swarm与RAIDx[1-3]等. 网络RAID可以对网络中各种存储资源统一管理与使用,从而提高存储系统的灵活性与可扩展性. 我们开发了基于Linux操作系统的医学影像存储系统网络软RAID系统―VNS[4]. VNS系统可以将网络中不同主机的存储空间组织起来,由一台中心节点对整个存储空间来进行统一管理.

  VNS系统中所有的请求都由中心节点来处理,中心节点故障将会造成整个系统无法使用,因此中心节点是VNS系统的单一故障点. 基于上述原因,我们设计了基于Linux操作系统的中心节点可迁移的网络软RAID系统―PACS RAID,主中心节点发生故障时由备用中心节点接管主中心节点工作,通过中心节点迁移技术来提供医学影像存储系统的高可用性.

  1对象和方法

  1.1对象PACS RAID系统是构建在医学影像网络中的软RAID系统. 系统中的节点分为2种类型:中心节点与存储节点. 其中,包括1个主中心节点、1个备用中心节点与若干个存储节点. 中心节点负责组织和管理系统中的硬盘;存储节点负责提供系统中的硬盘资源(图1).

  对医学影像存储网络中的磁盘资源的访问都要通过中心节点,在正常情况下这个工作是由主中心节点来完成的. 由存储节点提供的磁盘资源对应用程序是完全透明的,中心节点按RAID 0,1,5或其他数据布局将磁盘资源组织起来,应用程序看到的是一块大的、完整的虚拟磁盘空间. 主中心节点与备用中心节点之间通过心跳连接构成双机系统,在主中心节点或其上运行的服务程序失效的情况下,由备用中心节点代替主中心节点来提供存储服务.

  图1系统总体结构(略)

  1.2技术方法PACS RAID系统的关键技术主要包括:网络软RAID与中心节点迁移.

  1.2.1网络软RAID网络软RAID的核心是设备驱动程序的实现. 设备驱动程序包括以下2个层次:RAID驱动程序与NDD(network disks driver)驱动程序. Linux操作系统本身提供了RAID驱动程序,它的作用是将本地或网络磁盘组织成不同数据布局的RAID. NDD驱动程序的作用是将医学影像存储节点中的磁盘映射成本地的网络磁盘.

  NDD驱动程序对于RAID驱动程序是透明的,它只是在Linux系统中注册了一个网络块设备,并将NDD Client接收到的数据交给RAID驱动程序来处理. NDD Client是Linux用户态的NDD客户端程序,它的作用是通过TCP/IP协议将读/写请求发送给NDD Server. NDD Server是Linux用户态的NDD服务器端程序,它的作用是通过TCP/IP协议接收NDD Client的读/写请求,并在本地磁盘上完成实际的读/写操作(图2).

  图2网络软RAID系统结构(略)

  1.2.2中心节点迁移由于中心节点是医学影像存储网络的单一故障点,因此中心节点失效将会导致存储系统不可用. 通过心跳连接将主中心节点与备用中心节点构成双机系统,就可以通过心跳机制定时监控主中心节点的状态,并在主中心节点失效时由备用中心节点代替主中心节点来工作. 心跳连接是中心节点状态信息的交换通道,它通过串口通信或网络连接来实现. Heartbeat是Linux平台上成熟的、开放源码的双机热备份软件. 通过对Heartbeat的修改可以实现对NDD Client程序的监控.

  主中心节点上的心跳守护进程周期性地发送状态信息,备用中心节点上的心跳守护进程监听主中心节点的状态信息. 如果主中心节点或NDD Client程序发生故障,备用中心节点在规定时间内没收到主中心节点的状态信息,这时备用中心节点会认为主中心节点失效,自动接管主中心节点的工作并启动NDD Client程序. 如果主中心节点从故障中得到恢复,主中心节点就会接管备用中心节点的服务(图3).

  图3中心节点迁移(略)

  2讨论

  PACS RAID系统的设计目的是提高医学影像存储软RAID系统的高可用性(highavailability). 衡量系统高可用性的参数主要包括:平均衰竭时间(mean time to failure, MTTF)与平均维修时间(mean time to repair, MTTR). 在PACS RAID系统的高可用性分析中,通常使用Markov过程建立高可用性分析模型[5](图4).

  图4Markov过程的状态转换图(略)

  该模型考虑到了中心节点迁移所需的时间THA,包括备用中心节点发现主中心节点失效与接管主中心节点所需的时间. 通过对该模型的状态转换图进行分析,系统的可用性等于系统处于“系统正常”状态的可能性与“备用中心节点启用”状态的可能性之和. 最终,得出PACS RAID系统的可用性可以用公式表示:

  可用性=(MTTF+MTTR)/[(MTTF+MTTR+THA)+MTTR2/2MTTF](1)

  在给出了系统可用性参数的PACS RAID系统(MTTF为10 000 h,MTTR为1 h)中,同时设中心节点迁移时间THA为1 min,通过公式(1)可以出系统的可用性为0.999 998 328. 因此,PACS RAID系统的不可用性为0.000 001 672,通过换算得出系统的不可用时间为52.73 s/a.

  在基于中心节点的医学影像存储网络软RAID系统中,由于中心节点是整个系统的单一故障点[6],在中心节点失效时可以看作系统是失效的. 因此,VNS系统的可用性可以用公式表示:

  可用性=MTTF/(MTTF+MTTR)(2)

  在给出可用性参数相同的VNS系统(MTTF为10 000 h,MTTR为1 h)中,通过公式(2)可以计算出系统的不可用时间为3153.28 s/a. 显然,与原有的基于中心节点的医学影像存储网络VNS系统相比,中心节点可迁移的医学影像存储网络软RAID系统的可用性要高得多.

  网络软RAID系统是在通用的硬件设备上,完全基于软件来实现的存储系统,它具有成本低、配置灵活、扩展性好等特点. 但是,中心节点是网络软RAID系统中的单一故障点,这就导致了这种存储系统的可用性不够好. 中心节点可迁移的网络软RAID系统的提出,利用主中心节点与备用中心节点组成双机系统,可以有效地提高医学影像存储网络软RAID系统的高可用性,满足我院医学影像采集与传输系统的临床工作需求.

  【】

  [1] 潘新华,郭光友,谭珂. 计算机多媒体技术在临床医学中的应用[J]. 军医进修学院学报,2000, 21(3): 237-240.

  [2] Patterson DA, Gibson GA, Katz RH. A case for redundant arrays of inexpensive disks(RAID)[M]. Proc  1988 ACM SIGMOD Int Conf Manage Data, 1988: 109-116.

  [3] Hwang K, Jin H, Ho RSC. Orthogonal striping and mirroring in distributed RAID for I/Ocentric cluster computing [J]. IEEE Trans Parall Distrib Syst, 2002, 13(1): 26-44.

  [4] 王刚,刘晓光,刘. 网络软RAID的设计与实现[J]. 计算机研究与,2000, 37(增刊): 81-83.

  [5] Wood A. Availability modeling [J]. IEEE Cir Dev, 1994, 10(3): 22-27.

  [6] 李志宏,邱力军,周智明,等. 远程医疗商务结构及其模式的探讨[J]. 第四军医大学学报,2002,23(1): 79-82.