My NAS Part 03: Do, Did, Done.

So, my NAS is up and running. It’s feature- and hardware-complete and I’m loving it.

The Fujitsu-Siemens SAS controller worked out of the box (as predicted) and wasn’t castrated to only operate on FSC boards (nice!). The only thing I could moan about is the slot card… I had to lose one screw in order to make it fit into the PCIe slot… who cares.

Enabling SSH in a Nexenta zone can be bitchy, this should do the trick…
Add the following line to /lib/svc/method/svc-syseventd:

[ `zonename` = global ] || sleep 3600 & exit 0

Do a “dpkg-reconfigure sunwcsd” and “svccfg import /var/svc/manifest/system/sysevent.xml”. After that you should be able to enable ssh through svcadm.

Installing Java is easier, fortunately. Although aptitude install sun-java6-bin will fail, the following will work:

$ su –
# export SUN_PERSONALITY=1
# aptitude install nevada-compat
# aptitude install sun-java6-bin
# exit

Overall, there’s a little bit of tweaking necessary to get through some pitfalls of Nexenta, but it is definitively worth it.

My NAS Part 02 – It’s coming together

This series of posts will follow along as I build my very own NAS. In this second part I’ll talk about the user experience of some of the basic hardware with Linux/Solaris.

So, I’ve finally added the missing pieces, namely mainboard, memory and a CPU. I opted for an Asus P5N64 WS Professional mainboard (mainly because nForce is reasonably well supported on Solaris), some Corsair 1333MHz DDR3 RAM and an Intel Q8200 CPU. Assembling everything was no problem – and much to my rejoice the operating system didn’t make a fuss either! Currently the machine still runs the old Linux installation with Nexenta Core Platform on another disk.

Sure, I had to do some handywork before network was back: On Linux I had to force a load of forcedeth and reconfigure my interfaces through /etc/network/interfaces and added bonding. Still, not much to do, all drivers present without binkering.

Solaris didn’t play so nice in the beginning, for some reason I had to plug-in both ethernet cables in order to complete the boot. After that I simply unplumbed the interfaces, disabled nwam through svcadm, enabled physical through svcadm (allowing me to manually configure the interfaces) and finally bonded/aggregated the interfaces through dladm. I do have to say that I like the way Solaris allows configuration of network interfaces way better than the standard Linux method (mainly: fire up vim and edit everything). The nice thing: I really didn’t have to install/download/compile anything, Solaris came loaded with all necessary drivers.

Now, the good news is that all the important components (SAS controller, SATA controller, ethernet, PCI and PCI-e bridges) work fine on Linux and Solaris. Bad news: I didn’t get to test wireless LAN and sound yet, that’s not really the purpose of that machine 🙂 .

So, what’s the verdict on the P5N64 WS Pro in terms of non-Windows compatibility? It’s great, the board comes with 3 PCI-e 16x ports, 2 gigabit ethernet ports (Marvell), 2x eSATA and — much to my rejoice — a BIOS debugger. There is 1 PCI slot for your old stuff (in my case, maybe an old IDE controller or TV card) and 1 pinset for front-panel USB. A COM port slot is included in the package, which is a welcome addition. As usual Asus delivers a lot of stuff with the mainboard, unfortunately they didn’t provide a CD-ROM to restore the BIOS (AMI BIOS; which I had to do already…).

Next week I’ll plug-in the PCI-e SAS controller from Fujitsu-Siemens (which is based on LSI’s SAS1068) and get going with my JBODs 🙂 .

Find and Mount

Sometimes it just happens: Partition layouts break due to user mistakes or software/operating system errors. You’re quite lucky if your partition table just gets a tabula rasa because this means you can still recover most of your old files and directories, even their names could still be intact. A great tool to do that is Partition Find and Mount. Find and Mount is free for personal use but has a few limitations: You can only access one file at the time and the throughput is limited to 500KB/s which is still plenty if you’re just curious whether you could restore file XYZ. There’s also a professional version that doesn’t have any throughput limitations but also only accesses one file at the time. One thing I really like about this software is it’s ease of use. You just specify the disk, run a more-or-less quick scan (there are several levels available) and bam, you’re able to mount the partition and browse through your files (or what’s left of them). It’s so dead simple, you can hardly go wrong. Other products like Active@ Partition Recovery aren’t bad but way slower and harder to use — at least in my simple case.

My take on nVidia’s VDPAU

Modern HD content devours a plethora of performance. My CPU spikes at 100% whenever I watch 1080p content, leading to framedrops and stuttering audio on my Linux machine. I never really understood exactly why the same video would work on my much weaker notebook. Now the times of suffering are over, enter VDPAU.

VDPAU is nVidia’s answer to AMD’s XvBA, both representing APIs to succeed the XvMC fame of decoding video material directly on the GPU – but this time not limited to MPEG2.

For this very reason I had to switch my graphic cards. I previously used a EVGA GeForce 8800 GTS/640, one of the older models of the series. Now I’m flying on a brand new EVGA GeForce 9800 GT which is basically the very same card but with a newer chip.

The performance gain is tremendous, the CPU usage fell from 100% to 1.9%!

You can force mplayer to prefer vdpau’d codecs by adding the following lines to your ~/.mplayer/config:

vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau,

This will use VDPAU and it’s codecs when possible and fall back on autodetect in all other cases.

All you need to get started with this great feature is a VDPAU patch, the newest nVidia driver and a supported card. Try it, it’s absolutely fantastic 🙂 .

My NAS Part 01 – Cooking something up

This series of posts will follow along as I build my very own NAS. In this first part I’ll talk about some of the things that happened up to this point.

As clever readers of my blog probably noticed already — I like NAS systems. I was so fond of them, that my first post in 2008 basically said “I’m going to build one”. Now, one year later it’s slowly coming along.

I tested some basic hardware components over the last few weeks and received the case I opted for today. The case itself is a Sharkoon Rebel12 Value Edition, a relatively cheap, big case for ATX boards. It features a large number of 5.25″ bays, so there’s a lot of room for expansion — or is there? Unfortunately Sharkoon had to place steel guides at each bay, normally not a problem if you just want to insert a CD-ROM or DVD drive. But for a SATA backplane module, this easily becomes a lot of hassle.

I ended up cutting the steel guides with a hacksaw since I won’t need them anyway and trying to bend them was a phenomenal waste of time. Now the backplane fits perfectly into the case (just as intended) and I’ve thrown the ol’ hardware from my small fileserver into the new case to test it. I’m quite pleased up to this point, although my hands are incredibly sore now.

There is plenty of room in the case, making the mounting of the mainboard a breeze. The PSU goes in the bottom of the case, a strange decision but makes changing the darn thing very easy, so it is highly appreciated.

The only thing I will probably have to change is the front-panel fan: It blocks 3 bays – way too much. As soon as I receive the Scythe fan I ordered for the back of the machine, I’ll give this a try. The SATA backplanes do have fans as well, so I hope ventilation won’t be that much of a problem.

Next week I’ll mount the second and third backplane into the machine — unfortunately I won’t be able to use them, though. As long as I miss the new mainboard, CPU and SATA controller there’s only two SATA ports onboard. But oh well, the hardware does come from an old machine, so I’m thankful it does work after all that hack and slash I did to the case and it’s hardware.

Pictures will follow!

Howto: Run Vector Magic Desktop Edition with Wine

Vector Magic is pretty cool. I loved the project back in the days when everyone could use it for free and was happy to see that they started providing a desktop client after going commercial. Even better: The client is utilizing Qt so we have a Windows and a Mac version. But nothing for Linux.

Don’t fret, of course you can run this application with Wine:
The only thing to notice here is that you need to set your Windows version to Windows 98, otherwise the application will always go haywire when loading a picture.

vectormagicwine

All features are working perfectly, no native DLLs needed.

Howto: Fix Wuala’s Copy & Paste on Linux

If you’re using a recent KDE version you’ll notice that Wuala’s Copy & Paste feature doesn’t really seem to work anymore. Instead of using the contents you specify within the application (say, files and folders) it’ll always use the contents of Klipper.

That’s pretty annoying if you don’t know that the contents does indeed come from Klipper. So, just clear your Klipper history and you should be fine.

Wuala Web Downloads

Wow, now that’s quite an update. Now you can download public files as well as password-protected files from the web. Share all your stuff with friends around the world in a safe, quick way. Great stuff that makes Wuala even better 🙂 .

Of course, that means you can download the API wrapper straight from the web as well and don’t have to mangle around with subversion anymore 😉 .

Using the Wuala API .net wrapper for quick in-folder search

An interesting question that came up to me was how to implement a quick, efficient in-folder search engine with the .net wrapper. Of course, by it’s nature this isn’t a given feature and because you’d have to enumerate through all the subfolders.

But the question tips of another aspect: LINQ in combination with the wrapper.

As the entire assembly is written with extendability in mind, let me say: Yes, you can easily use LINQ with the wrapper:

var allfiles = WualaFile.GetFileList(
"//wuala.com/Creative+Commons/Chaos+Computer+Club/Chaosradio+Express", true, false);

var files = allfiles.Items
            .Where(f => f.Name.Contains("09"))
            .OrderBy(f => f.Url);

foreach(var file in files)
{
   Console.WriteLine(""{0}"", file.Name);
}

Console.ReadKey();

If you want to build an in-folder search that also cares about subfolders though, recursively get the files from the folders, add them to a global index, run LINQ queries over it and export the Url of the result files back in. Easy as that.

Fixing mouse issues with VirtualPC -> VMware images

Microsoft often delivers free-to-test disk images of their products (like, for instance, the new Visual Studio 2010 CTP). These images are – who would have expected that? – in Microsoft’s own VirtualPC format. Luckily, the specs for the disk format are available and you can use the VMware Converter to just convert it into a vmdk (or use it directly, which I can’t really recommend).

Upon installing the VMware Tools, though, you’ll notice that the mouse gets stuck in the lower right corner of the screen if you didn’t remove the VirtualPC tools beforehand. Quite annoying, isn’t it? This comment describes how to solve the problem:

  • Fire up regedit, navigate to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetContro lClass.
  • Within the keys under Class look for a value named UpperFilters, containing the value “msvmmouf”.
  • Remove “msvmmouf” from the value and reboot your VM.

Nifty.

Visual Studio 2008 Essentials

Despite all my bickering, Visual Studio 2008 is great. It was well worth the money to upgrade.

There are a few things missing from the Professional version, though. The lack of a powerful profiler for everyone still makes me shake my head but I’m using Red Gate’s ANTS profiler anyway, so who cares.

Let’s talk about some updates, add-ins and extras you should definetively try…

  • Visual Studio 2008 and .NET 3.5 Service Pack 1
    This service pack adds a plethora of new features, enhancements and bug fixes and should be installed right away. Data scaffolding, new WinForms controls, an entire new data modelling framework, countless WPF enhancements… you name it, it’s probably in the SP already.
  • PowerCommands for Visual Studio 2008
    This package contains numerous nifty functions that’ll improve your sourcecode and workflow. Remove unnecessary usings, open command prompts on the fly, way better undo… just read about the features on the homepage and try it, you won’t regret it.
  • AnkhSVN
    I don’t like SourceSafe. For it’s requirements it gives back very little. In comparison Subversion performs great: You don’t need a server or anything, just create a repository on your local disk, check in your files and start branching, merging and keeping book of your changes. And best of it all: It’s free. Now, that’s where AnkhSVN comes into play – it adds TortoiseSVN’s power into Visual Studio. Don’t know how I worked without this.

So, what’s missing on this list? Let me know 🙂 .

GTA IV for PC

I think I just spent more time in Windows than the last 2 years together. GTA IV is fun, easy as that.

I don’t know why people keep nagging at the game, it’s great and just what I’d expect of a new title of the franchise.

The only thing I can really get mad about are the horrible DRM-esque copy protection, the need to register at least 2 accounts (1x Rockstar Social, 1x Windows Live) and the massive memory leak that brings down the performance after a few hours of play.

So, come on Rockstar… Instead of spending thousands and thousands of dollars to keep the game copy-protected, spend a few thousands on debugging the PC version – for Pete’s sake. It really isn’t funny and the fact that the game doesn’t even start with ATi graphic cards is… ok, that’s to be expected 😉 .