Archive for the ‘Featured’ category

The continuous controller conundrum

June 8th, 2009

Strike another one off the list — the HP Smart Array P400 doesn’t present drives through JBOD to the OS, only through RAID 0.

This adds an extra layer of complexity to rebuilding disks, as when a disk fails, the card assumes a RAID 0 array has died, regardless of what you’re doing with ZFS. Apart from removing the ability to yank a disk on a live array then pop it back in and continue as normal, this adds extra overhead as the card is managing RAID 0 data for every drive attached to it on top of the RAID-Z already being done on the software side. Bad, bad, bad.

The LSI MegaRAID SAS 84016E

The LSI MegaRAID SAS 84016E

We have a new contender though, the LSI MegaRAID SAS 84016E (also known as the Intel SRCSASPH16I), which definitely has OpenSolaris driver support, but as usual is not available in Australia (the Intel is, but is over AU$1,000). It’s more expensive than the vapourous ARC-1300ix-16, thanks to it being PCI-E 8x rather than 4x. It’s also a true RAID card with 256MB of memory, and can handle up to RAID 60 thanks to a 500MHz Intel IOP333 processor.

PC Pitstop sells them at US$689, and the site even has a section saying it ships to Australia. Now if only a certain eBay seller wasn’t selling it for almost US$100 cheaper with free shipping…

Then there’s the Intel RAID Controller SRCSATAWB. This is a modified LSI MegaRAID SAS 8708ELP, doesn’t work in PCI-E 2.0, seems to have virtually the same featureset as the 84016E, but with only two mini-SAS ports. EYO Drop Shipping is currently selling it for AU$576.18.

The Intel RAID Controller SRCSATAWB

The Intel RAID Controller SRCSATAWB

For both, the manuals mention nothing about JBOD, which may resign them to the same scrap heap as the P400. They do mention virtual drives, but these seem to only be accessible when creating an array. There’s no mention of running single drives in order to access software RAID.

Edit: Neither card offers JBOD functionality. At this rate I’ll end up buying the crazily expensive Adaptec 31605 just to get working gear.

Silencing the chassis, perpetual controller issues

May 26th, 2009

The Chenbro RM41416B is a 4U file server case. Thus it has fans built for pushing around huge volumes of air, with complete disregard for the auditory senses of normal human beings. Obviously for a file server in a house, this is an issue.

The case by default comes kitted out with five Y.S. Tech FD128032HB 80mm fans, with room for another two at the back to draw hot air out. Upon spinning up, these were loud enough to shatter a pensioner’s dentures at 50 paces. The decision was made to swap them out with Noctua NF-R8s —certainly not a one to one replacement in terms of air flow, but a heck of a lot quieter.

The Noctua NF-R8 is pretty darn quiet.

The Noctua NF-R8 is pretty darn quiet.

Y.S. Tech FD128032HB Noctua NF-R8
Size (mm) 80 80
Depth (mm) 32 25
Bearing Ball Self lubricating oil pressure
RPM 4,000 1,800
CFM 46.9 31.19
Feels like A gale force wind A gentle breeze
dBA 40 17
Sounds like A 747 flying over seven simultaneous heavy metal concerts during the apocalypse World peace

While slightly less deep than the fans they’re replacing and featuring a cable long enough to require four zip-ties to keep under control, the Noctuas are dramatically quieter than the Y.S. Techs. Putting a human value on how much quieter is an issue though it seems; while there’s no doubt a 3dBA increase is a doubling in sound intensity, there’s arguments over how this relates to perceived volume.

They also put out significantly less cubic feet per minute of air – however I’m confident the server will survive with the extra heat, and some of the load will be lifted by two additional 80mm fans at the back drawing hot air out.

Power Supplies are Noisy too

As a consequence of all this silencing, a new problem became apparent: the power supply. The immensely noisy Emacs Zippy MX3-5750P 750W triple redundant power supply to be precise, worth around AUD$1,000. Looks like picking up the case for AUD$503 on eBay was a magic deal, around an AUD$1,800 discount thanks to the also included SATA backplane.

The power supply features three 375W hot-swappable units (MX1-5375P), of which two are active and one is spare. The top power supply sadly has an electrical squeal, which I’m not sure how to address. I’m quite sensitive to high pitched noises (like say, CRTs being left on) and so it’s destined to become annoying.

Squeal aside, the main issue is the horrific noise generated by the three PSU fans. These 40x40x28mm banshees are AVC F4028B12HBs, like the Y.S. Techs are ball bearing based, and howl like there’s no tomorrow. After some creative screwdriver work the PSU came apart with little resistance, revealing that the fine chaps at Emacs had glued the fan’s three pin power plug down in an attempt to stop fan replacement. Fortunately it’s nothing some short work with a scalpel shouldn’t be able to fix.

There’s no specs available on the AVCs, but I’m pretty damn sure the 40x40x10mm Scythe Mini Kaze SY124010L, rated at 14dBA and pushing 4.11CFM is going to be a lot quieter. The rated amperage is lower (0.06A vs 0.3A) so powering shouldn’t be an issue, however I am slightly concerned that the incredibly low CFM could impact the performance of the PSU due to excess heat build up, potentially already a threat due to the lowered exhaust power of the swapped in Noctuas.

The third issue with the power supply comes down to replacements — specifically, it seems only stores in Belgium, Russia and the Netherlands list the individual replacement modules for sale (often under the Chieftec brand) yet none of them have them in stock, while in Australia we’re limited to buying the whole expensive power supply again. At least, this is the case through regular channels, perhaps a disty may be able to help out.

Areca Abandonment

After distributors Digicor failed completely to reply to my query about bringing the ARC-1300ix-16 into the country, I decided to hunt them down at CeBIT Australia. The rep schmoozed that I shouldn’t bother with Areca and that they’re “focusing on 3Ware” — distributor speak for “we lost the contract”. Sure enough, FortuneTec picked up the deal shortly after and were blazingly fast in responding. Sadly there’s no intent to bring the 1300 series into Australia since as non-RAID cards, they’re perceived as niche market.

Looks like I’ll have to import, unless the Promise SuperTrak EX16350 shows, er, promise in Solaris.

The Promise Super Trak EX16350 is based off the Intel IOP333 and is cheap due to being EOL - but there are no Solaris guarantees

The Promise Super Trak EX16350 is based off the Intel IOP333 and is extremely cheap due to being an end of life product - but there are no Solaris guarantees.

Ion: CPU still sucks, but Blu-ray now playable

May 22nd, 2009
Zotac's IONITX-A can deliver full Blu-ray performance. Just don't get the B version as that only comes with a single core Atom (Image courtesy of Techreport).

Zotac's IONITX-A can deliver full Blu-ray performance. Just don't get the B version as that only comes with a single core Atom (Image courtesy of Techreport).

Just picked up this little tidbit from Techreport‘s review of the Zotac IONITX-A, suggesting that the advent of dual channel memory has fixed their Blu-ray playback issues. Of course non-GPU accelerated formats still suck the proverbial:

Back when we first tested the Ion platform’s Blu-ray chops, we found that playback wasn’t smooth with Nature’s Journey, a 1080i title we were playing back at 1080p. We were using PowerDVD, which is compatible with the GeForce 9400′s PureVideo HD decode block, so application acceleration wasn’t the issue. Instead, Nvidia said the stuttering we experienced was caused by the combination of the fact that PureVideo was only optimized for 1080p content and the fact that the Ion reference design had only a single memory channel. Apparently they were right, because the IONITX had no problem smoothly playing back Nature’s Journey or any of our other Blu-ray movies at 1920×1080 resolution over HDMI. In fact, CPU utilization only hovered around 30% during Blu-ray playback.

Thanks to its PureVideo HD support, PowerDVD also had no problems handling 480p, 720p, and 1080p movie trailers. The 480p and 720p clips even played back smoothly in QuickTime, which doesn’t make use of GPU acceleration. Our 1080p clip stuttered too much to be watchable, though. Speaking of stuttering, the IONITX proved incapable of handling HD YouTube content. That’s not terribly surprising considering how CPU-intensive Flash-based video playback seems to be.

They then go on to recommend the Zotac GeForce 9300-ITX WiFi with Socket 775 and PCI-E x16… which is indeed a tempting solution.

Merging RHEL 5.3 CDs to DVD

April 19th, 2009

So you’ve got your five Redhat Enterprise Linux 5.3 CDs, but want the convenience of a single disc — how do you merge them into a DVD?

Merging RHEL 5.3 CDs into a DVD

Combining RHEL 5.3 CDs into a DVD. Not so hard, but clear instructions are hard to come by.

There are a few tuts and scripts on the web that do so, but all seem to be all too happy to put you at the mercy of dependency hell — whether Redhat unique dependencies (eliminating Ubuntu, my distro of choice), or ones that require downloading, compiling and setting execute permissions. In short, too much work.

After some heavy scouring, a link was discovered containing a script that achieves the task, but with Fedora Core. A little modding later, it worked perfectly fine with RHEL 5.3. Here’s how to do it.

First, we’re assuming you have ISOs available of the RHEL CDs. Dump them in a folder, open up a terminal and browse to their location.

Next, we need to create folders to mount your existing ISOs:

mkdir -p disk1
mkdir -p disk2
mkdir -p disk3
mkdir -p disk4
mkdir -p disk5

Now mount each of the CDs into their respective folders, replacing the file names with whatever your ISOs are called:

mount -o ro,loop RHEL1.iso disk1
mount -o ro,loop RHEL2.iso disk2
mount -o ro,loop RHEL3.iso disk3
mount -o ro,loop RHEL4.iso disk4
mount -o ro,loop RHEL5.iso disk5

Now we want to create a DVD folder, and copy the needed files across from the ISOs.

mkdir -p dvd
cp -av disk1/* dvd
cp -pv disk2/Server/*.rpm dvd/Server
cp -pv disk3/Server/*.rpm dvd/Server
cp -pv disk4/Server/*.rpm dvd/Server
cp -pv disk5/Server/*.rpm dvd/Server

A little bit of cleanup…

find dvd -name TRANS.TBL | xargs rm -f

Patch the .discinfo file, so it knows all CDs are represented on the one disc:

awk '{ if ( NR == 4 ) { print "1,2,3,4,5" } else { print; } }' disk1/.discinfo > dvd/.discinfo

Unmount your CD images, and remove the folders you created:

umount disk1
umount disk2
umount disk3
umount disk4
umount disk5
rm disk1
rm disk2
rm disk3
rm disk4
rm disk5

Create your bootable DVD ISO. The original script used mkisofs, but if you don’t want to waste time installing it on Ubuntu, you can also use genisofs, as the arguments are the same:

genisofs -J -R -v -T -V "RHEL53DVD" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 8 -boot-info-table -o RHEL53DVD.iso dvd

After a little bit of file generation, you’ll have your DVD ISO. Burn using your tool of choice, and test the installer on your target system. If all runs well, feel free to delete those pain in the arse CD images, and archive the DVD one instead.

Hardware musings

April 14th, 2009

It seems Apple managed to update its Mac Mini, with 9400M hardware and all — without a Blu-ray drive. The stabbing may commence.

It’s also HDMI deficient, meaning you’ll need a DVI > HDMI dongle (or Mini Display-Port > HDMI if you’re willing to get unofficial), and to push your sound through a receiver via optical audio. Not necessarily a deal breaker for the high end, rather annoying for the low to mid-end.

The Mac Mini. Now with more graphical power doing absolutely nothing.

The Mac Mini. Now with more graphical power doing absolutely nothing.

I’ve had the good fortune to play with LG’s BE06LU10 external Blu-ray player, but sadly it arrived too late to test in conjunction with the new Mac Mini to see if the CPU had enough grunt to run a heavy VC-1 decode. I suspect it does, but wouldn’t mind proof before laying down AUD$1049 for the Mac Mini, and then another AUD$400 for the LG. Given the aesthetic is totally different for both devices though, upon a successful test I’d be more likely to gut the Mac Mini DVD drive and insert a slot loading Blu-ray.

LG's BE06LU10 external Blu-ray drive while fine by itself, would likely ruin the aesthetic of the Mac Mini.

LG's BE06LU10 external Blu-ray drive while fine by itself, would likely ruin the aesthetic of the Mac Mini.

Given the failure of the Mac Mini to capitalise on the streaming/Blu-ray market, and Ion’s inability to process VC-1 without frame skipping, it seemed like I was going to have to fall back on a homebrew solution, until I spotted this — MSI has a contender for the best all-in-one solution with its Wind Box DE200, also based on the seemingly ever-expanding 9400M chipset. While the 2GHz Celeron M 550 CPU is a worry, it’s a Socket P-based solution, meaning it can at least be upgraded to a 2.266GHz Celeron M 570, and if the chipset supports, a Core 2 Duo mobile processor. Hopefully MSI will take the guesswork out for us and just release a higher model version.

MSI's Wind Box DE200 - with a little more CPU, this could be the all in one we're looking for.

MSI's Wind Box DE200 - with a little more CPU, this could be the all in one we're looking for. Image credit: Engadget

On the server front, Areca have been darlings and released what we’ve been waiting for in controllers — an internal 16 port SAS HBA with no RAID engine, to keep the costs down, in the form of the ARC-1300ix-16. Best of all, it has Solaris support out of the box. Looks like we have our target, now we just need to wait for a local release.

The Areca ARC-1300ix-16 goes for CAD$499, has no RAID engine and comes with Solaris support. It's love at first sight.

The Areca ARC-1300ix-16 goes for CAD$499, has no RAID engine and comes with Solaris support. It's love at first sight, so long as it comes out in Australia. Image credit: Tweakers.net

In bad news, Anand gives us all a reason why we have to wait a little longer for SSDs to really live up to the promise, as they get slower over time. Unless you want to drastically shorten their lifespan by continuously hard wiping them, that is. This is a shame, as the improvement in Windows UI snappiness (loading an expanded Control Panel from the Start Menu is near instant) is almost entirely worth it on its own.

In other news, while the new Xeon 5500 setups have me crying at the ridiculous performance that can be made available with wads of cash, I’m sure my setup will do just fine within the confines of home use. The bought hardware seems to test well, short of the MSI P7n Diamond continuously resetting the boot order to what it thinks is smart rather than using the options set by the user. If there’s a USB drive left in or a new hard drive hooked up, it tries to boot off that. If you finish installing an OS off the optical drive, it sets the primary boot device to the hard drive where the OS is installed. Extremely frustrating and vastly stupid on behalf of the MSI engineers.

One step forwards, two steps back

February 16th, 2009

Some purchasing has recently happened to start the file server project:

  • Intel Q9550 ~ AUD$450
  • 8GB Corsair DDR2 8500 ~ AUD$380
  • MSI P7N Diamond ~ AUD$360

MSI’s P7N Diamond was chosen for one point alone — four PCI-e x16 slots. While a lot of boards have a number of physical x16 slots, they fail to back this up electrically beyond two slots. The MSI board has three x16 electrical slots, with the fourth yellow one being an x8 — perfect for expansion.

The P7N Diamond has just the right amount of PCI-E lanes to satisfy our expansion needs.

The P7N Diamond has just the right amount of PCI-E lanes to satisfy our expansion needs.

OpenSolaris 2008.11 was installed on this setup, on a 500GB drive hooked up to one of the NV sata ports, a DVD drive hooked up to the JMB363 controlled IDE port, a previously acquired GeForce 7600GS inserted, alongside a HighPoint RocketRaid 2340. For kicks, an Intel X25-E was hooked up to check out some awesome transfer speeds.

It wasn’t to be.

Things I’ve learned:

  • OpenSolaris loves the MSI board, pretty much enabling everything. While it recognises the X-Fi sound, sound does not actually work. This isn’t a deal breaker. To my never ending surprise, JMB363 seems to work just fine.
  • Turning off AHCI only results in the rear eSATA ports turning off.
  • Most curiously, OpenSolaris will not recognise the X25-E drive at all. Whether this is related to the NV sata ports or otherwise, I do not know.
  • The HighPoint RocketRaid 2340 is not supported. The dual Marvell 88SX6081 chips on it technically are with voodoo beyond the install process, but are the cause of some problems. These have been patched it seems, but all up it seems less trouble to grab something based off LSI chipsets. While FreeBSD certainly supports the 2340, once again the sturdiness of its implementation of ZFS gives me pause.
  • There’s something called Solaris eXpress Community Edition, which abbreviates to the unfortunate SXCE, or “sexy”. It’s basically a beta containing future code, and sadly also didn’t recognise the X25-E, 2340 or X-Fi.

The remaining options are few to be able to set up a 16 drive array in Solaris. Either acquire the Adaptec 31605 for around AUD$1200, or two HP P400s for around AUD$700. Obviously the HP option is significantly cheaper – so long as it works.

While Solaris may seem ideal, it certainly isn’t cheap to get working thanks to limited hardware support. It could seriously be a wait for Snow Leopard and some Hackintoshing, although this is much better suited to an Intel board than this 780i.

Ion — close, so close

February 5th, 2009

Nvidia’s Ion reference platform has been doing the review rounds today. It’s white now, which has made it even uglier. Curious from a company that prides itself on visual quality.

Sadly, it seems it’s not the dream platform for HTPC enthusiasts wanted it to be, as some of the statements in the reviews give me pause.

Somehow the engineering sample that ended up in reviewers' hands got even uglier.

Somehow the engineering sample that ended up in reviewers' hands got even uglier (Image credit: TechReport).

AnandTech tested Casino Royale, Sony’s product placement love-fest, ripped from a Blu-ray disc to ISO using AnyDVD HD:

As expected, hardware acceleration worked. Casino Royale was encoded in H.264 and the Ion platform decoded it flawlessly. CPU utilization was high averaging between 40 – 50% on a single-core Atom machine with Hyper Threading enabled:

There were some scenes where the CPU utilization peaked to over 90%. While we didn’t see any dropped frames, keep in mind that we’ve already decrypted the disc, the CPU is actually doing less here than if we were playing a Blu-ray disc directly from a drive. I suspect that playing back encrypted content it is possible for the Ion platform to drop frames if CPU utilization jumps out of its comfortable 40 – 50% average.

Bad news. TechReport also found VC-1 decode to be below expectations in regards to 1080i:

28 Days Later and Click are encoded with H.264 and MPEG2 codecs, respectively, so what about Blu-ray’s third format, VC-1? We use Nature’s Journey to test VC-1 performance, and on the Ion platform, playback was surprisingly choppy, pegging our single-core Atom config’s CPU utilization at 100%. Nvidia says it optimized PureVideo HD for 1080p content, and that Nature’s Journey playback is choppy because it’s actually a 1080i movie—a format the company claims is a shrinking niche. According to Nvidia, the problem here isn’t processing horsepower, but memory bandwidth. A dual-channel Ion setup, the company says, should play back Nature’s Journey smoothly.

We’ve seen Nature’s Journey exhibit comparatively higher CPU utilization than other Blu-ray movies on a Core 2-equipeed GeForce 9300 system, so the title clearly presents a considerable challenge. Enabling the Ion rig’s second Atom core did lower CPU utilization considerably, and while playback was smoother, it wasn’t as silky as the other movies.

Looks like we may be back to mATX and 790G, which isn’t as tiny and hidable, but at least with a decent processor and GPU VC-1 decode it shouldn’t drop frames, ever.

Developments, plodding along

January 15th, 2009

A few things have occured since the last postings, on both the file server and media centre fronts. I figured I should document them before I forget.

Media Centre

  • Apple did not release an updated Mac Mini, so we’re back to waiting on Nvidia’s Ion, which had some impressive demos at CES2009. Steve is a bit busy dying, so there’s obviously other things to focus on (although rumours keep on spinning).
  • XBMC 9.04, due in April, will feature not only Dolby TrueHD decode, but Blu-ray container support (M2TS/M2T/MTS) and the ability to load a file through an external player. Since Media Player Classic can run without GUI, this should work seamlessly. DTS-HD doesn’t seem to be there yet, unless it’s known under some other name I’m not aware of. Either way, a big step along the way to becoming the software of choice. We’ll have to wait and see if it’ll load the Blu-ray disc automatically though, or if you need to point it right at the M2Ts files.
  • After some reading around the net, I’ll have to test out Windows Home Server as a base OS. Otherwise at this stage to save pain it will most likely be a straight XP Professional install. While XBMC’s focus is Linux, I don’t expect easy Blu-ray playback to hit that platform any time soon.
Apparently a 2.5-inch drive can fit in the Ion reference case.

Apparently a 2.5-inch drive can fit in the Ion reference case.

File Server

  • Zebra over at Speedlabs suggested I’d need more than 4GB RAM to make sure Windows Server 2008 virtualisation is snappy. May as well double it to 8GB!
  • Finding out if HighPoint’s RocketRaid 2340 is OpenSolaris compatible is nigh on impossible without simply buying it, even with journalist contacts. If anyone knows somebody within HighPoint, please let me know.
  • Apparently ZFS on FreeBSD is stable so long as you run the 64-bit version, and have over 1GB of RAM according to a friend who has played with it for the last year. It might have to be a reserve option.
  • Crap. I have two of these drives, and Seagate is going all Apple on there being no acknowledgment. Very, very vexing.

The only thing holding up the purchasing of equipment is finding out about the HighPoint card — so here’s hoping I can dig up the information soon.

Building a media centre: the other part of the puzzle

January 2nd, 2009

Three years ago, a modified Xbox with a larger hard drive and XBMC installed was by far the best way to go about building yourself a cheap, easy to use HTPC.

There were limitations — digital sound and component video were a no-no without the High Definition AV Pack — which wasn’t available in Australia. Assuming you imported one, you’d have to switch to NTSC (requiring a supporting TV and mod chip for those in PAL countries), and then you could enabled 480p, 720p and 1080i video. Needless to say, a lot of people took this path.

Ah Xbox. You sure were big and boxy.

Ah Xbox. You sure were big and boxy.

The Xbox, however, is only a poor little custom Celeron 733MHz with a modified GeForce 3, and simply doesn’t have the muscle for high definition video. So when the Xenium modchip inside my Xbox died (and I discovered buying a new chip cost more than the console), it was time to build something with a little more grunt.

Consolation prize

Consoles are out of the question. While the PlayStation 3 is the very definition of lovely, it doesn’t support the .mkv container format or myriad codecs often found within. The Xbox 360 has similar video support, but doesn’t like older DivXs as much and doesn’t support Blu-ray. Both rely on Digital Living Network Alliance (DLNA)  enabled devices for network streaming, with no fallback to plain old SMB. While there’s certainly transcoding options like TVersity, the answer for flexibility, longevity and original quality video seems to be in the PC.

Hardware Requirements

The HTPC should be small and unobtrusive — after all, its job is to stream and decode video, not be a storage box. If possible, it shouldn’t require line of sight contact for the remote. It should be able to decode both VC-1 and H.264 in GPU.

Up until now, boards based on AMD’s 780G have been the best solution for reasonably small, feature rich HTPCs. The other option, often taken by clueless PC manufacturers, was a monster case with desktop parts in it.  While the monster cases became vaguely attractive in 2008, a few things at the end of the year really got the ball rolling in getting HTPCs smaller and less obtrusive.

One of the important bits was Intel’s Atom — the miniature CPU that featured in almost every netbook under the sun. While completely incapable of high definition video on its own, paired with the right GPU it should be more than enough power for the task. Thank goodness then for Nvidia’s Ion platform.

Nvidia's Ion should make tiny, high definition HTPCs possible

Nvidia's Ion should make tiny, high definition HTPCs possible

Traditionally, you’d opt for an ATI card in an HTPC, as ATI cards supported full offload for VC-1 decoding, whereas Nvidia cards did not. This changed in October 2008 however, and the 9400 platform the Ion is based on supports this. Incidentally, so do all the new MacBooks, perhaps hinting at a Blu-ray update soon…

We can only hope Nvidia has overcome its ridiculous overscanning issues on HDMI, which have been occurring on and off for around three years now.

Speaking of HDMI, the specs claim “true-fidelity 7.1 audio”, whatever that means, presumably offered over HDMI and optical. There’s no mention of Dolby TrueHD or DTS-HD, so we’ll have to file this one under wait and see.

Presumably it’ll be sold on to partners, which is good, as the reference enclosure is amazingly ugly thanks to the port parade on the front, not to mention the seeming lack of room for internal storage.

Oh my... that is an ugly reference enclosure.

Oh my... that is an ugly reference enclosure.

Thankfully we don’t need much storage, since it’ll be mostly streaming from our file server. In the cases where video won’t stream however, we’ll need to create a local copy. Given that a dual layer Blu-ray disc tips 50GB and we want this thing to be small (and preferably silent), a 64GB SSD looks like the best bet and will set things back around AUD$300. If the wallet is hurting, then a 120GB 2.5″ Samsung mechanical hard drive probably isn’t too bad a compromise at AUD$90.

The Ion supports gigabit ethernet, although technically it doesn’t need it — Blu-ray quality video and audio requires a peak bitrate of 54Mbps, which works out to be 6.75MB/s (for those a little lost here, lower case b represents a bit, while upper case B is a byte. There are eight bits in a byte). Under ideal conditions, 100Mbit is totally capable of this — still, gigabit is prudent should other things need doing over the network simultaneously. While nice, wireless really still can’t be trusted for continuous, strong throughput in a large number of situations.

There will be some screaming about the lack of TV tuner  — Australian TV is still far enough behind the US that downloaded episodes are a much better option, not to mention local content for the most part, isn’t that good. There are exceptions, but if this is the case, you may as well buy the DVD, rip it to the media server for safety so the disc doesn’t get damaged, and stream anyway.

Finally, we’ll need to put a Blu-ray reader somewhere in the circuit — although despite showing up at CeBIT in March 2007, slim slot loading drives appear to be only in the US and UK at this point in time, and fetch a healthy price of USD$300 on eBay.

Of course, all of this could be completely moot should Apple actually update its Mac Mini line next week — if the thing is silent I’d happily lay down some cash for both an attractive case with powerful insides.

The Software

Love it or loathe it, Windows Media Centre on Vista is reasonably good these days. Still, it’s not a patch on the original XBMC for usability.

XBMC has its own problems though since it left the land of Xbox. It’s in the throws of porting to Linux, although Windows and Mac ports exist as well. It looks like no GPU acceleration is currently present for video, unless the inbuilt libavcodec will offload to DXVA under Windows (or Media Player Classic Home Cinema can be shoehorned in, and even that may have compatibility issues with DXVA supported VC-1 on the Ion platform). The picture in Linux looks bleaker. Otherwise, we’re talking an unhappy CPU.

Evidence online also points to it lacking Dolby TrueHD and DTS-HD support (this will likely make the next release, although bitstream support will require quite new hardware), but most importantly, it also won’t touch Blu-ray. This is more than just overcoming DRM,  XBMC may not even understand the structure of a Blu-ray disc, requiring an external application to be loaded, as far as I can tell a feature not yet supported.

In short, there’s some work to be done yet.

There is one other option in the mean time. I’ve heard MediaPortal has made great strides since I last investigated it in 2004, where it was flaky, but promising. This, along with the file server, will be a mighty experiment.

Building a file server: an exercise in compromise

December 23rd, 2008

If you want to build a moderately high end file server (at the consumer level, anyway), the path is fraught with with a number of traps.

It’s also quite costly if you want a system that will suffer minimal downtime, require little attention after setting up, and has a decent amount of longevity built in.

I recently acquired the gorgeous Chenbro RM41416B, complete with SATA backplane, slim DVD drive and triple redundant PSU from eBay. The slim DVD drive was IDE — a potential problem — but otherwise this thing reaches perfection for the home enthusiast, happily taking either ATX or eATX boards.

The Chenbro RM41416B

The Chenbro RM41416B

File and Operating Systems

We have a few issues though.

For a start, RAID 5 is not enough — firstly because a one disk redundancy is too little (I have been burned before, losing a stack of data with a simultaneous double hard drive failure); and secondly, because of the RAID 5 write hole.

The solutions aren’t many. There’s RAID 6, which allows two hard drives to fail before things go pear-shaped, but still suffers from write hole issues. Hardware RAID is expensive and often proprietary, while NAS’ are great but often invoke the same proprietary issues. And both are subject to single-point-of-failure with the potential of not being able to recover your data should identical replacement hardware not be available.

The answer is clearly in software, and in this case the saviour is the Zetabyte File System (ZFS).

ZFS is the brainchild of Sun, the company whose name several people curse for the existence of Java, which first slowed down our PCs, and is now busy slowing down phones. Despite this blight, Sun has managed to end up with a few nifty things that make up for it, including ZFS. It’s created quite a stir online, and can be found in Solaris, FreeBSD, and soon Apple OSX Server 10.6 (which may be runnable on PC, assuming some wizardry can be performed). OSX 10.6 is slated for around July 2009, although if we’re lucky, it might come sooner. There are two things appealing to me in ZFS: it avoids the RAID write hole by checksumming everything, and can create Snapshots amazingly quickly based on diffs (that is, an initial snapshot of a file will take up zero space, as the file changes, more information will be added to the snapshot so it can revert it to the original file). So it looks like RAIDZ2, the ZFS equivalent of RAID6, is the order of the day.

I haven’t used FreeBSD before (and hence this may be unfounded), but I’m a little nervous about the quality of the implementation of ZFS. It would make more sense to use OpenSolaris, being Sun’s OS, however the Hardware Compatibility List (HCL) is, well, not very complete, and learning Solaris after coming from a Linux background is like the death of a thousand cuts — just trying to install Nano or FlashPlayer for FireFox gave me a headache. It also has nowhere near the package management ease of Ubuntu, but don’t expect that to get usable ZFS any time soon due to ridiculous posturing. Finally there’s Nexenta, which promises everything and more, but something about that makes me nervous as well.

Resolution: Use OpenSolaris with ZFS, and attempt to get a whole bunch of Intel based hardware on the basis that it should be (gulp) supported.

Cost: AUD$0

Hard Drives

For expansion’s sake, 1TB 7,200RPM hard drives are the order of the day, each costing around AUD$175. Slightly out of my control, I came into possession of five Western Digital RE3 1TB hard drives, all from the same batch. Ideally there shouldn’t be hard drives from the one batch in the one array, as they’re likely to fail at the same time — however it’s also hard to ignore free TBs.

It's hard to ignore free TBs, even if they're in the same batch.

It's hard to ignore free TBs, even if they're in the same batch.

I’d like to set up two arrays of eight drives, the first array as quickly as possible (as free space is waning), the second over a number of months. This means that for the first array, I don’t have time to purchase and manually age hard drives in an attempt to get different batches. There’s a few ways around this: buy different models and brands (of which there are a finite number), or buy from different stores and hope they have different batches. I’m opting for the first, while considering the RE3s, and playing to RAIDZ2′s tolerances.

The proposed arrays then, are as follows:

Array 1:

  1. Western Digital RE3
  2. Western Digital RE3
  3. Seagate Barracuda 7200.11 (Older batch)
  4. Seagate Barracuda 7200.11 (Newer batch)
  5. Samsung F1
  6. Western Digital WD10EADS
  7. Western Digital WD1001FALS
  8. Western Digital RE3 (Hot Spare)

Array 2

  1. Western Digital RE3
  2. Western Digital RE3
  3. Samsung F1
  4. Seagate Barracuda 7200.11
  5. Samsung F1
  6. Western Digital WD10EADS
  7. Western Digital WD1001FALS
  8. Seagate Barracude 7200.11 (Hot Spare)

Hitachi’s and other server grade hard drives are sadly just too expensive. Another option would be to set up three arrays of five drives — this would minimise having to use similar drives in each, and in the event of catastrophic failure would mean the loss of 3TB of usable data versus 5TB. Still in terms of balance, I believe the two array options is superior. From what I read, the Hot Spares can be shared between pools as well, which would add another level of safety.

Resolution: Kit out Array 1 first, then slowly acquire the drives for Array 2.

Cost: AUD$1,750 over multiple months (not including the six drives already owned)

Motherboards and Storage Controllers

The Chenbro chassis features 16 hot-swappable 3.5″ bays, along with a 5.25″ bay, a 3.5″ internal and floppy bay, and a slimline DVD bay. Acquiring a motherboard with a suitable number of SATA ports to do the case justice  is a pointless task — most with beyond six feature a controller that is not well supported outside of Windows (like the annoyingly prevalent JMicron JMB363, although JMicron has claimed increased compatibility of late), and those that exceed eight tend to use a chip to mirror two of the ports.

Ah, so that's the sound of one pain clapping.

Ah, so that's the sound of one pain clapping.

Since Intel dropped support for IDE from its chipsets, vendors are using third party chipsets (yep, that dastardly JMB363 again) to do the job, making IDE pointless to use outside of Windows, which increases our need for SATA ports once more. So it’s time to look at controllers.

For a start, PCI is out. PCI uses a shared bus of 133MB/s, and our array of hard drives will punish it way beyond its capabilities. PCI-X is also out — while it’s theoretically capable of just over a GB/s (64-bit @ 133MHz = 1,064MB/s), we may as well use the significantly faster PCI Express (PCI-E), which can handle a nice bidirectional 250MB/s per lane.

Taking into account that a 1TB hard drive can reach around 130MB/s average read, bundling two ports per PCI-E lane isn’t too terrible a thing to do. It’s not optimal for future expansion should things get faster (as SSDs already are), but it does save on cost — and we’re essentially only crippling internal speeds, as external to the box we’ll be limited to gigabit ethernet anyway.

Thing is, getting a controller with eight or more ports without a RAID engine (as we don’t need one, thanks to ZFS) is next to impossible, driving up the cost considerably.  One thing that is certain, at this number of drives you’re getting a Serial Attached SCSI (SAS) or Mini-SAS controller, with a set of breakout cables. Typically a breakout cable will fan out to four SATA connectors, and a SAS based card will work with SATA drives just fine.

Intel makes something that’s close, but it’s sold in batches of five and seems to only be overseas. The next sensible option seems to be some second hand HP SmartArray P400s, which do have OpenSolaris support, and go for around AUD$350 at either Systemax or GraysOnline.

This is where we run into issues with the motherboard again — in that to use two P400s, you need two PCI-E 8x slots, wiping out any chance of using a PCI-E graphics card. Even the fancy boards with three PCI-E x16 ports are crippled — while they’re all certainly the right length, electrically it’s only a pair of 16x and one 4x.

You could get a PCI video card, but at this stage it’s a choice of two evils — Nvidia’s FX5200 (which has known problems in Windows displaying widescreen resolutions like 1,680×1,050 over DVI), or ATI’s Radeon 9250 (and ATI’s drivers equal pain in the Linux world, let alone Solaris).

So it’s here you start thinking about server boards with integrated video like Tyan’s i5400PL and adding in an eight port controller card, and weighing it against the cost of getting a standard board with a HighPoint RocketRaid 2340. Of course Sun’s HCL isn’t particularly helpful in mentioning support for either the XGI Z9S GPU on the Tyan, or the HighPoint card (although HighPoint cites FreeBSD support and offers an open source Linux driver, which is a good start). The Adaptec 31605 is on the HCL, but costs around AUD$600 more.

Resolution: To test JMB363 usability and speed in Solaris before committing further.

Cost: Undetermined

Networking

Most chipsets on motherboards these days use CPU cycles to run themselves effectively. To this end, a dedicated Intel PCI-E network card may provide increased performance — it would also be interesting to see the effect of teaming/bonding across multiple ports, and where the performance ceiling is. Mind you, this once again falls into the trap of not having enough PCI-E lanes on a motherboard to support a controller, video card and whatever else may be included.

It looks sexy, but is the extra performance worth the cost?

It looks sexy, but is the extra performance worth the cost?

Resolution: Acquire some Intel cards and do performance testing.

Cost: Undetermined.

Memory and CPUs

For the sake of education, I’d like to run a virtualised copy of Windows Server 2008 on top of Solaris. To this end, I figure 4GB RAM should be enough for now — as to whether I can get away with unbuffered DIMMs depends on the motherboard employed.

From the CPU side, it’s quad core all the way. Thanks to our friends at SpeedLabs, we know that ZFS is multithreaded, and loves on-die cache — although it would be fascinating to see the exact scalability of this during a RAID rebuild or file operations. With this in mind we’ll either end up with a Socket 771 Xeon 5405, or Socket 775 Core 2 Quad Q9550, as both feature 12MB of L2 cache. The cheaper Core 2 Quad 9450 sadly seems to not exist in stock in this country.

Resolution: Figure out motherboard first.

Cost: Undetermined.