我对 Linux 很陌生。我有一台带有 Raspberry Pi OS Lite 的 Raspberry Pi 4 设备。我将其与连接到 USB 的 4 个 HDD 一起用作 NAS。硬盘驱动器被格式化为 NTFS,因为我之前在 Windows 中使用它们。但我注意到 Linux 中的传输速度非常慢,因此我将其转换为 EXT4。现在好多了……但是新的问题又出现了。 EXT4磁盘不再进入睡眠模式,因为系统几乎连续地访问它以写入该日志。我禁用它tune2fs -O ^has_journal /dev/sda1
,现在我的驱动器再次进入睡眠模式。由于我对 Linux 几乎一无所知,我想问你在禁用日志功能的情况下运行我的系统有多糟糕?会发生什么?哪些情况可能导致数据损坏?我计划在该系统中使用 UPS。有帮助吗?禁用日志记录后,我的驱动器只会在突然断电后发生故障,还是在正常操作中也会发生?日志功能将仅在这 4 个外部硬盘驱动器中禁用,而在系统硬盘驱动器中则不会。数据在某种程度上很重要,但并不重要。而且它很少被访问......
答案1
事实上,带有 UPS 的 NAS 是禁用日志功能的完美场所。
日志文件系统的主要好处(也是目标)是在 HDD 断电时保存数据。这个想法是,将数据写入 HDD 上的适当位置需要一些时间和几次磁盘访问的物理操作,而首先将更改写入日志日志要快得多。一旦 FS 驱动程序发现应用程序一段时间不活动 - 它将数据从日志转储到 FS。
因此,禁用日志记录会导致磁盘写入速度变慢。现在,驱动程序知道它没有方便的位置来快速存储,并且需要时间来正确组织 HDD 上的数据。
对于 NAS,用户已经期望更长的读/写操作,而不是像内置 HDD(甚至 SSD)那样立即响应。因此,人类不会注意到写入速度缓慢。特别是因为实际的减速实际上不到一秒钟。
您还可以查看 wiki 的文章,它更详细地解释了日志记录,并提供了讨论它的实际教科书的链接: https://en.wikipedia.org/wiki/Journaling_file_system
答案2
我见过一些关于您所描述的行为的零星报告。例如:这里https://superuser.com/a/1046164
作为太茶指出,这可能与延迟初始化有关,但一些报告表明这种情况可能仍会持续很长时间。
上面引用的答案建议重新格式化您的驱动器来修复它。您可能还想使用“noatome”进行安装。
关闭日记是否安全的答案是相当主观的。我永远不会根据你们电源的可靠性做出任何决定。它们是最容易失败的一件事。任何事情都可能失败。系统中的其他故障也可能导致其停止。
在“运行良好”8年后,我遇到过失败的情况。然而,在不到 6 个月的时间里,我又遭遇了失败。
您做出决定的唯一依据是您对数据的重视程度,以及您是否确定您的备份始终足够。
家用 NAS 通常保存照片等个人数据,这些数据是不可替代的,丢失后会非常令人沮丧,而且通常不会备份。尽管你绝对应该备份。
简而言之,这是您的数据。它可能不会在明天或今年失败,但禁用日记会增加风险。
日记是关于数据安全的。永远无法完全保证您的数据安全。日志的真正目的是使文件系统的更新成为原子的(或尽可能接近原子的)。
基本上,它在开始进行更改之前写下了想要更改的意图。失败时,要么:
- 日记条目不完整,可以忽略
- 日志条目已完成,可用于完成实际文件系统的更新
- 文件系统写入完成并且日志条目可以有效地被忽略。
如果任何原因导致您的系统崩溃,那么文件系统应该保持一致。显然,硬件本身可以编写不同的东西,或者只是翻转位(google bot rot),但除此之外。日记对于降低损坏和数据丢失的风险非常有效。
答案3
首先,在 ext4 上记录日志不是强制性的,而是可选的。
第二:日记是不是关于使文件系统更具弹性,是关于在断电或内核恐慌后进行恢复快点。
第三:我已经把它永远禁用了,因为 1) 我的电源没有问题,而且我的系统非常稳定 2) 日志记录会减慢写入操作 3) 日志记录大大增加了写入磁盘的数据量这不利于 SSD 存储。
哪些情况可能导致数据损坏?
缺乏日志记录本身永远不会导致数据损坏。
禁用日志记录后,我的驱动器只会在突然断电后发生故障,还是在正常操作中也会发生?
失败了怎么办?身体上?无论日记如何都会发生。失败,如文件系统损坏?写日记确实如此不是预防它,它只会更快地处理它。