Monday, January 14, 2008

Windows Home Server

WHS This week I've been at home taking care of my wife after she had a C-section delivery of our new daughter.  In my free time (when she and the kids are sleeping), I've had some time to work on building a Windows Home Server machine.

I had an old Dell Dimension 2100 laying around that a friend gave me when he upgraded that I decided would be sufficient to at least test an install.  Microsoft recommends you use a machine that has at least a P3 1Ghz processor with 512MB of RAM.  My test machine has a 1.1Ghz P4 processor with 512Ghz of RAM so in theory it should work.

Since the computer only had a 40GB hard drive, I decided that I'd go ahead and invest in a 500GB SATA hard drive since I anticipated needing lots of hard drive space.  This is where my first problem was encountered.  The old Dell doesn't have SATA ports, so I invested about $15 in a VIA VT6421A 3-port SATA RAID controller since I've made a personal vow not to invest in any other IDE hard drives.
Then I ran into my next problem.  The installation disks for WHS come on DVDs and the old Dell only had a CD-ROM drive.  So, I temporarily pulled a DVD-ROM drive out of one of my other machines and popped it in the test machine and started the installation.

The install went smooth.  I told it to install to the new drive and it went through its motions for 30 minutes or so while I went and had lunch.  Then I came back and the install wanted me to reboot to continue.  I did and then found my next problem.  The old machine would not boot off the drive on the add-on SATA controller.  This was a real bummer since I really didn't want to have to use any IDE drives, but not a big issue.  My main machine had an extra 250GB drive in it that I wasn't using for anything yet, so I pulled it out and plugged it into the on-board IDE controller and re-installed WHS.  I then added the 500GB drive and expanded the total capacity of the server to about 700GB (who knows where that extra 50GB went...).
I rebooted and the install finished successfully.  It's alive!  So, then I spent a few minutes exploring the WHS Console which is the only obvious difference between WHS and Windows Server 2003.

Then I installed the Connector software on three machines (a Windows MCE 2005 machine, a Windows Vista Ultimate machine, and a Windows XP Pro laptop).  The install sends you through a wizard that lets you configure backups for the machine you are adding to WHS.  On the MCE 2005 machine, I ran into a problem.  When WHS was examining the machine looking for drives to backup, it came back and reported:
“This computer cannot be backed up automatically because it does not have any hard-drive volumes that are configured with the NTFS file system”.
After spending a few hours researching the problem, I finally found a solution that fixed the problem.  It turns out that some third-party software can modify a registry key that WHS uses and the solution is to set this key back to the value that Windows originally sets it to.  The key is:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}\UpperFilters

I set the value to "PartMgr" and rebooted and then the backups were configured without problems.
The initial backups ran fine that night and I was quite impressed by their efficiency.  One machine that had 233GB of used hard drive space backed up to 83GB on the WHS server.

One of the really exciting features of WHS is that it allows you to remotely access all of the computers in your home network from anywhere in the world.  No static IPs are required for any of the machines.  From the WHS console, you setup a name for your network and it gives you an address such as https://thelees.homeserver.com which takes care of monitoring your modems public IP address and sets up a public web site where you can configure WHS and access your shared files.  All of this is controlled through user accounts.

This is where I ran into my next problem.  I use a Linksys firewall router to block all incoming traffic from reaching my computers.  After some research, I learned that I needed to setup port forwarding in my router to my WHS server for ports 80, 443, 3389, and 4125.  The last two are specifically needed for Remote Access while the first two are used to connect to the WHS web site.

Now that I have all the basics working, I'm going to "play" with it for a few weeks and check out some add-ins that are available.  I'll write more on individual features as necessary.  Also, I'm going to start researching some better cases that are more suited to lots of hard drive expansion and a motherboard that supports booting from SATA.

So far, the hardware seems to be plenty powerful to make WHS run like a champ.

Friday, January 4, 2008

Special Delivery

Last night as we were getting things ready to head to the hospital in the morning for the delivery of Elizabeth, I decided that I had to find a better way to let everyone know the details of our special delivery. 

For the delivery of the first two boys we did things the "old fashioned" way and just called people.  This is very time consuming and not really what I wanted to be spending my day doing.  Taking care of my girls being the activity of choice.  This is a relatively inefficient means of getting the job done, plus I wanted to be able to send real-time photos out to our family and friends.

SpecialDeliverySo, I thought about this a little and decided that ultimately the easiest way to get this done had to involve using a camera phone to send TXT & PIX messages.  But, I couldn't just add a bunch of recipients to the message every time I wanted to update people because the camera phone I planned to use would only let me add four recipients and I wanted to get the message out to almost 200 email addresses.

My first proposed solution was to just setup a distribution list (group) called "Baby List" in Gmail with all the intended recipients.   Then I would setup a forwarding rule that would forward any messages that arrived that were sent from the camera phone to my Baby List group.  This is where I ran into the first snag.  It turns out that Gmail will not let you setup a forwarding rule that forwards to a group.  In fact, it will not let you forward to more than one person for a single rule.  I could have setup 200 different rules, but that would have taken longer than just making the calls...

Then I had another idea...  I could use Microsoft Outlook to check my Gmail account using POP3 and setup the rule there.  Outlook will not let you forward to a distribution list, but it will let you attach an almost infinite list of email addresses to the rule as long as they are separated by a semicolon.  So, after doing some data massaging to get a semicolon delimited list of the addresses I had stored in Gmail into my Outlook rule, it was time for a test.

For the first test, I set the rule to just forward back to my Gmail email address.  This way if something didn't work, 200 people didn't know about it ;)  I took a picture with the camera phone and sent it via a PIX message to my Gmail address.  MS Outlook, which was running on my home computer, then picked up the message from Gmail and processed the rule which automatically forwarded it back to my Gmail address.  Success!

Then it was time for the real test...  I put the 200 or so email addresses onto the rule and repeated the test.  I had been concerned about having so many email addresses in one message and it turned out that my concerns were warranted.  The first 50 or so people received the message without any problems and then I got a message back stating that there were "too many recipients". 

Well, the solution to this was easy.  I split the mailing list up into three equal size lists and created three identical forwarding rules but with different distribution lists for each rule.  Problem solved.  Time to get some sleep before the big day.

This solution worked like a charm.  I was able to snap photos of Elizabeth during delivery and instantly forward them out to all my friends and family without ever dialing a single phone number (assuming they were checking their email).

Had I decided to start on a solution to this problem farther in advance, I probably would have written a more robust solution using my PocketPC phone.  But, given the short time constraint that I had to solve this problem I think it worked out pretty good.  If you ever need to solve a similar situation where you need to keep a long list of people notified of an activity in near real-time, give it a try.

Welcome Elizabeth Rose Lee

Today, I saw the third miracle of my life (the first being the birth of Ian, Jr. and the second being the birth of Zander).  We welcomed into the world Elizabeth this morning at 9:41 AM after a Cesarian delivery at the Middle Tennessee Medical Center in Murfreesboro, TN.  She came out proving that she was her momma's girl.  In other words, she came out screaming ;)  She weighs a whopping 6lb 10oz and is 19 1/4" short. 

The boys took right to her.  Jr. can't keep his hands off her and Zander offered up his pacifier.  The most gracious of gifts a big brother can offer.  It appears that I'll have plenty of help fighting the boys off in a few years.

Well, its time to go feed the little one and get a little rest.

Oh, yea, happy 33rd anniversary Pam & Kevin (Rebecca's parents)!

Check out more of Elizabeth's birthday pictures here.