- 主题:关于ext4文件系统的数据完整性
ext4里一个文件的某个块的数据被破坏了,文件打开的时候会报错吗?
谢谢
--
FROM 114.87.75.*
这个要看下这个数据块被破坏的原因
如果是文件存储在 ext4 文件系统后,硬盘出现物理坏道导致该磁盘块无法读取,
在这种情况下,打开文件,会遇到读取错误,dmesg 也会有报错。
如果文件在写入过程中,机器掉电,再次开机时,需要进行文件系统日志恢复,
有可能导致文件某个块的数据无法恢复,这个在进行 fsck 时,也会有提示错误的。
【 在 bochum 的大作中提到: 】
: ext4里一个文件的某个块的数据被破坏了,文件打开的时候会报错吗?
: 谢谢
--
FROM 183.240.8.*
如果是在emmc上,个别比特反转了,
文件层面会做校验,把错误查出来吗?
【 在 atzlinux 的大作中提到: 】
: 这个要看下这个数据块被破坏的原因
: 如果是文件存储在 ext4 文件系统后,硬盘出现物理坏道导致该磁盘块无法读取,
: 在这种情况下,打开文件,会遇到读取错误,dmesg 也会有报错。
: ...................
--
FROM 114.87.75.*
不会,zfs可以,也需要打开相关flag,
对文件数据而非元数据做校验,代价比较高,一般文件系统不会default支持。
【 在 bochum 的大作中提到: 】
: 如果是在emmc上,个别比特反转了,
: 文件层面会做校验,把错误查出来吗?
:
--
FROM 36.112.95.*
也就是说,要保证文件的数据完整性,只能应用自己主动做校验了?
【 在 ERen 的大作中提到: 】
: 不会,zfs可以,也需要打开相关flag,
: 对文件数据而非元数据做校验,代价比较高,一般文件系统不会default支持。
:
--
FROM 114.87.75.*
存储物理硬件层有自己的校验/纠错吧
上升到业务层就只能靠业务
【 在 bochum 的大作中提到: 】
: 如果是在emmc上,个别比特反转了,
: 文件层面会做校验,把错误查出来吗?
--
FROM 116.233.89.*
是这样,如果底下用了raid会好一点。
但raid没法判断是数据坏了还是校验坏了。
【 在 bochum 的大作中提到: 】
: 也就是说,要保证文件的数据完整性,只能应用自己主动做校验了?
--
FROM 36.112.95.*
我们是嵌入式项目,就一个emmc片子
【 在 ERen 的大作中提到: 】
: 是这样,如果底下用了raid会好一点。
: 但raid没法判断是数据坏了还是校验坏了。
:
--
FROM 114.87.75.*
RAID 知道坏了的块是存放的文件数据,还是校验和数据。
只不过一般使用场景,无需关心这个细节问题,
raid 能够发现的坏块问题,一般是可以自己 重建修复的。
无论这个块是文件数据,还是校验和数据。
【 在 ERen 的大作中提到: 】
: 是这样,如果底下用了raid会好一点。
: 但raid没法判断是数据坏了还是校验坏了。
--
FROM 183.240.8.*