Hello Nils,
On 07/11/2013 02:56 AM, Nils Toedtmann wrote:
Dear Voyage community
First: Voyage Linux is great! It makes building embedded systems
significantly easier - thanks to everyone who contributed!
I have a number of questions about writing data to CF on ALIX (before
you rant about even wanting to do this - see my use case and motivation
in the PS below).
I apologize in advance if i haven't found existing answers in the Voyage
documentation. I did do some research, but admit that being only a
sysadmin, i didn't dive into the depths of Voyage's development docs.
Here are my questions:
* Most documentation says that CF wears down quickly when many write
operations happen. But those docs are 5-10 years old. Do modern
'industrial grade' CF cards still suffer from this problem? I wonder
because nowadays it is pretty common to use flash based SSDs in
write-heavy systems.
Industrial grade means SLC in my opinion. As far as I remember I have
seen data sheets with a factor ~10 higher write cycles as MLC. But YMMV
* PC Engine recommend [1] to have partitions aligned to flash's 2K or
4K page size. But most partitioning software assumes 63 sectors (512
bytes each) per track. How would i partition a CF card such that the
partitions are aligned properly, e.g. using Voyage's fdisk? Maybe just
use multiples of '8 tracks = 63*4K'?
gparted has features which allow aligning partitions to boundaries
different than the default ones. Maybe you should have a look at it
* I have the rootfs on a ro partition, and write my data to a separate
rw partition. Is it safe to assume that even if a powercycle corrupts my
data partition, that the rootfs partition is still intact?
hopefully
* Besides your recommendations to adjust the vm.dirty_* syscontrols
when writing to CF [2] - What are your recommended file systems and
mount options for rw data partitions to reduce the risk of data loss on
a powercycle? E.g. i see people recommending to use ext3 or ext4 with
'journal=data' and/or 'sync' (at the expense of reduced write speed). Is
that sound?
I have seen recommendations to use EXT4 without journaling, to get the
advantages of EXT4 without the disadvantages of EXT3 and older. So far I
have no bad experience. You can format a fresh partition by doing a
mke2fs -t ext4 -O ^has_journal /dev/sdaX
or remove the journal of an existing FS with
tune2fs -O ^has_journal /dev/sdaX
HtH
* Does Voyage Linux do a file system check when it mounts additional
file systems if they have fs_passno=2 (6th field) in /etc/fstab? Does
the fsck call include the "-y" option to force automatic fixing mode?
* Would it work if i symlinked /var/log/ into a rw data partition and
removed it from 'SYNC_DIRS' in /etc/init.d/voyage-sync ?
Any advise would be greatly appreciated!
Cheers, /nils.
[1] http://www.pcengines.ch/cfperf.htm
[2] http://linux.voyage.hk/content/getting-started-v09x
PS: Disclaimer& use case:
I know that CF is not advised for permanent storage when powercycles can
happen at any time. We use ALIX + Voyage linux to collect and cache, and
send sensor data to central servers. The data we write to CF is not
critical. However, for a number of reasons it would be very helpful if
the data survived powercycles:
* Cached sensor data that hasn't been sent out yet (some of our ALIXes
have unstable uplinks, e.g. 3G) would not get lost
* Stored states would allow the data collection to resume significantly
quicker
* Logs up to just before a system fault (e.g. OOM) would be very
helpful for debugging
_______________________________________________
Voyage-linux mailing list
Voyage-linux@list.voyage.hk
http://list.voyage.hk/mailman/listinfo/voyage-linux
_______________________________________________
Voyage-linux mailing list
Voyage-linux@list.voyage.hk
http://list.voyage.hk/mailman/listinfo/voyage-linux