没有合适的资源?快使用搜索试试~ 我知道了~
首页PFS故障恢复与日志机制研究:Lustre与BeeGFS的不足
PFS故障恢复与日志机制研究:Lustre与BeeGFS的不足
0 下载量 21 浏览量
更新于2024-06-19
收藏 1.73MB PDF 举报
本文主要探讨了高性能并行文件系统(PFS)中的故障恢复和日志机制,以Lustre和BeeGFS为例进行深入研究。高性能计算(HPC)对PFS的依赖性显著,然而,由于PFS相对于本地存储或云存储系统的可靠性研究相对较少,实际HPC中心的故障事件凸显了PFS集群存在的问题,强调了对其进行系统分析的紧迫性。 作者首先介绍了一种名为PFAUlT的黑盒故障注入工具,这个工具不改变PFS的内部结构,而是通过预定义的故障模型模拟存储节点故障,以触发故障恢复和日志记录操作,从而测试系统的鲁棒性。通过PFAUlT,研究人员揭示了Lustre和BeeGFS在面对故障时的不同恢复策略和潜在问题。例如,Lustre的LFSCK恢复组件在检测和修复PFS一致性方面存在缺陷,可能导致系统挂起或引发内核恐慌,即便进行了恢复尝试,后续工作负载仍可能出现异常。同样,BeeGFS的BeeGFS-FSCK也显示出类似的恢复问题。 深入剖析后,作者发现这些问题源于系统设计的某些局限性,这促使他们开发出新的补丁集,并将其整合进即将发布的Lustre版本中。文章详细描述了实验过程中产生的大量日志,指出PFS在记录故障时的独特模式和局限性,这些发现有助于社区进一步研究和改进PFS的可靠性。 本文的研究工作受到美国国家科学基金会(NSF)的支持,项目编号包括CCF-1717630/1853714、CCF-1910747和CNS-1943204。研究结果不仅提供了有价值的洞察,还为提升PFS的故障管理和性能优化提供了基础,对于保障HPC系统的稳定性和效率具有重要意义。
资源详情
资源推荐
十
四:
8
R. Han等人
ACM Transactions on Storage
,
Vol.
号
182
、第十四条。出版日期:
2022
年
4
月
并配置为iSCSI目标的后端设备(第2.3节),表示相应虚拟设备的
持久状态。此外,
故障状态仿
真器
操纵
备份文件,并基于工作负载
和一组预定义的故障模型来仿真每个虚拟设备的故障状
态。(2)
PFS
工作者
启动工作负载以执行PFS并生成I/O操作。(3)
PFS
服务器
调用恢复组件
(即,FSCK)
以及一组可验证的工作负载,以检查PFS的可恢复性。(4)日志
管理器
协调整
个工作流程并自动收集相应的日志。
我们将分别在3.2、3.3、3.4和3.5节详细讨论这四个组成
部分
图1(b)显示了PFAU lT的非iSCSI版本,它与iSCSI版本的不同之处在于
故障状态仿真器
和
配置器
组件。我们在第3.6节中讨论了主要差异,并在第3.7节中总结了整体工作流程。
3.2 故障状态仿真器
为了研究PFS的故障恢复和日志记录,有必要以系统的方式生成故障。由于在理解现实世
界存储系统故障方面所做的巨大努力[4,5,56-62 ],我们可以相对容易地在不同粒度上对
一组代表性场景进行然而,真正的挑战是如何构建一个实用的工具,
以高可用性、通用性和
保真度(即,第三节中所描述的三个重要目标)。 虽然在社区中已经提出了各种故障注入器
[4,10,21,23,42
-46],但我们发现,由于许多实际约束(例如, 不能处理PFS
的内核模块,需
要详细的规范,如第2.2节所述)。 基于我们对PFS独特架构的关键观察,
我们确定了一个低
级软件层(即,iSCSI),它使我们能够在不同粒度的不同PFS上实现自动故障注入(例如,文
件级元数据损坏、设备和节点级崩溃以及群集级网络分区)。 更具体地说,PF
AU
l
T
通过Failure
StateEmulator将
各种故障事件还原为存储设备的状态,主要
包括两个子组件:
虚拟设备管理器
和
故
障模型
(图1(a)),如下所示:
3.2.1
虚拟设备管理器(
VDM
)。
此子组件管理iSCSI虚拟设备的状态,以实现高效的故障模
拟。目标PFS的持久状态取决于向设备发出的
I/O操作。 为了捕获PFS中的所有I/O操作,VDM创
建并维护一组备份文件,每个备份文件对应于存储节点中使用的一个存储设备
。备份文件通
过iSCSI协议作为虚拟设备安装到存储节点[29]。由于有了iSCSI,从PFS的角度来看,虚拟设备
似乎是普通的本地块换句话说,PF
AU
l
T
对于所研究的PFS(包括其内核
组件)是透明的。
PFS中的所有I/O操作最终都将转换为低级磁盘I/O命令,这些命令将通过iSCSI传输到VDM
VDM根据收到的命令更新备份文件的内容
,并相应地满足I/O请求。
请注意,虚拟设备可以
通过iSCSI装载到物理机或虚拟机(VM)在VM情况下,整个框架
和目标PFS可以托管在一个
单个物理机器上,这使得研究具有PF的PFS很方便。这种设计
理念
类似于ScaleCheck [48],它利用虚拟机在单个机器上实现分布式系统的可伸缩性测试。
3.2.2
故障模型。
这个子组件定义了PF所有要模拟的故障事件。对于具有虚拟设备的每个存
储节点,PF
AU
l
T
基于预定义的故障模型操纵对应的备份文件和网络守护程序 PF
AU
l
T
的当前原
型
包括如下三个代表性故障模型:
高性能并行文件系统的故障恢复与日志研究
十
四:
9
ACM Transactions on Storage
,
Vol.
号
182
、第十四条。出版日期:
2022
年
4
月
(a)
整个设备故障(a-DevFail)。当存储设备完全无法
访问PFS
时,就会出现这种情况,这
可能是由多种原因造成的,包括RAID控制器故障、固件错误和扇区错误累积[4,5,56]。
由于PF
AU
l
T
旨在通过iSCSI将PFS与虚拟设备解耦,因此我们可以简单地注销虚拟设备以模拟
此故障模型。更具体地说,PF
AU
l
T
使用iSCSI协议中的
loдout
命令(第2.3节)断开备份文件到
相应存储节点的连接,这使得PFS立即无法访问该此外,不同类型的设备(即,MGT、MDT、
OST)可以单独或同时断开,以模拟不同规模的设备故障 通过利用远程存储协议,PF
AU
l
T
可
以自动模拟
不同的场景,而无需任何手动操作。
(b)
全局不一致性(b-不一致)。 在这种情况下,PFS仍然可以访问所有存储设备;即,可以正常
满足来自PFS的I/O请求此外,本地文件系统后端(例如,基于Ext4的Lustreldiskfs)是一致
的。但是,从PFS的角度来看,PFS的全局状态
(由所有本地状态组成)是不一致的。
因为PFS是建立在(修补)本地文件系统之上的,PFS通常依赖于本地文件系统来维护本地一
致性。例如,本地文件系统检查器(例如,e2fsck[63](对于ldiskfs)需要在调用PFS FSCK之
前在每个存储节点上执行换句话说,期望PFS FSCK能够在本地文件系统损坏时正确恢复PFS可
能是不合理的因此,在此模型中,我们有意强制PFS集群中的每个本地文件系统必须在本地保持
一致请注意,这与现有的模拟异常本地文件系统的工作不同(例如,返回本地文件系统操作的
错误[21,23])。全局不一致场景可能由各种原因引起例如,在数据中心范围的停电[17]中,各
个存储节点上的本地文件系统可能会损坏到不同程度,具体取决于故障时的PFS I/O操作类似
地,除了断电之外,本地文件系统也可能由于文件系统错误、潜在扇区错误
等而损坏[4,56,
64]。 本地文件系统的损坏需要由相应
的本地文件系统检查器进行检查和修复。然而,本地检
查器仅具有本地元数据一致性规则的知识(例如,ldiskfs遵循Ext4虽然运行本地检查器可以将
所有本地文件系统带回到本地一致状态,但是由于其本地修复操作,它可能(无意地)破坏PFS
的全局一致性规则(例如,跳过不完整的日志事务、回收损坏的本地inode、将本地文件移动到
结果,
PFS节点之间的全局一致性可能受到损害。
为了有效且高效地仿真故障模型,PF
AU
l
T
使用如下两种互补
方法:
(1)
PF
AU
l
T
调用本地文件系统的调试工具(例如,debugfs[65] for Ext4)来在选定节点上管理
本地状态调试工具允许我们利用这样的功能随机损坏磁盘上文件的inode字段的给定百分比 在引
入本地损坏之后,
我们调用本地文件系统的检查和修复实用程序(例如,e2fsck[51])来修复
本地不一致性,从而使本地文件系统恢复到(本地)健康状态。
(2)
PF
AU
l
T
调用Linux命令行实用程序(例如, rm)随机删除选定节点上给定百分比
的磁盘文
件。 这是为了模拟本地文件系统的修复效果
,其中本地检查器可以将损坏的本地文件移动到“lost
+found“目录,使其从PFS的角度来看是“丢失”的。由于删除操作是本地文件系统支持的常规操作,因
此本地文件系统保持一致。通过删除不同的本地文件(例如,各种对象文件,链接)在不同类
型的节点上(即,MGS,MDS,OSS),我们可以很容易地引入大范围的全局不一致性,同时
保持局部一致性。
十
四:
R. Han等人
ACM Transactions on Storage
,
Vol.
号
182
、第十四条。出版日期:
2022
年
4
月
这两种方法各有优缺点。由于调试工具可以暴露本地文件系统的元数据的准确类型信息,因
此第一种方法允许PF
AU
l
T
直接且全面地操纵本地元数据结构然而,直接向本地元数据引入破坏可
能导致超出本地文件
系统实用程序的修复能力的严重损害(例如,e2fsck)。因此,局部图像
可能“太破碎”而不能用于进一步分析PFS的全局一致性,并且整个分析工作流程必须停
止
。这种中断是我们的初步原型[33]中的一个主要限制,这使得工作流程效率低下。相比之下,
第二种方法始终保持一个可用的和一致的本地文件系统状态,只关注所有可能的情况下,这使得
研究
PFS的全局不一致性问题的一个子集有效。我们在这项工作中混合使用这两种方法
(c)
网络分区(c-Network)。这是大规模网络系统中的典型故障场景[66],这可能是由功能失
调的网络设备(例如,[67]或挂起服务器进程[62]。 当故障发生时,集群会分裂成多
个“分区”,
这些分区之间无法相互通信。
为了模拟网络分区效果,PF
AU
l
T
通过网络守护程序禁用PFS在所选节点上使用的网卡,这有
效地将所选节点与
系统的其余部分
总结与展望。上面定义的三种故障模型代表了广泛的
现实世界故障场景[4,5,56- 62 ]。通过
自动模拟这些故障模型,PF
AU
l
T
能够有效地研究目标PFS的故障恢复和日志记录请注意,在所
有三种情况下,PF所有都从目标PFS外部引入故障(例如,目标PFS的本地模块下的iSCSI驱动
程序而且,由于存在多种类型的存储节点(例如,MGS、MDS、OSS),故障可能会以不同的
方式影响PFS,具体取决于受影响的节点类型因此,PF
AU
l
T
允许通过配置文件指定哪些类型的
节点应用故障模型 在这项研究中,我们涵盖了PFS
的行为时,故障发生在每一种类型的PFS节
点(第5节)。
由于PFS传统上是针对高性能进行优化的,因此有人可能会认为,如果目标PFS在经历这些故
障后无法正常工作,则可能是但是,我们期望目标PFS的检查和修复组件(例如,Lustre的
LFSCK [31]和BeeGFS的BeeGFS-FSCK[2])能够检测PFS中的潜在损坏并正确响应(例如,在检
查期间不要挂起或崩溃此外,我们希望相应的故障日志组件能够生成有意义的消息。 我们相
信,了解这种故障处理机制的有效性是解决
HPC中心实际发生的灾难的基本步骤[17]。
3.3 PFS工人
与新的文件系统相比,老化的文件系统更能代表真实世界的文件系统使用情况[68,69]。此外,
由于内部状 态更加复杂,老化 的文件系统 更有可能在故障情 况下遇到 恢复问题因 此, PFS
Worker调用数据密集型工作负载(例如,未修改的HPC应用程序)以老化目标PFS并在注入故
障之前生成在内部,PFS将I/O操作分发到存储节点,
这些操作将进一步传输到虚拟设备管理
器,如第3.2.1节所述。
除了未经修改的数据密集型工作负载外,另一种有用的工作负载是专门为检查PFS的可恢复性
而设计的自定义应用程序例如,工作负载可以在写入PFS的数据中嵌入校验和最终用户可以使用
校验和直接识别PFS中存储的文件的潜在损坏 通过这种方式,
可以在不依赖于目标PFS的报告的
情况下验证用户数据的完整性(其可以是
剩余45页未读,继续阅读
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功