I recently purchased a Kingston 16GB flash drive http://www.amazon.com/gp/product/B00DYQYITG/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 to run Arch Linux ARM on my TonidoPlug v1. Prior to this I'd been running on a 4GB flash drive for 2 - 3 years, and toward the end of that time the fs became corrupt. A scan with e2fsck revealed that the 4GB flash drive had bad blocks and was unreliable. Thus, I replaced the drive.
I installed a fresh copy of Arch Linux ARM on the Kingston 16GB on December 29, 2014, checking for bad blocks using e2fsck prior to installation (no bad blocks, everything good). Yesterday I discovered that this <2 month old flash stick is already having issues; I'm seeing tons of I/O errors, inode errors in dmesg. I rebooted into the default Tonido image and fsck'ed the drive, finding many bad blocks and filesystem errors.
My TonidoPlug is used for an internal DNS server, running the Tonido app, samba fileserver, and that's about it. I've inspected the log file sizes and most are < a few hundred KB. The systemd logs are a few MB:
-rw-r----- 1 root log 22M Feb 18 02:07 messages.log
-rw-r----- 1 root log 20M Feb 18 02:07 everything.log
-rw-r----- 1 root log 16M Feb 18 02:07 kernel.log
-rw-r----- 1 root log 9.6M Feb 17 21:40 everything.log.1
-rw-r----- 1 root log 3.4M Feb 17 22:55 user.log
-rw-r----- 1 root log 2.8M Feb 18 00:39 daemon.log
-rw-r----- 1 root log 2.7M Feb 18 09:31 errors.log
-rw-r----- 1 root log 1.2M Feb 2 00:00 everything.log.3
-rw-r----- 1 root log 1.1M Jan 25 00:00 everything.log.4
My configuration:
~15GB / partition
ext2 filesystem (obviously no journal)
no swap partition
Here are my questions:
1. From everything I've learned/read, once a block device has bad sectors, it's unreliable and should be replaced. True?
2. USB flash should have a reasonable lifetime if writes are minimized, i.e. no journaling fs or swap space. Any other advice?
3. Does it seem odd that my flash drive has bad blocks with <2 months of operation?
