Thursday, July 9, 2009

Media Server & NAS project - Part 2 Hardware Update!

As with a lot of projects there are often overruns, mis planning and issues that arise later in the project that necessitate the changing of certain key assumptions. This project is no exception, lucky for me I had the ability to identify some of the issues before hand and was able to get the bulk of my work done in the initial time frame. Here is a rundown of some of the issues I ran into that necessitated me scrambling to find fixes at the expense of rush processing fees/shipping costs/restocking fees.

Problem: Storing lots of media files takes a lot of space


After archiving a few DVD's and using that small (20 or so disks) as a sample I was able to see that my raid array would be a bit on the small side. Also I moved my configuration from a RAID5 array to a RAID6 array. The reason was because I was using consumer grade drives in my setup, which after a bit of research I found had some issues being used in a raid array. Issues like kicking out of the array causing it to be rebuilt over and over :(.

Solution: Buy more stuff!


I picked up two more 1TB hard drives to fill out my enclosure, giving me a total storage capacity of around 6TB when all is told. Also, the two extra drives I picked up were the raid certified drives that do not suffer from the raid issues that the “consumer” drives I got do.
I even briefly considered getting 6 more of the raid versions of the drives just to make sure things were going to run smooth, but decided against it when I found that there was a trick to disable the problematic process on the consumer drives. It is called TLER (Time Limited Error Recovery). From what I understand, on the consumer drives which do NOT have TLER, drive goes into a error recovery mode every now and then as a normal part of the operation of the drive. This is interpreted as a drive failure by many raid utilities (including mdadm, the Linux software raid utilities that I will be using) and so marks the array as degraded. Once the drive comes back on-line after the recovery period the array recognizes it again and begins to rebuild the array. You can enable TYLE, which makes the error recovery period shorter, and prevents the software from marking the array as degraded. I found the explanation at this link: http://episteme.arstechnica.com/eve/forums/a/tpc/f/24609792/m/982006050931 as well as the tools to enable/disable TLER at this link: http://www.hardforum.com/showthread.php?t=1191548

Problem: Processor Doesn't Work in My Motherboard


It has been a bit since I have built a system from the ground up (2-3 years). That being said this mistake is pretty rookie. Basically the processor I chose was not compatible with the motherboard I chose. The processor was one of the new AMD socket AM3 processors and the motherboard only supported up to AM2+. There are lots of reasons why it might have happened, all of which could have been avoided if I had taken a bit more time to research, but such is the way of it.

Solution: Buy More Stuff!


My eventual solution was to get another motherboard, one that supported the AM3 socket. I ended up going with a small form factor (microATX) board since they were generally less expensive and had a lot of the features I was looking for on the board. That was nice in theory but I'll talk about later how that didn't really apply in practice. In the process I accidentally (lets just pretend it was an accident ok?) ordered another processor, when I thought I might go the route of getting a processor to fit into the motherboard. Of course with rush processing and shipping. Good fun!

Problem: eSATA card not compatible with my application


It was pointed out to me in the Ubuntu Forums that the eSATA expansion card that I had selected was not going to wok with my particular setup because it likely did not support port multiplication. This is what makes it possible to plug in one eSATA cable and have it be seen as more then one (usually 4 or 5) devices. This functionality was essential for my project, so the option had to be discarded. The external enclosure I had chosen came with a card that would serve as a stand in the trouble was that the stand in was much slower then what I was expecting. Basically the bandwidth of the card (PCI-Express 1x) was too low to handle the bandwidth of 8 drives. Another eSATA card had to be found.

Solution:Buy More stuff


This was a costly addition to the project. The port multiplier cards run around $200 give or take. Another issue is that they don't all have great documented compatibility with Linux. I ended up getting one and spending most of my setup time wasted on trying to get the crappy drivers that came with it installed on Ubuntu, or RedHat, or OpenSuse... all with no luck. My compromise was to continue setup with the slower 1x card that came with the enclosure, and consequently worked very well if not slow, and deal with it later. Which I did by purchasing another controller and installing. So I'll have to return two eSATA controllers.


So far this project has been fun, and it is starting to get pretty spendy. I've exceeded my basic mental budget by quite a bit, but I should be good and not in need of hardware upgrades for quite some time.