为了避免磨损包含操作系统的 SD 卡,在外部固态驱动器(操作系统 + 存储)上有两个分区是否更好?

为了避免磨损包含操作系统的 SD 卡,在外部固态驱动器(操作系统 + 存储)上有两个分区是否更好?

只是说,我已经在 Raspberry Pi 堆栈交换上发布了这个问题,但我认为这是一个通用的 Linux 问题(至少在我自己的知识延伸到的基础水平上),并且这个社区中的人们将能够帮忙解决这个问题,所以我在这里问。

我是管理文件系统的新手,但正在使用带有 16GB SD 卡的 Raspberry Pi 3B,并在上面运行 InfluxDB 数据库。 Pi 每秒将一个数据点写入目录中的数据库/home/

我发现进行大量写入对 SD 卡的使用寿命来说是个坏主意,而且一段时间后它就会填满卡上的空间。因此我买了一个外置 240GB 固态硬盘,和一个USB 转 SATA 适配器,我的目的是安装驱动器/mnt/并使用它来存储数据库而不是目录/home/。由于我有时想拔掉驱动器并在 Windows 上读取数据,因此会将其格式化为 NTFS。

然而,虽然这可以解决存储空间的问题(SSD足够大),但在这种情况下,我仍然会使用Raspian(Buster Lite)操作系统的SD卡,然后将数据写入SSD通过 USB 驱动。

我现在的问题是:

  1. 这是一个坏主意吗?

  2. 将 SSD 分成 2 个分区是否更有意义 - 第一个分区格式化为 NTFS 用于存储,第二个较小的分区(大约 10GB)格式化为 Linux(应该是 Ext4?),它只容纳 Raspian。然后,将使用 InfluxDB 在一个分区上收集数据并将其传输到第二个分区,从而完全避免对 SD 卡进行任何写入。

  3. 如果是这样,执行此操作需要遵循哪些一般步骤(以及需要注意的事项)?

  4. 有没有更明智的方法呢?

谢谢

答案1

是/否的答案可能是基于意见的。这取决于您的要求。我们能做的就是提出一些需要考虑的事情,然后让您决定。

简单的事实:SD 卡通常比 SSD 磨损得更快。 SD 卡通常比 SSD 便宜得多。基本上你得到你付出的代价。只要您的应用程序不是每天都在写入,一张优质的 SD 卡应该可以让您运行树莓派相当长的时间(几年)。但几个月后我就用掉了一件便宜的

现在为什么穿着会困扰你呢?
- 如果您担心在 SD 上花更多的钱。关于 SD 是否比 SSD 的每美元磨损更多,确实可能存在很长时间的争论。这可能是一个虚假的经济,这就是我所说的。 - 如果您担心系统正常运行时间或更换 SD 的麻烦,那么您可能需要考虑移动一些文件系统。

我确实运行我的 r-pi,并将部分操作系统移至外部驱动器。对于系统恢复来说有点痛苦。我不久前遇到了电源问题,但在没有连接外部硬盘的情况下无法启动。我将 /home 和 /var 映射到我的外部驱动器,因为它们具有最高的重写需求。我将我的服务器作为服务器运行,我更担心如果 SD 卡出现故障我将不得不做的工作。这也是因为我需要 2TB 存储空间。

如果您沿着这条路线走下去,我建议整个操作系统(/boot 除外)应该放在外部磁盘上。这使得配置更简单,恢复也更简单。事后看来,我对部分 SD 部分 USB HD 的设置比其价值更匆忙。

答案2

来自下面的评论之一(感谢 Philip)大多数 SD 卡没有磨损均衡控制器。这是与 SSD 的根本区别(据我所知),SSD 都具有磨损均衡功能。

外部连接 SSD 比使用不带磨损均衡的 SD 更安全在比较磨损风险时。也就是说,您可能会发现具有磨损均衡功能的 SD 卡。

您可以在系统上采取一些措施来减少这种影响(例如增加缓存大小/降低同步速率,从而冒着在意外断电中丢失更多数据的风险)。

大小也很重要 - 更大的设备允许均衡算法减少每个块的写入。

根据目的和预计服务期限,最有可能且最简单的问题解决方案是“不用担心”。接下来,您可以定期(每使用 X 个月)将 OS SD 克隆到新的 OS SD 中,然后继续。

相关内容