在“健康中国2030”国家战略的指导下,北京协和医院不断加快智慧医院的建设进程。PACS系统作为医院数据量最庞大的核心业务系统,其稳定、可靠、高效运行是医院为患者提供全流程化诊疗服务的保障。为了让医护人员工作效率更高,提高医生阅片的效率,进而让患者获得更好的就医体验,同时为满足国家影像数据法规要求至少保存15年以上要求,PACS系统的长期安全保存成为其发挥医学价值的关键。本文结合北京协和医院采用NAS存储解决方案在PACS系统的应用实践,从安全性、管理性、易用性多方面分析了NAS存储对于医院影像数据的价值优势点。全篇共分为三个部分:《需求分析篇》、《思路与方案设计篇》、《方案与实现效果篇》,本文为第二部分思路与方案设计篇,希望能为医疗同仁带来参考。
以PACS业务为主的应用每年产生100TB左右的数据量,作为医院数据增长最快的应用系统,而且数据需要长时间保存,同时涉及多个系统之间的数据联动。我院作为较早一批建设PACS系统的三甲医院,从2014年上线至今已拥有数十亿张影像文件,数据量高达数百TB,业务规模逐渐递增,复杂性日益提高。
从业界来看,数字化医院系统IT基础平台需要具备足够的灵活性、扩展性、兼容性,以满足数字化医院的这种发展形式。存储设备作为IT基础平台的关键、作为信息化系统最底层的硬件产品,顶层设计和技术规划尤为重要。应该遵循“行业主流、安全稳定”的原则,同时,兼顾性能(主要包含IOPS、MBPS及延时等指标)与成本,并充分考虑国家信息技术应用创新战略。医疗存储设备选型的关键点需关注以下四个方面:
(一)存储设备在行业的影响力
所选择的存储设备品牌及型号需要在业界(尤其是同行业)有广泛的成功应用案例,经得起同行业的考验。需要有稳定的服务团队,产品和方案落地靠的是人,医院的数据中心存储方案落地,需要有资深的行业架构师和服务人员,才能确保该硬件产品得到强大的后台技术团队支持。参考2020年Gartner企业主存储品牌魔力象限排名,行业领先的象限中不仅有国际存储大厂HDS、Infinidat,而且也有例如华为这样与国际水平相比毫不逊色的国内存储厂商;近年来,某些国外传统存储大厂进行了战略大调整,在国内的存储技术服务力量明显削弱,相对其它厂商而言,华为存储设备的技术支持服务能力较强,能在第一时间响应客户需求。同时核心存储也需要考虑到存储的性能,对业务未来不可预测性能需求,需要可以应对,如使用更新的存储协议和存储介质、对于多云平台的支持,如 Openstack、VMware、容器等。
(二)存储设备具备安全稳定性
存储设备重点需要考虑稳定性和数据服务能力,对医院数据中心而言,存储设备牵一发而动全身,存储架构的稳定性及可靠性是数据中心存储选型最基本也是最重要的需求,包含存储架构冗余度较高,各个部件(如:控制器、磁盘、前端接口卡、后端接口卡、网卡及电源等)均为冗余设计、支持在线热插拔,任意部件损坏均不影响主机上业务运行。
首先,整个存储系统要具有全冗余与安全性设计,不存在“单点故障”,包括控制器、缓存、硬盘、前端口、后端口、电源、风扇、电池等部件均具有冗余,硬件维护对上层主机访问无感知。作为存储系统中最重要的两个部件“控制器”和“硬盘”,有的存储产品已经可以做到支持控制器四坏三,硬盘可容忍两块甚至三块同时损坏,如:华为最新高端存储甚至可以支持控制器八坏七。
其次,各部件可以进行微码在线升级,对主机访问无影响。特别是关键部位控制器,已有最新存储产品可以支持控制器升级微码不重启。
(三)存储设备具备可维护性
存储设备需具备较高的可维护性,各个部件的预防性维护和更换均为在线操作,控制器、硬盘及接口卡等部件都必须支持在线微码升级,交替重启部件或更换部件时不可以影响到上层业务;可以通过机器学习等先进的存储算法,实现存储服务的自我优化,并且可以智能的监控存储设备的运行状态,预测未来的存储服务需求。
(四)存储设备的硬件架构先进性
当前存储设备产品根据架构分为“集中式架构存储”及“分布式架构存储”两大阵营。集中式架构存储采用的是块机制,以块为单位实现数据的更新和锁机制,其机制跟数据库管理数据文件的方式类似,性能及安全性可得到有效保障。集中式存储最大的优势在于架构简单、维护相对容易,已有的运维经验能够延续,同时传统存储厂商支持能力相对较强。
对于医院信息系统中大多数关键NAS应用,具有高稳定性、高吞吐量和低时延等特性的集中式架构存储是更好的选择,存储设备的各个控制器工作在对称Active/Active模式,各控制器性能负载稳定均衡。
本次建设充分利用本院双数据中心优势,通过将医院楼宇间两个数据中心建成双活中心,既可以为每个信息中心内部的应用提供冗余保护,实现站点内部的无缝漂移;又可以实现,当某个信息中心出现故障时,将该站点所有的应用系统,切换到另一个站点中,保证了两个站点之间的应用故障无缝连续运行。最终,满足在不同场景下对业务连续性的要求。
基于我院已经建设的双活存储架构,充分利用现网资源。介于目前医院PACS的规模和所面临的挑战,采用现有华为高端双活全闪存储作为PACS应用的在线存储设备,利用存储的SAN+NAS一体化能力实现我院HIS和PACS在线的集中式部署,一套设备部署SAN和NAS两种类型的业务。对于访问频度较低的近线数据采用低转速的大容量硬盘进行存储,降低成本的同时不影响业务访问。通过存储和PACS软件的数据分级实现在线和近线数据,热点和冷数据的自动分级。最后规划通过蓝光光盘库对离线归档数据进行长久保存,符合国家影像数据至少保存15年的要求。
针对在线数据(1~6个月内数据),读取频率高,在医院楼宇间两个数据中心建成全闪双活中心,在线数据通过全闪加速,能满足在线数据能够快速读取的核心诉求。最终,满足在不同场景下对在线数据业务连续性和性能的要求
针对近线数据(6个月~3年内数据),超过6个月的数据,读取频率相对较低,因此采用低成本的HDD盘进行保存。不但可以满足需要读取的时候能相对快速的数据读取,而且保存成本相比全闪存,极大的降低。
针对离线数据(3年~30年数据),超过3年的数据,基本不会读取,按照国家法规要求,同样需要进行保存。可通过蓝光归档库进行长时间的保存,并且随时可调阅。
通过针对互联网阅片,通过单独建设互联网影像区域,以满足海量互联网用户的阅片诉求。
整体PACS应用建设经历了两个主要阶段,整体架构发展示意图:
3.2.1PACS应用快速阅片
3.2.1.1 高性能NAS文件系统
在传统NAS文件系统架构中,业界一般采用Active-Passive架构,文件系统归属某1个控制器,在创建文件系统的时候,需要对文件系统的归属进行规划,采用多个文件系统运行在不同的控制器上,实现系统中每个控制器的负载均衡。这样的NAS架构,如果只有1个文件系统那么只能发挥1个控制器的硬件性能,无法把多控制器的硬件资源都利用起来获得更高的性能,因此无法支持单一命名空间。如果采用创建多个文件系统,由于不同文件系统的业务压力各不相同,也很难以实现系统的负载均衡。
华为OceanStor Dorad 18000系列企业级NAS存储采用分布式文件系统架构,文件系统没有归属控制器,通过均衡算法将文件系统的目录和文件均衡写入每个控制器,实现每个控制器接收到的主机读写请求是均衡的,即使只有1个文件系统也能将整个存储集群的资源充分利用,我院可以根据自己的业务规划灵活的使用单一命名空间的文件系统或者多个文件系统。
华为的NAS分布式文件系统架构兼具海量小文件和大文件并存的文件共享场景,采用基于目录的分布式打散策略,以目录为粒度将数据均衡打散写入到各个控制器,达到负载均衡的目的。目录与目录下的子文件归属相同的控制器进行I/O处理,避免跨控制器转发,以提升目录遍历查询、属性遍历查询、批量属性设置等场景的性能。
3.2.1.2 闪存加速技术
FlashLink®技术的核心是通过一系列针对闪存介质的优化技术,实现了存储控制器和SSD之间的协同和联动,在保证可靠性的同时,最大限度的发挥闪存的性能。FlashLink®针对闪存介质特点设计的关键技术主要有:智能众核技术、低时延保证技术、智能盘框卸载、高效RAID技术、冷热数据分流,保障了全闪存储的稳定低时延和高IOPS。
华为OceanStor Dorado 18000系列高端全闪存储采用鲲鹏920处理器,在同一个控制器内实现了业界最多的CPU数和CPU 核数。控制器最多容纳了4颗鲲鹏 CPU,每颗CPU 48核,总计192核。通过智能众核技术,实现了性能随着CPU数量线性增加;
当前绝大部分系统如果直接部署在多CPU系统下,总的系统性能还低于1~2颗CPU的性能,因为在多核系统下有2个关键问题点:1)CPU越多,CPU间通信的开销越大,跨CPU访问内存也越多;2)核数越多,程序互斥产生的冲突越大。
通过智能众核技术,实现了性能随着CPU数量线性增加,针对几个问题的关键优化技术点包括:
1)多CPU间通过CPU分组分发技术、I/O从多路径入口到后端盘框始终在1个CPU内调度,同时内存分配也保持在当前内存通道上进行,最大程度减少了CPU间通信的开销;
2)CPU分组内按业务属性进行分组,前端、后端和网络分别在一个CPU分区内,相同的业务只在CPU分区内产生冲突,大大减小了多核间的冲突。
OceanStor 的智能硬盘框,硬盘框内有CPU和内存资源,能够对盘故障重构等任务进行卸载,减轻控制器的负载。实现在盘故障场景下,重构对业务性能无影响。
3.2.2 PACS应用高可靠持续在线
3.2.2.1 双活数据保护
PACS影像系统需进行双活保护,配合交换机冗余和数据库自身的集群,当单套存储发生物理损坏、单台交换机故障、单台主机发生物理故障、单个中心发生灾难时,核心数据库均能保持业务零中断,保护医院业务正常开展,极大提升核心业务的可靠性。
华为HyperMetro特性又称双活特性(以下统称双活特性),双活特性中的两个数据中心互为备份,且都处于运行状态。存储层的双活特性为业务双活提供了一个双活平台,配合应用集群实现应用层双活。
当一个数据中心发生设备故障,甚至数据中心整体故障时,业务自动切换到另一个数据中心,解决了传统灾备中心不能承载业务和业务无法自动切换的问题。提供给用户高级别的数据可靠性以及业务连续性的同时,提高存储系统的资源利用率。
存储双活基于这样的一个基本原则,任意一套存储上具有对业务主机而言相同的数据,业务主机在单份数据不可用时,只会当成部分路径故障进行处理,存储层在该转换过程中悬挂自身I/O,并不响应主机,待处理完成后再响应主机,该过程对主机应用而言是透明的。
3.2.2.2 高效RAID技术
华为OceanStor Dorado 18000系列高端全闪存采用 ROW满分条写入的设计,ROW满分条写对所有数据都采用新写模式。这样不需要因为传统RAID写流程所需的数据读和校验修改写而产生RAID写惩罚,有效降低了写入过程阵列控制器的CPU开销与对SSD盘的读写压力。相比传统的RAID覆盖写(Write In Place)的方式,ROW满分条写方式使得各种RAID级别都能实现高性能。
上图以RAID6(4+2)为例,对已有数据进行改写,改写写入的数据为1、2、3、4。
采用传统的覆盖写方式,对每个数据所在的CKG均需要进行修改写。以CKG2为例,写入新数据3时,需要读取校验列P、Q和原始数据d,通过冗余算法计算出新的校验位P’、Q’,再把P’、Q’和数据3写入CKG2中。而采用ROW满分条写设计,写入数据1、2、3、4时,直接使用数据1、2、3、4计算出P、Q作为一个新的RAID分条写入硬盘,再修改LBA的指针指向新的CKG,整个过程无需额外的预读。
对应传统RAID,以RIAD 6为例,D0数据发生变化,需要先读D0、P和Q;再写新的nD0、nP和nQ,因此其读放大是3,写放大也是3。通常对于传统RAID(xD+yP)的随机小IO写其读写放大为y+1。
华为OceanStor Dorado 18000系列高端全闪存在典型场景下RAID5采用23D+1P(D为数据列,P为校验列),RAID 6 采用 22D+2P(P、Q校验列),RAID-TP为21D+3P(P、Q、R校验列),下图展示了采用ROW满分条写在典型场景下的写放大比较。
华为OceanStor Dorado 18000系列高端全闪实现的RAID 6与RAID 5性能相差5%左右,RAID-TP与RAID 6性能相差5%左右,基本做到了性能无损。
NAS数据存储在医院PACS场景的应用与探索——需求分析篇;
NAS数据存储在医院PACS场景的应用与探索——方案与实现效果;
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞8
添加新评论6 条评论
2023-02-24 17:38
2023-01-03 16:53
2022-12-29 22:16
2022-12-29 16:03
2022-12-29 15:57
2022-12-29 12:37