由于flash内存只有有限的写操作,所以在flash媒体上安装Linux系统需要进行哪些调整才能使操作系统长时间可靠地运行?
闪存安装的一些例子包括将Linux映像烧录到无线路由器的闪存,或者将linux发行版安装到使用SD卡作为硬盘驱动器的盒上。
此外,除了无线路由器固件(OpenWRT、DD-WRT等)(它们可能已经实现了这些调整)之外,是否有任何通用的发行版可以进行这些调整,或者允许您将它们用作选项?
发布于 2011-03-05 14:25:08
/tmp和/var目录是许多系统程序大量写入的目录,并且依赖于可写性。最小化对这些目录的写入,或者配置Linux将这些目录挂载到可替换的外部存储设备上,而不是在闪存上安装这些目录,这将大大有助于实现您的目标。
应该以同样的方式对待/home和交换分区。
rsyslogd是Debian和许多Debian派生的发行版中的默认系统,它可以不将日志写入磁盘,而是通过网络连接传送日志,并且只有在内部缓冲区已满时才将它们写入存储。实现这一点(我正在试图找出如何以一种很好的方式来完成)可以消除大量的闪存。
另外,您希望使用noatime选项挂载您的文件系统,该选项阻止Linux更新您所触摸的每个文件的访问时间。这也可以消除大量的写,并加快性能。我认为还有一个内核参数可以控制Linux自动sync调用之间的时间间隔。如果您的系统没有预料到突然停电,您可以将其设置为比默认的5秒更高的值(我认为)。
发布于 2011-03-09 16:57:13
更恰当的说法是,Flash内存只有有限的擦除周期,这些循环最终是由写引起的。有许多关于这一区别的好文章可供参考。
当您提到将Linux映像烧录到路由器固件中时,这可能不是flash或EEProm。读取速度快的闪存类型也不是,写入速度更快的闪存类型也不是。
在ext3下,日志是写得最频繁的文件,这些写入将最终填充一个块,迫使另一个块擦除。在挂载上设置一个较大的commit=值会将这些日志写入到更大的块中。
最后,为了响应其他解决方案,使用noatime安装将减少影响的标准实践。
https://unix.stackexchange.com/questions/8644
复制相似问题