Low Cost Cluster Storage for Windows Server 2008

Since the release of Windows Server 2008, there has been no way to build a cluster without purchasing dedicated, proprietary storage (such as an array from HP, Dell, EMC or NetApp, to name just a few). There are open source storage platforms like OpenFiler and FreeNAS; there is an iSCSI target in almost any Linux and BSD platform. Until very recently, none of these have passed the cluster storage tests that Windows 2008 executes before forming the cluster.

Without passing those tests, the cluster cannot be formed at all - and the culprit is normally the "SCSI-3 Persistent Reservation" tests, without which the cluster cannot operate (because it cannot guarantee that the disks are owned by only a single node at a time).

The forums for OpenFiler, OpenSolaris, FreeNAS, BSD and Linux distributions seem to be full of requests for the iSCSI targets to support Windows Server 2008 clustering (and also enable Solaris and OpenSolaris clustering). OpenFiler has been developing the feature, but the latest news I found is that they will be making it a premium (ie paid) feature. OpenSolaris has claimed to have support for months, but I was unable to make it work (despite updating the system past the build number in which support was added, snv_115).

And finally, today, I noticed that FreeNAS has released a new beta build, 0.7 RC1; and one of the key features is that it supports SCSI-3 Persistent Reservations.

I had to try it.

I set up a Hyper-V server (a Dell 2900 with 4GB of RAM and a 500GB RAID 10 set for VMs).

Then, I set up 3 VMs. Here's the plan for what it will look like, if it all works:



First I created a FreeNAS VM. 512MB of RAM, two CPUs, two legacy NICs (as FreeBSD does not yet support the Hyper-V extensions), a 1GB VHD for the "system" and a DVD-ROM drive from which to install. The installation was painless - two or three questions and it's done. Setting up the networks was confusing for a moment - the UI changes the text without highlighting the changes, so it took a few goes to sort it all out. I assigned a public IP to the public NIC and a private IP to the NIC on a new private network for iSCSI.

Then I deployed two Windows Server 2008 R2 Enterprise Edition hosts (the RC). Each has two legacy NICs with the same configuration (one public, one iSCSI). I configured IP addresses and ensured I could ping everything on both networks, then installed the File Server role and the Failover Cluster feature.

While they installed I switched back to configuring FreeNAS. I removed the DVD-ROM drive and added three new 128GB disks on the 3 available IDE controller slots. Then I loaded the FreeNAS config page and configured a RAIDZ1 (RAID 5 ZFS) device, a ZFS Pool using the device, a Portal group, an Initiator group and three extents, each of which provides a single iSCSI target (Quorum, File Server 1 and File Server 2). It sounds like a lot of work but it took less than 15 minutes.

Finally I was ready to connect the drives and hopefully build a cluster. On each server I connected the iSCSI targets, one at a time. On node 2 I brought each device online, initialized the disk and created a simple volume, assigning drive letters as needed. Then after taking the drives offline, I replicated the drive letter assignments on node 1.

With all those steps completed, the Failover Cluster Wizard can run. Normally the storage tests fail after a few moments, but in the FreeNAS case they succeeded - I have a working, validated file server cluster using free software for the storage and Windows 2008 Enterprise for the compute power.

The proof, as they say, is in the image:

Now you probably won't want to use this for a critical production system - FreeNAS is after all beta software. But for your lab environments, or running up a virtual cluster; this might just fit the bill perfectly.

Posted by davidr with 1 comment(s)
Filed under:

Replacing the Windows 7 Network Indicator

One of the things missing from Windows 7 is the network activity indicator in the system tray. It's been replaced with a static icon, supposedly to reduce power consumption on laptops and reduce visual clutter.

I'm not sure I believe the first reason, and the second is invalid because it could be left disabled as it was by default in Windows Vista.

Nevertheless, I've written a tiny .NET replacement for the icon. It's not identical - it's more visual than the original icons. It's also configurable so that the two indicators can show disk or disk activity instead of the network, or show error-type conditions - for example, show the light if the CPU is running at more than 95%.

The download is attached to this post - it's a small MSI. It's really an early beta version, but seems to run OK on my Windows 7 workstation and on the Vista development workstation I built it on.

Please post any bugs in the comments!

Posted by davidr with 2 comment(s)

VMWare Workstation and Windows 7

I've been having weird connectivity issues with Windows 7 and VMWare Workstation 6.5.2. None of the networking "really" worked, even in bridged mode - nslookup worked, ping worked, but anything using TCP did not (http, ftp and so forth).

Quick Fix for Bridge mode at least: An Inbound firewall rule that permits the VMWare worker application to send and receive all traffic.

Open Windows Firewall with Advanced Security. Right-click on Inbound Rules and choose New Rule:

Ensure Create a Program Rule is selected , and click Next:

Enter the path to the VMWare worker process, vmware-vmx.exe. I'm running Windows 7 x64, so for me it was C:\Program Files (x86)\VMWare\VMWare Workstation\x64\vmware-vmx.exe - yours may be different;  then click Next:

Accept the default values for the Action and Profile pages, and click Next:

Enter a name and an optional description for the rule, and click Finish:

Locate the rule, right-click it and choose Properties. Select the Advanced tab and change the Edge Traversal setting to Allow Edge Traversal:

That's it - networking should work a lot better now.

Posted by davidr with no comments

Windows Mobile 6.1 and Australian DST

I have an HTC Touch Pro. Runs Windows Mobile 6.1 - and I'm really happy with the device. Unfortunately WinMo 6 timezone definitions do not include the right settings for Australia - we changed the start dates and end dates a while back.

I couldn't find a suitable download from Microsoft to fix the timezones, but I did find a TimeZone Editor on MobilitySite. If you're a Firefox user you'll need to allow scripting to be able to download the ZIP file (I've also attached it below - it is not my work but that of "Galina" in New Zealand).

Five steps required:

  1. Run the application (extract it to your storage card or \Program Files or similar)
  2. Action --> Get Current
  3. Change the start and end date rules (not intuitive). I think "5 Sunday" means last Sunday of the month
  4. Action --> Set Current
  5. Restart the phone.

That last one was the most annoying - I spent ages trying to figure out why the change had not worked.

Posted by davidr with no comments
Filed under:

Australian BlackList released to the world

Well, no surprises there. The Australian list of blocked sites is supposedly now in the wild - and all reports I've seen thus far indicate it's correct, at least for the most part.

ACMA has come down pretty hard on sites linking to blocked material and since the list is sure to contain at least one site that really IS on the list, I can't in good conscience link to the leaked list.

But I'm thinking that if you searched Google for it, you'd find it on a community edited site (a wiki) containing government and corporate leaks. Possibly even run by a non-profit org.

As before, my key concerns are that there's no way to request that you be removed from the list, and that the list contains sites that are, at least at this moment in time, NOT illegal, X rated or R rated. Many of the sites apparently link to dead pages or items, and thus return 404's. Others seem to be miscategorized - a dentist, a tourist operator.

References: OCAU, Sydney Morning Herald, The Australian, WhirlPool.

More Posts Next page »