意外关闭如何会损害Linux计算机?

意外关闭如何会损害Linux计算机?

意外关闭如何会损害Linux计算机?

意外关闭对Linux的危害与其他操作系统一样吗?当我们调查灾难性的系统关闭对Linux文件系统的影响时,请继续阅读。

今天的问答环节是由超级用户提供的,这是Stack Exchange的一个细分部门,这是一个由社区驱动的Q&A网站分组。

问题

超级用户阅读器User 208554对Linux文件结构很好奇,并关心他正在开发的一个应用程序/安装:

我正在Linux嵌入式板(运行Debian)上开发一个应用程序,例如Raspberry PI、Beagle Board/bone或olimex。这些电路板的工作环境是突然停电的(安装PSU太复杂了,等等)。每天都会发生几次。我想知道意外的停电是否会导致Linux操作系统的问题?如果这是我应该担心的事情,你有什么建议来防止意外停电对操作系统造成的损害?

PS。应用程序需要将一些数据写入存储介质(SD卡),我认为它不适合作为只读安装。

结果是什么?

答案

超级用户贡献者10b0提供了一些关于日志/非日志文件系统的见解:

这取决于

  1. 是否使用日志文件系统和
  2. 应用程序处理中止处理的能力如何。

例如,考虑一个应用程序,它处理一个文件,并在计算结果时将结果写入另一个文件(每个输入行有一个输出行)。如果在处理过程中切断电源,并且在重新启动后运行相同的应用程序,则不能从输入文件开始重新启动处理--这意味着输出文件将包含重复的信息。

很难对一个假设的复杂系统说出任何明确的话,但大多数稳定的Linux软件似乎能够很好地处理崩溃。

Stu建议分离操作系统和数据,并添加电池备份:

为了尽量减少操作系统损坏的可能性,最好在SD卡上有单独的“system”和“data”分区。这样,您就可以将“system”分区安装为只读分区,并在“data”分区上使用高弹性FS。

此外,这些板的大部分是非常低的功耗要求,所以电池备份是可能的。“脂骑”板的覆盆子PI可以作为一个基本的UPS,以提供一个干净的关闭功率损失。

最后,Jenny D扩展了日志文件系统建议:

意外的断电可能会导致文件系统数据的损坏--例如,如果进程已经开始写入文件,但尚未完成写入,则该文件可能只写了一半。现在想象一下,如果在内核升级的一半时间发生断电,…

正如10b0所写的,使用日志文件系统将有所帮助,因为它将能够跟踪实际完成的工作。除了10b0链接的维基百科信息外,您还可能对日志文件系统保证在电源故障后不发生腐败感兴趣。

显然,作为一个程序员,您需要仔细考虑如何处理对文件的写入,从而使其成为一个原子过程(也就是说,它要么已经完全完成,要么根本没有完成,但从来没有完成过一半)。这是一个相当复杂的问题。


在解释中有什么要补充的吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里读到更多答案吗?请看这里的完整讨论主题。

以上是 意外关闭如何会损害Linux计算机? 的全部内容, 来源链接: utcz.com/wiki/670228.html

回到顶部