We (my friend Rob Matthews and I) decided to install Ubuntu desktop edition on the NAS. I lobbied for the server edition, but he overruled me (how did he do that when it was my machine?). I suppose he’s right. It doesn’t add much overhead and there’s plenty of space on the boot drive (an old first gen Intel SSD I had laying around).
Data Storage
So we installed Ubuntu. It came right up. There were no driver or display issues. Everything just worked. Next we plugged in the already physically installed platter hard drives. I have three 2Tb Hitachi Coolspin drives. Again, no problems. I’ve debated long and hard about how to configure these drives. I simply don’t need the speed of an expensive hardware RAID solution. Software OS RAID like mdadm is fine, but I’m a little leery about the not being able to read my drive one’s it’s out of that RAID environment. I know there are ways around that, but seeing as how I don’t actually need the throughput that such a configuration might provide, it’s hard to justify the potential drawbacks. You can tell by the fact that I’ve installed Ubuntu that I’ve already rejected NAS-as-the-system solutions like FreeNAS or Unraid. I actually like Unraid quite a bit, but I want an easy to configure and well documented server environment as well as a NAS for this machine. This leads to me to what I ended up trying: FlexRAID.
Although this was all a little fuzzy when I started out, I now understand FlexRAID consists of two major pieces. One is for data protection, and the other is for data access. The data protection part is what they refer to in the documentation as the “RAID” part. In my case, this meant setting up two of my drives as data drives and the other as a parity drive. FlaexRAID software is really quite simple in concept. The data protection piece isn’t a wrapper that you go through to access your data. It simply protects your data using one of several engines. You can still access your data just like you would if FlexRAID weren’t installed and running at all. All in all, the data protection side of FlexRAID was pretty very easy to setup. We’ll see how it works in the long run, but I see no reason why it shouldn’t perform as expected.
The other part of FlexRAID is data access. It will create what it calls “Storage Pools” and allow you to access your various data stores as one large store. I had a few problems with this. Setting it up was, again, quite easy, but as is sometimes the case on Linux, the file and directory permissions became a bugger. I never could get it working the way I wanted. fortunately, getting this working was far less important than the protection side, so I just left a message on their forums asking for advice and moved on.
Helper Apps
I decided to setup Sickbeard and SABnzbd as companions to my normal Dish Network PVR. I’m not going to go into a lot of detail, but these apps are used for downloading TV shows from the internet. While I have no intention of using XBMC as a my main PVR, there are a number of times when I would like to be recording three things at once but my Dish PVR only allows for two. Sickbeard and SABnzbd will allow me to supplement my normal PVR during those occasions. These apps were surprisingly easy to setup and they seem to work well.
Samba
Ahh Samba. My old nemesis returns. Damn you!!
Now that I’ve got that out of my system. Obviously a NAS is intended to store data that is will be used by other computers on the network, so there has to be a way for it to share that data. I love NFS. Seriously. Love it. It’s easy, fast, and super, super simple to setup between *nix systems, but most of the clients that would be reading and writing to the NAS would be Windows machines. There are some Windows NFS clients but they’re clunky and awkward at best. This all leads to Samba, the Linux software for creating and accessing SMB (i.e. Windows) data share . Sometimes is a treat. There have been times when I’ve set it up and slam, bam, thank you ma’am, I’m done and good in 10 minutes. But there are also times, and this was one of them, where it is a multi-day struggle.
My needs were simple, or so I thought. This NAS is on my local home network. Frankly, I’m the only one who’s going to be using it. I wanted it readable and writable with no password. Simple, right? Yeah.
I started with the GUI based configuration tools. I was curious as to how well these had progressed since the last time I tried them. Unfortunately, they seemed to be a pretty thin veneer over the normal Samba configuration options. That’s actually ok, but in my case, I ran into an error almost immediately. I didn’t spend much time looking into it; I just jumped directly to /etc/samba.smb.conf.
I followed the guides that should have allowed me to do what I wanted, but none worked. I could create shares, but the only way I could access them from other systems was to set them as password protected. I almost just gave up and went with this, and I would have except that Windows has the most annoying behaviors when dealing with password protected Samba shares. It constantly asks for the usernames and passwords even if you tell it save them and even when you submit the correct information, it doesn’t accept it and keeps popping up the username/password box. If you cancel the box you can access the drive because the username and password you submitted the first time was correct.
Anyway, after messing with this for two evenings in a row, I reset my smb.conf back to it’s default state and tried again with the GUI. This time I dug in a little more when I got the error. I wish I could remember it so that I could document it in case someone else hits it. The error was nonsesical. Surprise, surprise. I finally found a post on the Ubuntu forums where someone mentioned that, for whatever reason, changing “encrypt password = no” to “encrypt passwords = yes” or just commenting out that line in the smb.conf somehow cleared up the error for them. This was a crazy suggestion because the the error seemed to have absolutely NOTHING to do with this, and the poster in the forums even acknowledged the craziness of it, but sure enough, it worked! I could now share my data drives clear and clean with no password.
With the exception of Samba, setting up the NAS was straightforward. Despite my minor troubles with the Storage Pool feature of FlexRAID, I’m quite pleased with it as a data protection solution. It’s simple. I could, if needed, removed the drives from the NAS machine and they would be completely usable and readable anywhere else. It’s pretty much exactly what I was looking for.
I have a couple of 10/100 switches on my network, but the three machines that will be most involved in heavy reading and writing to and from this NAS are all on 1Gb lines and it shows. My buddy also has an HTPC setup (no NAS) and he uses FTP to move files from his main computer to his HTPC and I wasn’t too thrilled with the speeds; about 20Mb/s as reported by his FTP app. I’m getting about 80Mb/s with the NAS sharing my two data drives over SMB.
Next up, the (still ongoing) setup of XBMC on the client machine.