美文网首页
系统异常掉电或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