试图增加USB寿命

时间:2016-09-26 12:17:19

标签: linux usb storage hard-drive usb-flash-drive

我们在USB驱动器上缓冲,在x分钟后,这将发送到我们的服务器。因为这涉及很多写入和删除周期,USB很快就会死掉(1.5到6个月之间)

我知道这不是一个理想的情况,但由于很多原因,我需要暂时处理这个问题,作为备份解决方案,USB将保持不变 (如果存在互联网问题,它仍然可以在本地服务器上缓冲。)

然而,我正试图寻找一种方法来增加USB的使用寿命,即使它只是一个小小的改进。 我一直在阅读有限的写/删除周期,我想知道是否可以通过修改文件而不是创建和删除文件来节省USB的生命周期。

当前文件大小约为524 B ...这不是很多,而blocksize是16.384 B. 正如我从所收集到的所有信息中所理解的那样,这个空间将默认保留,所以我应该能够在它使用另一个块之前再写30次以上这个块,对吗?

所以我的计划是为每个需要缓冲的设备提供一个专用文件,让文件通过向文件添加内容而不是创建新文件来增长和缩小。 而不是一遍又一遍地删除文件,只是清空文件的内容。

所以真正的问题是:修改文件会保存(可能)USB的任何生命周期而不是不断创建和删除文件,还是根本不重要?

1 个答案:

答案 0 :(得分:1)

首先。 pendrive和SD,使用N个字节的块,N可以是128,256,512等。

小块是更好的,因为如果一个软件写一个示例每个128字节,或每一圈时间,不等于写入一次128,即两次256字节,或四次512字节块。

所以,我会尝试减少大小块,但这意味着文件的最大大小会更低。

其次,更重要的是,尽量不要使用caché写入,因为它总是写入磁盘。最好将所有内容保存在内存中,并在pendrive或SD中只写一次。这一点使块大小的第一个无效。

第三,在Linux中,您可以最大限度地减少磁盘访问 您可能希望将journald配置为将其日志存储在RAM中,例如通过创建自定义配置文件: /etc/systemd/journald.conf.d/usbstick.conf

[Journal]
Storage=volatile
RuntimeMaxUse=30M