ChrisAdmin Posted December 27, 2017 Posted December 27, 2017 Hi all, I have a strange problem, when I make any file system changes, I can count to 10, pull out the power, and my changes are lost. My application sometimes requires changing of a settings file, and then quickish disconnection of power by the user (I know its not good, but it's a fact of the product) My current solution is to flush the write cache when I save the settings, I forget the command name, but that isn't ideal as other changes such as logging is lost. I'm using the armbian debian release at the moment. How can I change this write-cache timing to something like 2 seconds? Also, is this an SD-card technology issue or will the issue disappear for eMMC? Thanks
Igor Posted December 27, 2017 Posted December 27, 2017 It is filesystem mount property. Edit /etc/fstab and change from commit=600 to commit=2 ... some performance and flash media lifespan will be lost.
tkaiser Posted December 27, 2017 Posted December 27, 2017 On 12/27/2017 at 11:05 AM, ChrisAdmin said: My current solution is to flush the write cache when I save the settings, I forget the command name, but that isn't ideal as other changes such as logging is lost. Expand Leave everything as is and simply use this command: /usr/sbin/log2ram write ; sync & This will write changes to SD card while still lowering write amplification a lot (high 'write amplification' is the reason why SD cards and other flash media die too early)
tkaiser Posted December 27, 2017 Posted December 27, 2017 On 12/27/2017 at 11:05 AM, ChrisAdmin said: My application sometimes requires changing of a settings file, and then quickish disconnection of power by the user (I know its not good, but it's a fact of the product) Expand Just for the record: your above procedure is a great recipe to get a corrupted rootfs so you shouldn't be too surprised if the filesystem gets corrupted and the board fails to boot the next time. There are solutions for this problem (do a search for 'read-only rootfs' for example).
Recommended Posts