在现代 Linux 上,将操作系统的所有活动写入移动到其他磁盘是否安全,或者是否是一个坏主意?

在现代 Linux 上,将操作系统的所有活动写入移动到其他磁盘是否安全,或者是否是一个坏主意?

我使用 SSD 的时间已经够长了,现在考虑如何保护它们,以免因过度写入而过早出现故障。因此,我已经成功地将 /var 移动到其他磁盘(无论是其他 SSD 还是 HDD),并且运行良好,但我对移动 /run 或任何其他写入区域有些犹豫。也许我的担心是没有根据的。

我不一定熟悉系统磁盘的所有写入区域。当然,最常用的是 /var,我认为 /run 是其次,但这个问题实际上是在询问所有写入区域。如果您知道除了 /var 和 /run 之外还有哪些写入区域,那么,首先我想了解它们,其次我想知道它们是否可以安全移动。

我只是对现代 Linux 中的启动环境了解不够(我目前主要使用 Fedora Server 32)。如果这些备用写入位置所在的磁盘在需要时尚未安装,那么这显然行不通。通过查看系统日志,很难判断上述转换何时发生。

收到的评论似乎没有完全理解要点:

只进行读取的 SSD 的寿命不是会更长吗?

如果这是真的,这似乎是一个定论,从写入限制的定义来看是正确的,那么,为了延长系统磁盘的寿命,将尽可能多的写入活动从系统磁盘上移开,难道不是一种有价值的做法吗?

我认为有些人根本不在乎这些。我猜这些人资金充足,可以轻松负担人工和其他费用。但在这些艰难时期,尤其是在疫情期间,当小型组织压力达到极限时,这个问题就变得非常重要。……问题不在于硬盘的成本,而在于更换硬盘所需的劳动力。不自己出资的人可能不会意识到面临的挑战。

答案1

为了回答最初的问题,我们制作了嵌入式系统,希望最大程度地减少写入。操作系统分区是可写的闪存,但我们以只读方式安装它们,并卸载以下内容:

/etc/{adjtime|resolv.conf}
/etc/lvm/{cache|archive|backup}
/var/{gdm|log|cache|account|spool}
/var/db/nscd
/var/systemd/timers
/var/empty/sshd/etc/localtime
/var/lib/systemd/random-seed
/var/lib/{xkb|puppet|dbus|postfix|dav|dhcpd|dhclient|php|pulse|ups|arpwatch|NetworkManager|gdm|iscsi|logrotate.status|ntp|xen|samba|nfs}

这是针对 RHEL 派生系统,在我们的例子中,我们将可写区域放在 RAM 中(数据丢失对我们来说不是问题)。当然,我们没有使用 SSD,这不是您的确切问题,但是如果您希望减少/消除写入,它应该在很大程度上表明您应该考虑卸载什么。您可能需要比这些更多/更少,具体取决于您的软件包和配置。

相关内容