昂贵的 SD 卡更适合树莓派吗?
已发表: 2022-06-16Raspberry Pi 是一款廉价且令人愉悦的计算机,具有强大的冲击力。 但是便宜又好用的 SD 卡会提供稳定的存储,还是必须花更多的钱? 下面是内幕。
树莓派和 SD 卡
Pi 由 Raspberry Pi Foundation 构建,是有史以来最成功的单板计算机之一。 虽然它很便宜,但它的设计目的是提供足够的动力,使其成为学校和学院可以采用和接受的可行教育平台。 家庭可以负担得起与学校相同类型的设备。
几乎在它于 2012 年推出时,一种能够运行真正 Linux 发行版的小型、廉价、低功耗计算机的潜力就被制造商和爱好者所采用。 树莓派在头十年的销量超过了 4500 万台。
Raspberry Pi 推出后不久,关于 SD 卡损坏、破坏和短寿命的故事开始传播。 Raspberry Pi 不包含内部存储。 所有者必须提供一张 SD 卡——现在是一张 microSD 卡——充当计算机的硬盘驱动器。 操作系统和应用程序安装在 SD 卡上,微型计算机也从 SD 卡启动。
这意味着 Raspberry Pi 正在缩短 SD 卡的寿命。 事实证明,SD 卡控制器(物理上位于 SD 卡上的小型微芯片)存在潜在问题,并且 SD 卡驱动程序存在问题。 这不是 Raspberry Pi 独有的问题。
但是,SD 卡有很多变体,有些卡既没有设计也没有配备能够承受频繁的写入周期。
为什么有些 SD 卡的性能比其他的好?
SD 卡被设计为可移动且高度便携的存储设备。 它们最适合存储不变的数据。 这意味着写入周期非常少,但读取周期随心所欲。
不久之后,它们被用作数码相机、手机、无人机和其他需要轻便、廉价和可更换存储的产品的首选存储介质。 正如技术中经常发生的那样,产品的需求提高了其核心组件之一的质量和能力。 对更高速度和更大容量的需求不断推动 SD 卡制造商提高其卡的性能和稳健性。
速度
SD 协会设计了一套定义 SD 卡特性的标准。 关于容量,SD 卡应标有以下内容之一。
- SD :安全数字。 高达 2GB 的容量。
- SDHC :安全数字大容量。 容量介于 2GB 和 32GB 之间。
- SDXC :安全数字扩展容量。 容量介于 32GB 和 2TB 之间。
- SDUC :安全数字超容量。 容量介于 2TB 和 128TB 之间。
速度有点复杂。 SD 协会使用速度等级来指定最低持续写入速度。 这些课程是:
- 2 类:最低持续写入速度为 2MB/s。
- 第 4 类:最低持续写入速度为 4MB/s。
- 第 6 类:最低持续写入速度为 6MB/s。
- Class 10 :最低持续写入速度为 10MB/s。
这似乎很简单。 但请记住,这些是最小值。 实际上,您应该能够实现更高的写入率。 一些卡的包装上会有类似于“传输速率高达 XXMB/s”的措辞,其中“XX”被制造商在实验室条件下能够达到的最佳速率所取代。 这里的重点是措辞。 “最多”意味着您的里程会有所不同。
卡的标签上还有另外两个与速度等级相关的信息。 这两个很容易混淆。
UHS 速度等级在 U 形容器中显示为一个数字。 它特指录制视频。
- UHS Speed Class 1 :将支持高达 10MB/s 的写入速度。
- UHS Speed Class 3 :将支持高达 30MBs 的写入速度。
最后一点速度信息使用罗马数字。 速度等级的 SD 卡将使用两个接口或总线之一。 请注意,这些速度是指读取速度。 这些不是持续的速度,它们是峰值速度。
- UHS-I :将支持高达 104MB/s 的读取速度。
- UHS-II :将支持高达 312MB/s 的读取速度。
磨损均衡
持续写入 SD 卡上的同一位置最终会缩短其寿命。 大多数知名品牌的 SD 卡都包含磨损均衡的实现。 磨损均衡在 SD 卡表面共享写入操作。
如果 SD 卡上的某些块以足够的频率写入以触发磨损均衡算法,则写入操作将移动到卡的不同区域。 这可以防止一些区域受到写入操作的轰炸。 这就像将激光束对准金属门。 如果它留在一个地方,它可能会穿透门。 如果它在门的整个表面上移动,它就不会在任何地方燃烧。
当然,要使此操作生效,您的 SD 卡上必须有足够的未使用空间以允许移动写入操作。 这给我们带来了容量。
容量
不要购买几乎满足您要刻录到它的 Raspberry Pi 映像的最低要求的 SD 卡。 买一个有一些喘息空间的。 除了让磨损均衡发挥作用外,备用容量还允许您安装应用程序和数据,并让交换等系统必需品按应有的方式运行。
工业级卡
这些以“高耐用性”或“工业”级卡的形式销售。 它们专为艰苦的高写入环境而设计。 但请阅读小字,了解“高耐力”或“工业”的实际含义。 只是营销口号吗?
真正的工业级卡非常昂贵。 它们的坚固性反映在它们的价格上,这远远超出了休闲爱好者的预算。
延长 SD 卡寿命的技巧
在 Raspberry Pi 中,SD 卡代替了硬盘驱动器。 这种类型的使用比在数码相机中更强烈。 有很多小的写操作一直在发生。 它实际上比最初看起来更糟糕。
创建、更新或访问文件时,会从 SD 卡写入或读取数据。 这些操作会导致文件系统中的时间戳被更新。 因此,与直觉相反,即使从文件中读取也会导致写入操作更新该文件的访问时间。
某些 SD 卡保修中的小字特别声明不支持在“高写入率”场景中使用 SD 卡。 这里有一些你可以做的事情会有所帮助。
干净地关机
始终像关闭台式机或笔记本电脑一样关闭 Raspberry Pi。 不要只是拉出电源线。 如果您没有连接键盘和屏幕,请使用 SSH 访问它并执行受控关闭。
noatime 山旗
如果您在“/etc/fstab”文件中使用noatime
挂载标志,则文件访问时间戳atime
不会在每次访问文件时更新。 如果您不需要跟踪此指标,可以将其关闭。
除了保留您的 SD 卡外,它还可以为您带来速度提升,具体取决于您使用 Raspberry Pi 的目的。
相关:如何在 Linux 上编写 fstab 文件
使用外部 USB 驱动器
您可以将 Raspberry Pi 配置为从 SD 卡启动,但使用外部 USB 驱动器作为附加存储。 如果您将“/home”目录移动到外部存储,您将显着减少 SD 卡的磨损。
禁用日志记录
关闭不需要的日志记录或将日志发送到外部 USB 驱动器将减少对 SD 卡的影响。
使用体面的 PSU
不要在古老的手机充电器上运行您的 Raspberry Pi。 您的 Raspberry Pi 在 5V 时可能需要高达 2.5A 的电流。 任何不足都会导致许多不同的问题,包括不稳定和 SD 卡损坏。 不要犯错误的经济。 投资一个体面的电源装置。
交换呢?
你会听到有人提倡关闭交换。 您可以这样做,但我们不建议这样做。 相反,您可以在外部 USB 驱动器上创建一个交换分区,然后将交换从 SD 卡中移出。
交换是运行健全的 Linux 安装的重要部分。 当对物理内存的需求超过 Raspberry Pi 配备的容量时,它不仅用于从 RAM 中分页内存块。 交换也用于更新应用程序。
如果您在旧版本仍在运行时安装了较新版本的应用程序,则无法从内存中卸载旧版本,因为它在硬盘驱动器或 SD 卡上不再有可以重新安装的位置。读。
内核的内存管理例程将旧的应用程序映像重新定位到交换位置,以便它可以通过一些 RAM 外存储进行内存管理。 当旧应用程序终止交换并释放 RAM 页面时。 下次该应用程序运行时,将使用具有文件系统支持的存储的新版本,允许遵循正常的内存管理过程。
并且试图通过操纵swappiness
值来阻止swap介入是没有意义的。 这不是swappiness
设置的作用。
让交换运行,如果你真的想,在外部存储上使用交换分区。
贵还是便宜?
首先要做的是确定您需要的 SD 卡的容量。 对于大多数普通家庭用途,它可能会介于 8GB 和 32GB 之间。 如果您需要更多的存储空间,那么您真的应该在项目设计中包含一个外部 USB 驱动器。
对于大多数人来说,8GB 到 32GB 容量范围内的卡价格合理且负担得起。 既然如此,为什么还要便宜呢? 这并不是说节省的费用很大。 如果它们很重要,那么便宜的卡很可能是假的。
市场上充斥着假冒的 SD 卡。 该卡及其包装看起来与来自知名制造商(如 SanDisk 或三星)的正品卡完全相同。 另一个骗局是重新标记真卡,使它们看起来比实际容量更大。 因此,请从信誉良好的交易商处购买您的 SD 卡。 当心好得令人难以置信的便宜货,尤其是在您在线购买时。 他们不是讨价还价,他们是骗局。
即使是真正的低价品牌也使用更便宜和不那么严格的制造工艺,并且会降低性能。 鉴于 Raspberry Pi 是 SD 卡的惩罚用例,您不想吝啬。
具有 UHS 速度等级 3 和 UHS-I 总线速度的知名品牌 10 级卡将适合大多数应用程序。 如果您在 Raspberry Pi 上使用相机并且要录制大量图像或视频,请选择具有 UHS-III 总线速度的卡。
获取足够容量的卡以满足您的需求,包括一些备用容量,让磨损均衡功能在卡的备用表面共享写入操作。
但是便宜的 SD 卡? 不,你只是在购买未来的问题。