The idea of this project comes from the fact that solid state storage is way better than movable magnetic storage. As well all know, SSDs are more expensive than traditional hard drives. The performance of SSDs are amazing, but coming in slower in speed, smaller in size and affordable is the USB flash drive. Implementing striping RAID with traditional hard drives or SSDs will speed up the entire file reading/writing process, but as mentioned before SSDs are expensive. What about using several cheap USB flash drives that require less power and have no moving parts in a striping RAID setup to bring the faster speeds and higher storage than the expensive SSDs?
Playing with this simple idea includes a typical RAID setup in Linux (no Microsuck here!) with mdadm and mounting the device automatically with /etc/rc.local. I tried putting an entry in /etc/fstab but the kernel didn't like it. I got lots of messages about /dev/md0 not being ready upon boot so I settled for /etc/rc.local instead. To test the write speed I used dd with an 8.4GB MKV file. I wrote the file to my Super Talent 32GB MLC SSD and dd reported an average of 21.5 MB/s. I then performed the same operation on the /dev/md0 striped USB RAID array and averaged 26.2 MB/s. This was a surprise because the cost of the SSD compared to the 10x1GB USB flash drives was huge, not to mention if we use a redundant array such as RAID 5 then the storage volume will have a level of safety against failure that stand alone SSDs do not provide.
These are the commands to get 3 USB flash drives in a RAID 0 array and mounting upon boot:
mdadm -C -v /dev/md0 -l 0 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1 (your devices may be different)
mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf
Use an editor to edit /etc/rc.local to include mount -t ext3 /dev/md0 /raid (or whatever you need)
There is nothing special in these commands, all are documented online and have been used for years. The only difference is using USB flash drives than hard drives or SSDs.