摘要:在数字化飞速发展的当下,文件系统崩溃致数据丢失、系统停机的困境时有发生。传统恢复方式或耗时低效,或牺牲性能,难以满足用户对快速、无感恢复的迫切需求。微软亚洲研究院研究员和合作者推出的 Ananke 文件系统微内核服务,凭借创新技术,实现了文件系统崩溃后的快速、
编者按:在数字化飞速发展的当下,文件系统崩溃致数据丢失、系统停机的困境时有发生。传统恢复方式或耗时低效,或牺牲性能,难以满足用户对快速、无感恢复的迫切需求。微软亚洲研究院研究员和合作者推出的 Ananke 文件系统微内核服务,凭借创新技术,实现了文件系统崩溃后的快速、透明恢复,为行业和用户探索出新的可行路径。相关论文在全球计算机存储领域顶会 FAST 2025 上荣获最佳论文奖。
你是否曾遇到在保存文件或玩游戏时电脑突然崩溃,重启后发现数据损坏或丢失的情况?文件系统故障比我们想象的要频繁得多,而恢复过程通常缓慢、困难且容易带来数据故障或损失。
针对此,微软亚洲研究院研究员和合作者共同设计开发了一种高性能的文件系统微内核服务 Ananke,旨在进行快速且透明的恢复。与传统需要全系统重启的恢复方法不同,Ananke 利用微内核架构的优势,仅恢复受影响的文件系统进程和状态,让应用程序能够继续运行,仿佛系统级别故障未曾发生。相关论文获得全球计算机存储领域顶会 FAST 2025 颁发的最佳论文奖。
Fast, Transparent Filesystem Microkernel Recovery with Ananke
论文链接:
微内核式崩溃恢复
在传统的宏内核操作系统如 Linux 和 Windows 中,经典文件系统在内核里运行,一旦文件系统崩溃,整个系统便会随之瘫痪,导致所有应用程序被强制终止。而现代的微内核风格文件系统则采取了不同的设计策略,它将文件系统从内核中分离出来,置于一个独立的进程中。
这一架构变革带来了多方面的显著优势。首先,它能更好地发挥现代 I/O 设备和多核 CPU 的性能潜力;其次,由于文件系统在用户空间运行,所以开发和部署过程得以加快;最后,也是最为关键的一点,它显著提升了故障隔离能力,即当文件系统发生崩溃时,操作系统和其他应用程序仍能保持正常运行,不会受到牵连。
图1:文件系统微内核引入了一种全新的崩溃恢复范式 —— 进程崩溃恢复
研究员们此前的工作 uFS [1] 就是这样一个半微内核文件系统。如今,微内核架构(如鸿蒙操作系统 [2])已部署在数百万台设备中,证明了其实用性。一个关键的见解:如果文件系统只是一个进程,那么当它崩溃时,为什么要重启整个系统?相反,我们应该可以只重启文件系统进程,让应用程序不间断地继续运行。
如何精准恢复文件系统状态?
从文件系统崩溃中恢复并不容易。现代文件系统在将更改提交到磁盘之前,通常使用内存缓冲区来管理数据(图2)。崩溃发生时会出现状态差距 —— 应用程序所假设的存储内容与实际在磁盘上的内容之间的不匹配。
图2:微内核文件系统恢复的主要挑战
这种状态差距非常不规则,因为现代系统中文件操作往往是乱序处理的,崩溃发生时,有些更新可能只完成了一部分,而另一些则完全缺失。例如,在2中,操作序列 op1→op2→op3 可能只剩下 op1 的效果和 op2 的一半效果。现有的恢复方法在处理这种情况时并不理想,要么选择重启整个系统,导致不必要的停机;要么依赖应用程序来处理恢复,不仅复杂而且容易出错;要么强制频繁的磁盘刷新,会严重损害性能。Ananke 通过一种高效且对应用程序透明的方法成功解决了这个问题。
Ananke 核心机制:日志驱动的智能修复
Ananke 引入了三种关键技术。首先是进程崩溃日志(P-Log)和 AIM(Act/Ignore/Modify)算法。在正常运行时,Ananke 会在轻量级的 P-Log 中记录文件系统的关键状态,而当故障发生时,它会通过 AIM 算法精确重放必要操作,确保状态一致且避免冗余工作。其次是内核协调的预先重启。Ananke 在现有文件系统进程旁启动了新进程,故障时由操作系统协调控制权转移至新进程,以加快恢复速度。最后是使用校验和轻量级的错误检测。通过这一机制,Ananke 能检测并丢弃损坏的内存区域,且所有操作开销极小。
将这些技术结合(如图3所示的恢复过程),当文件系统崩溃,操作系统会接管并启动新文件系统进程,利用 P-Log 恢复缺失状态,应用程序可继续运行,仿佛未发生任何故障,无需重启且无数据丢失。
图3:Ananke 恢复过程概览
评估实验:高性能与透明的故障恢复
在性能与评估方面,Ananke 通过超30,000次的故障注入实验,展示出对 SQLite、LevelDB 和标准文件系统实用程序等五个流行应用程序的无损恢复能力。在正常运行期间保持快速性能的同时,其性能开销在大多数情况下低于2%,并且恢复时间通常在400毫秒以内,这意味着应用程序几乎不会经历停机。与传统的恢复解决方案相比,Ananke 在正常情况(无故障)下能够提供高性能,且在故障发生时可实现无缝恢复。
随着微内核架构在云服务、移动设备和安全关键系统中的普及,快速、透明的恢复机制变得愈发重要。Ananke 作为一种改变游戏规则的技术,显著增强了微内核文件系统的弹性,且无需牺牲性能。
对于开发人员,Ananke 降低了故障处理的复杂性;对于用户,它意味着更少的中断和更高的可靠性。这种创新的恢复机制不仅显著降低了系统的停机时间,提升了整体运行效率,还增强了数据的安全性与可靠性,为用户提供了更加稳定、流畅的使用体验,推动了文件系统恢复技术向更高效、更智能的方向发展。
参考文献
1. Jing Liu, Anthony Rebello, Yifan Dai, Chenhao Ye, Sudarsun Kannan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. “Scale and Performance in a Filesystem Semi-Microkernel”. In Proceedings of the 28th ACM Symposium on Operating Systems Principles (SOSP '21)
2. Haibo Chen, Xie Miao, Ning Jia, Nan Wang, Yu Li, Nian Liu, Yutao Liu, Fei Wang, Qiang Huang, Kun Li, Hongyang Yang, Hui Wang, Jie Yin, Yu Peng, and Fengwei Xu. Microkernel goes general: Performance and compatibility in the HongMeng production microkernel. In Proceedings of the 16th USENIX Conference on Operating Systems Design and Implementation (OSDI '24), Santa Clara, CA, July 2024.
来源:微软亚洲研究院一点号