从闪存驱动器运行 Linux

从闪存驱动器运行 Linux

我想在我的办公笔记本电脑上运行 Linux Mint,而不对计算机进行任何更改,因此我考虑只购买一个 128GB 的​​闪存驱动器来安装它。

我知道它会起作用,但我应该考虑什么来延长驱动器的使用寿命?

我已经考虑过缓存,笔记本电脑有 16GB RAM,所以我应该能够禁用它,如果发现真正需要它,我可以在 HDD 上安装一个文件,并且可能使用 ext3 作为带有 noatime 选项的文件系统。

还有什么需要考虑的吗?或者这只是一个坏主意?有没有关于如何做到这一点的指南?

答案1

几年前,我经常使用闪存驱动器上的台式机系统,近两年来,最麻烦的部分实际上是读写速度降低,而数据丢失问题并不严重。不过,设备磨损当然是固态介质的一个问题,特别是如果你打算比我使用时间更长的话。当从闪存驱动器运行系统时,你可以使用许多与文件系统相关的调整来提高性能。其中许多调整也有助于延长闪存驱动器的使用寿命,因为频繁写入最终会导致故障。

  • 关闭访问时间戳记录通过将noatimemount 选项添加到相应的设备中/etc/fstab
  • 更改默认 I/O 调度程序noop使用旨在优化旋转硬盘写入的 I/O 调度程序无法很好地与闪存盘配合使用,并且经常会导致应用程序在将大文件写入磁盘时挂起)。要进行更改,请在文件中包括以下行/etc/rc.local(其中<device>是您的 USB 设备的名称,即sdb):
    echo noop > /sys/block/<device>/queue/scheduler
  • 使用 ramdisk 存储临时数据如果你有足够的 RAM。将以下几行添加到/etc/fstab
    tmpfs /tmp      tmpfs  defaults,noatime,nosuid,mode=1777  0  0
    tmpfs /run      tmpfs  defaults,noatime,nosuid,mode=1777  0  0
  • /var/run您可能还考虑为和添加 ramdisk /var/tmp。但是,请先检查 是否/var/run未作为软链接实现run。至于/var/tmp,请注意将其移动到 ramdisk 可能会破坏某些程序的预期行为。从文件系统层次结构标准 3.0

    系统启动时,不得删除位于 /var/tmp 中的文件和目录。尽管存储在 /var/tmp 中的数据通常以站点特定的方式删除,但建议删除频率低于 /tmp。

  • 将浏览器缓存和其他频繁写入的临时数据存储放在 ramdisk 上。即对于 Firefox,打开about:config,创建一个新字符串browser.cache.disk.parent_directory并将其值设置为/tmp

  • 考虑暂时同步/var/log/到内存,然后在关机前将其同步回物理驱动器日志文件经常被写入,仅在会话结束时将它们同步到物理存储一次将减少驱动器的磨损。在debian-administration.org 上的这篇文章,另一个是任何同步守护进程(我没有测试过这两种解决方案,但根据文章/文档判断,这两种解决方案对我来说似乎都很合理)。另一种选择是将日志数据外包给另一个驱动器或日志服务器。我不建议在会话结束时简单地丢弃 ramdisk 上的日志数据,因为这会降低分析错误的可能性,并导致无法跟踪可能的安全漏洞。但是,如果您做出明智的决定走这条路,请注意,如果某些服务抱怨它们需要某些目录,您可能需要编写一个 init 脚本来重新创建这些目录。
  • 优化交换空间使用。如果您有大量内存,那么完全没有交换空间可能也没问题(具体取决于您如何使用系统),并且对于大多数常规/办公用途,有大量报告表明,即使在 8-16GB 的系统上长期使用,这也不会成为问题。但是,许多人更喜欢将交换空间作为后备。在这种情况下,您应该告诉操作系统将其交换使用量或“swapiness”保持在最低水平。将以下行添加到/etc/sysctl.conf
    vm.swappiness=10  
  • 关闭文件系统日志。虽然这意味着在系统崩溃或数据丢失的情况下会失去快速恢复选项,但它确实减少了额外的写入和开销。要从 ext3/4 文件系统中删除日志,请输入sudo tune2fs -O ^has_journal <device>(其中<device>是相应分区的名称,即sdb1)。考虑使用 ext2,上次我检查时它仍然具有迄今为止最好的 I/O 基准测试结果,即使没有日志记录,根据我的经验它仍然是一个强大的系统。缺点:一致性检查可能很长。此外,在包含大量文件的目录中,您会注意到由于缺乏目录索引,性能会明显下降。如果你有很多这样的目录,我会选择没有日志的 ext4。

在实施任何更改之前,请确保您熟悉命令和选项。就像我一开始说的那样:根据我的经验,在闪存驱动器上使用系统可以愉快地工作相当长一段时间(如果您在启动或启动单个程序时能有耐心的话)。有了 16 GB 和 USB3,您将特别适合运行。但是,对于偏离标准操作方式的系统设置,最好知道您实际做了什么,以防您遇到意外的后续行为或问题。

感谢 maxpolk指出移动 (/var)/run 和 /var/log 以减少磨损也是明智之举。

答案2

延长驱动器的寿命是指驱动器的物理寿命还是由于操作系统而在驱动器上不可避免的文件积累?

您说您已经考虑过缓存,但如果您声称要“不改变计算机中的任何内容”执行此操作,则禁用 RAM 并在 HDD 上安装文件会适得其反。如果是我这样做,我会保持 RAM 处于启用状态。

我会考虑的事情有:

  1. 这台笔记本电脑是否够新,可以具有“从 USB 启动”功能?
  2. 该功能是否会被禁用:
    • 您的组织?
    • 笔记本电脑 OEM?
  3. 是否有适合该型号笔记本电脑的专用驱动程序?

相关内容