20080915

TS-7800: Linux RAID NAS for the Home User?

Update-20100328: Seeing as how Marvell are essentially the only ARM licensees who have gigabit ethernet technology, this device would decidedly make a really cool control board for the USRP2 from Ettus Research, Inc. Luckily, I've been doing some hacking with libusrp2 lately ;-)

I've had my TS-7800 for quite some time now, and I haven't really done anything fantastic with it yet, although, my original plans were to use it quite suitably as a NAS. The TS-7800 uses the Marvell Feroceon MV88F5182 CPU, and while lacking vector floating point (VFP) support, it is perfect for use as a storage controller.

This would be used by Erin & myself for fault-tolerant storage of important data.

Now, when I say fault-tolerant, I'm speaking of a redundant array of inexpensive disks (RAID). The TS-7800 does not come with a hardware RAID controller, as they are very expensive and usually only found in bulky server equipment, but any linux appliance is perfectly capable of acting as a software RAID controller.

The TS-7800 only supports two SATA connected drives, which means that if I only include these two devices in my software RAID configuration, the RAID level is limited to RAID 0 ("striping", improves speed, no redundant storage), or RAID 1 ("mirroring", data redundancy, slight speed overhead). Of course, I would choose the second option to have our data stored reliably. In that case, my capacity would be half of the total disk capacity.

If I were only including two SATA connected drives in my configuration, my RAID configuration would be limited. However, if I chose to make use of more devices connected via the TS-7800's USB ports, then I could have a RAID 5 configuration (striped, with parity). Just like a RAID 1 configuration, no data is lost if one disk is damaged. Unlike the RAID 1 configuration, rebuilding the damaged disk means more than simply copying the information from the other disk. Furthermore, if I implemented this and mixed SATA / USB disks, then there would surely be a performance hit when reading from / writing to a USB disk, which would slow down the array as a whole since operations would be striped across all disks in a RAID 5 configuration. RAID 5 also performs poorly in software when small files are being repeatedly updated because of the parity calculation requirement.

I think, in the end, I'll choose to use two 500 GB SATA disks, 3.5" in size just because the price is so relatively low, such as these, and start off with a simple RAID 1 configuration. Later on, if I feel the need to upgrade the capacity of the disks, or the raid array itself, I can hopefully buy some more similar disks and connect two more via USB, in spite of the slowdown that it might cause.

3 comments:

Anonymous said...

Have you implemented this as a NAS yet?

I have considered the same thing, but was wondering if anyone else has already...

I'm currently running an old Pentium 3 450 MHz as my NAS (Debian) w/ two 500GB hard drives. It works great, although power consumption is slightly high. ~48W)

Unknown said...

I unfortunately have not done this yet. Time seemed to fly by this past year, after my son was born, and now I'm back in Germany.

I think the closest thing that I might come to, will be using one of the up-and-coming NVidia Ion platforms. My hopes are, that some OEM will manufacture a MicroATX with a dual core VIA Nano, or a dual-core Intel Atom, along with the NVidia 9400M.

If such a design flies, then I should be able to have the same unit working as an HTPC, a NAS, and also a multi-corre cross-compiling machine for Gentoo or OpenEmbedded packages.

Anonymous said...

Thank you for the reply.

I've considered the Atom, unfortunately Intel bundles it with the power hungry chipset 945 (?). Not to mention many of the Atom platforms lack dual SATA connections and/or a gigabit connection.

I refuse to run any of the hard drives from my NAS via USB, and would prefer to avoid IDE drives going to a new NAS platform.

I'm leaning towards a QNAP TS-209 NAS, same Marvel SOC the TS-7800 uses. Roughly the same price, given that I live in Canada. (factoring shipping and customs fees) Debian can be installed on the QNAP, although unofficially supported, and run the minor risk of "bricking" the unit.

Ultimately I want a low power NAS without sacrificing too much performance. I do not require anything else but a file server. I have a separate PC for HTPC in my living room.

As for file redundancy on my current NAS. I have disk 1 backup to disk 2 nightly via rsycnc. (not exactly RAID, but it does provide some redundancy)

Glad I found your blog.

Richard