美文网首页
系统异常掉电或crash时,文件末尾概率出现乱码

系统异常掉电或crash时,文件末尾概率出现乱码

作者: robot_test_boy | 来源:发表于2022-08-03 00:12 被阅读0次

    转载自华为服务支持的系统异常掉电或crash时,文件末尾概率出现乱码

    问题描述

    系统异常掉电或crash时,文件末尾概率出现乱码。

    原因分析

    EXT4文件系统为了提升落盘性能,首先更新文件元数据的文件长度字段长度字段落盘后,文件数据再落盘。因此,长度字段更新后,如果发生掉电或者crash时,文件数据尚未落盘,文件末尾就会出现乱码。

    解决方法

    出现乱码是正常的实现机制,要保证文件落盘,需要在掉电前及时执行sync。如果系统异常掉电出现该问题,只能手工修复乱码。另外可以修改mount中的模式为可靠性模式:

    性能模式:文件长度字段先落盘,文件数据后落盘。

    可靠性模式:文件数据先落盘,长度字段后落盘。

    $bash: mount /dev/sdb -o nospeed mnt

    修改cmdline参数,在启动参数中增加 “ext4.speed=0”。

    说明:

    可靠性模式能够保障文件的可靠性,与性能模式相比,有少许性能损失,请用户根据需求场景选择对应的模式。

    Mount参数与cmdline参数同时配置时,以cmdline参数为准,即全局生效。

    对于重要的文件,或者有文件格式要求的文件, 写完之后及时的fsync就可以保证此场景下文件数据完整性。

    相关文章

      网友评论

          本文标题:系统异常掉电或crash时,文件末尾概率出现乱码

          本文链接:https://www.haomeiwen.com/subject/xktdwrtx.html