2

I have an embedded Linux device with a read-only file system. I have another partition that is used to store an archive of logs.

This partition will be written to a lot. What linux partition should I use to ensure longevity and stability?

I heard the ext2-ext4 file systems use a lot of reads/writes for journaling. What about vfat? What about unexpected power interruptions?

2 Answers 2

4

You could safely use ext3 with noatime option: then only actual file writes would touch your flash device in write mode. The ext3fs journal is a good thing in case of embedded system that may get lack of power suddenly.

I personally run this way a few Raspberry PI's equipped with simple SD memory cards for a couple of years (24/7, not backed up by UPS and with sudden power interruptions) and I did not had to replace the cards yet nor I had any problems with startup after power recovery.

As for vfat, as I mentioned, journalling is an advantage.

Edit: moreover, I run them with rw-mounted root fs

3

Ext4 wasn't designed for flash media. It can work, and it's a safe value due to the extremely wide usage it gets, but it isn't necessarily the best choice, especially on flash media that doesn't do wear leveling.

UBIFS is specifically designed for raw NAND flash. It doesn't work on arbitrary block devices, it requires an underlying MTD storage device (as opposed to devices that do their own block mapping such as MMC and SD). It generally has good performance, and is possibly the best choice on raw NAND flash, but it can be annoying to debug and test because you can't just mount a disk image.

LogFS may be another contender. It has good performance for most operations, but it has a history stability problems, and I think it's unmaintained. In a presentation by Toshiba in 2009, it got slammed for corruption bugs, and I'm not sure if they've been fully resolved since then.

YAFFS and JFFS2 are older filesystems that have largely been supplanted these days. I think JFFS2 is still considered fine for small filesystems (e.g. configuration data) but not for “large” filesystems — avoid it if you have more than a few MB of logs.

F2FS is a relative newcomer. It's designed for larger flash filesystems (there's a minimum size of 10MB!). I'm not sure if it can be considered mature yet.

(Note: I don't have any actual industrial experience of any of these filesystems.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.