For the past several years I've been having a personal experience of the movie "Groundhog Day", only it happens every year when I go to visit my accountant. It would go something like this:

Me: So are you still using that Linux file server, which requries you to create your own batch files that copy and zip all your data every night to backup, with every workstation having a different A/V client and no integrated e-mail?

Him: Yup.

Me: We ever going to get you upgraded to Small Business Server?

Him: Yup - we should do that someday. So hey, about those W-4s...

Lather, Rinse, Repeat.

Don't get me wrong, my accountant is a super-nice guy, who got his network setup by a family member who was rather anti-MSFT, and so came up with all these weird configurations that just boggled my mind when he described them. And since no one was really looking after things, it was obvious that they were more at risk from things like unpatched vulnerabilities and viruses than were supposedly "fixed" by not using a Windows Server.

Finally this year I convinced him to let me help him upgrade his server and network. I decided I would use this as a great opportunity to learn how our partners sell, install, and maintain their customer networks, so I'm doing it as if I was my own partner. Man, am I learning a lot. Expect a running commentary here as I describe my experiences.

Step 1: Understand customer needs

We sat down and talked about everything they used on their network, along with his best understanding of their current hardware, software, and network setup. Then we talked about what could be better/easier. Here I came to my first epiphany (which I actually "knew" but grokking it for yourself is very illuminating).

Epiphany 1: The small business does not know how their own technology is limiting them. They won't be able to tell you what they want to do better or different, because they don't even know how good/bad what they have is. You have to understand their business workflow and suggest possible improvements for them, at which point they light up and go "You can do that?".

Example of epiphany 1: My accountant was explaining how they kept a record of customer data in an Excel spreadsheet that everyone edited. But they had to be careful not to reset the ordering of the spreadsheet, since there were thousands of columns of data, so they always made a backup copy before making any edits. But what if the system kept previous versions for you, every several hours (ala ShadowCopy)? He really went "You can do that? Cool."

But if I had asked him, he never would have said "I wish I didn't have to keep a spare copy of my files in case someone goofs and overwrites all the data." He would never say that because he couldn't risk losing that data, and so it wouldn't occur to him to find a different way to protect it, as he had a system that worked.

So after understanding all of their configuration, I went back and wrote up a record of everything we talked about and I saw on my own (mainly just so I could remember) and came up with a list of recommendations. Most of it was pretty standard Susan Bradley 2x4 recommendations:

  • Upgrade all the PCs to XP with SP2
  • Standardize on a single A/V solution that auto-updates (I recommend AVG, but that's a personal preference)
  • Upgrade server from Linux to SBS

Note that the server was actually my 3rd recommendation, I felt the critical items was getting the workstations secured before we went about adding functionality with a new server.

We went over the recommendations, and his only concern was some ancient application they were using that might not run on XP. We did a trial run with it, and we hit a snag that was probably not XP related, but rather the app stops working if you try to copy it from one PC to another, forcing you to call them and pay them support for a new "activation" code. (And you thought Microsoft activation was bad....?) But since most of the PCs were already XP, we decided to leave the one 98 machine while he investigates possible replacement applications that were XP-compliant.

So we proceeded to Step 2: Upgrade server

We decided to upgrade the server so we could get the benefit of a networked AVG solution (rather than just at the workstation level). He decided to upgrade his hard drives at the same time - his current config was 2 60 GB hard drives striped together. (I won't even tell you what he paid for those 2 drives several years ago, just that there were 4 digits before the decimal, whereas 120 GB hard drives were $80 at Fry's.)

So we got 2 new 120 GB Maxtor HDs, came in on a Sunday afternoon (made sure that all of their data was backed up to a Zip drive overnight) and started the upgrade. Here I came to Epiphany #2:

Epiphany 2: Home-made servers are crap. Not that they don't work well, not that they don't save you money, but if you ever walk into a room with a custom-made server, run away screaming. The money saved at manufacturing time will only come back to bite you when you don't know/remember some config item or requires some upgrade that will take you hours to figure out.

First off, this thing was a beast - a full tower. Second, it had at least 4 fans running it. Yup 4: 1 by the power supply, 1 attached to the hard drives, 1 on the CPU, and one just sitting in the middle blowing air. You'd think it was computing cryptograhic codes for the NSA, rather than literally just being a dumb file server. It made more noise than my college friend's 15 year old Pontiac Sunbird missing its muffler. Third, I had to unscrew at least 10 screws to remove the HDs. Ugh.

Anyway, removed the old hard drives, (being careful to store them in the original electrostatic bags - good move later), added in the new drives, attached the IDE and power cables, rebooted, and watched the BIOS.

System boots, the striping driver sees the drives, so I create a new stripe array, reboot to the SBS CD1, and I'm ready to install when... No drives found? Very weird.

At this point, I spend at least 45 minutes rebooting and trying every BIOS change I can find, resetting cables, changing cables, changing jumpers, even <gasp!> reading the HD manual. Everything is identical to the old config, why the hell isn't this working?

Finally, I submit to the ultimate savior: I search Google. There I quickly realize that this machine is so old, it probably doesn't recognize the new HDs, meaning I need a new BIOS upgrade. So reboot again, get the BIOS manufacturer, another quick Google search takes me to Esupport.com, where they have a very friendly webpage that asks for a few pieces of information, and it implies that an answer is just past the "Submit" button. Enter my info, and I get a page saying "Someone will contact you within 24 hours to help you upgrade your system." This leads us to Epiphany 3:

Epiphany 3: Be prepared. Be really prepared. No really, you think you're prepared, but you're not. Because it'll be a Sunday and if you don't have it there, you're uck-fayed.

I thought I was thinking ahead with extra CDs, network cables, screwdrivers, etc. Hahahahahaha. Silly rabbit, upgrades are for professionals. I realize if I have actually read the threads in discussion groups like microsoft.public.windows.server.sbs or the Yahoo sbs-list group, I would have realized that everyone says to make sure to upgrade your BIOS before changing hardware. Sigh.

So that pretty much ended that endeavor. We pulled out the new drives, put back the old ones, watched it reboot into Linux (man, that hurt), and then made sure the workstations were still able to work. Whereupon we realized that they could not connect to the server, now making me trying to remember my Unix config work from college. Fortunately there was a small admin manual next to the machine, and along with some diagnostic work on my own, managed to figure out I had somehow set the BIOS to not allow Linux to enable the network card, another reboot, and all was well. (Except if anyone can tell me why the shutdown command in Linux doesn't actually shut down the machine - I'd really appreciate an explanation. Apparently it logged me out to single user mode in BASH, but for the life of me I couldn't figure out how to do a safe shutdown without using reboot, and then just powering the machine off once the BIOS screen came up. Very strange.)

So next week we'll be trying the upgrade again, after which I'll be installing AVG and showing them the wonders of ShadowCopy (later we'll get them using Exchange). Along with WSUS, I'm very excited for the future.

I'll have more thoughts on other aspects of the upgrade soon, but now I need to check traffic before heading home.