Passed Microsoft Certified Systems Administrator exam 70-292

Phew! That was close. I passed the Managing and Maintaining a Windows Server 2003 Environment for an MCSA Certified on Windows 2000 exam (exam 70-292) yesterday afternoon, but only by the narrowest of margins. Microsoft’s NDA prevents me from commenting on the contents of the exam but after my last Microsoft certification (which was unbelievably simple) this one was much more difficult.

I’m also aiming to take exam 70-296 over the next couple of weeks – to complete the update of my MCSE from 2000 to 2003 before that is retired (and therefore make transitioning to the Windows Server 2008 certifications a little more straightforward).

I guess administration is not something I do a huge amount of (I’m a consultant and I know the technology but more from an implementation perspective) but I did invest a fair amount of time in the preparation and so I think it may say something about the quality of the revision materials that I used… I’ll reserve judgement on that until after I’ve taken the next exam but watch this space.

Delays when purchasing Apple hardware

After the disappointment that was Macworld 2008, last weekend I decided to bite the bullet and buy an Apple notebook. A MacBook Pro would be great, but it is also an old design and very expensive, so I decided to buy a MacBook.

My employer is a member of Apple’s employee purchase programme (EPP) so I bought the computer from the UK online Apple Store (EPP discounts are not valid in brick and mortar stores). Somewhere in the purchase process I’m sure that I was quoted 3-5 days for delivery (24 hour shipment for non-customised orders) – right up until the order was finalised, at which point it got a lot longer.

I also purchased some accessories (a mini-DVI to DVI adapter and iPhone headphone adapter) but that’s not really customisation. Is it? Apparantly is is, at least according to Apple. Checking the site now, it seems that adding accessories like this increases the ship time from 24 hours to 3 days.

My order was shipped within 48 hours but is currently estimated to take 11 days for delivery. I could walk from my house to Apple’s UK distribution centre in Leicestershire and back in that time (most couriers that come to my door have a nice big diesel van to make it faster for them…). I was confused, especially as the shipment status page has displayed “In transit to final destination – carrier details to be updated shortly” for a couple of days now and I’d expected it to be with UPS/DHL/insert-name-of-courier-here, allowing me to track its progress (and to make sure I’m here to sign for it).

So I called Apple and it turns out that my Macbook is not from stock in the UK. It’s being made in China. Shipping within 24 hours is all very well but when it’s shipped from the other side of the world it’s kind of irrelevant. Meanwhile, this was not clearly communicated to me at the time of order (I might have foregone my EPP discount for the sake of picking one up from a store) – making me a very dissatisfied customer – particularly as if I decide to cancel or return the order it will cost me another £60.

Apple has traditionally enjoyed a loyal fanbase and, more recently, has increased market share by encouraging many consumers to switch to their product range. I know that in my case the original decision to buy an Apple computer was based on style and the surity that if I didn’t get along with MacOS X, I could always install Windows on the Intel hardware. I’m now buying my second Mac and am extremely disappointed by the service I’ve received. It’s not as if the MacBook is inexpensive either – from a cursory glance around it seems that comparibly specified PC notebook from another vendor can be purchased for significantly less money and other major OEMs are happy to talk to me about product roadmaps so I know I’m not buying a white elephant (no chance of that with Apple).

It seems to me (and to friends who have experienced Apple’s customer service of late) that, as Apple grows its market share, attention to detail on the things that matter most to customers declines. Maybe that is just a reality of capitalism. Maybe it’s a reflection on corporate American business practices. Or maybe Apple have just taken their eye off the ball (again).

When, oh when, will I learn to take proper backups?

Apparently (according to my wife), I’ve been a bit stressy today. Justifiably, I’d say: I have an exam tomorrow that I haven’t finished preparing for; one or both of my kids has woken me up at least once a night (or early in the morning) since I-can’t-remember-when; and this morning I walked into the office to see that the nice blue light on my external hard disk (the one with my digital photos and my iTunes library) was red.

The disk was still spinning and the Mac that it was attached to still appeared to have a volume called “External HD” but any application that attempted to access the volume locked up. So I shut down the computer, switched off the external hard disk, turned it all back on again and… saw the familiar blue light appear but without any sign of the disk spinning up. Arghhh!

Toshiba PX1223E-1G32 320GB External Hard DiskThis was the second time this had happened to me with this model of external hard disk. “Bloody Western Digital disks”, I thought… but I didn’t have time to investigate further – I had three practice exams to do today, a conference call about the Windows Server 2008 launch and the usually deluge of e-mail to process – so, I turned the disk enclosure off again and left it until, once the kids were in bed, I took the disk out of the enclosure and put it into another PC.

Imagine my relief when it spun up – and, after installing MacDrive on the PC (the disk is formatted with HFS+) and rebooting, I could see my data. Woohoo!

I’m currently in the process of copying all of the data to the only volume I have left with enough free space. Unfortunately the machine I’m using for recovery only has a 100Mbps NIC and seeing as Windows Server 2008 says I’m getting 10.5MB/sec (i.e. around 84Mbps) then I think the network’s doing pretty well but the process of copying almost 300GB of data will take most of the night. Then, once everything is safely recovered, I’ll run some diagnostics on the disk and work out whether it’s the disk or the enclosure that gone belly-up. In the meantime, I’m withdrawing my earlier recommendations for the Toshiba PX1223E-1G32 (320GB 7200 RPM external USB 2.0 hard drive with 8MB data buffer).

Does anybody know where I can get an iSCSI storage device with decent RAID capabilities for not too much cash?

Windows Server 2008 – pulling it all together

However you look at it, there’s little doubt that creating an operating system release the size of Windows Server 2008 is a huge undertaking.  A few months back, I was privileged to hear Alex Hinrichs, Group Program Manager for Windows Server, speak about the process of building Windows Server.

First of all, any major project needs strong leadership and the Windows Server Division management team includes a huge volume of collective experience from guys like Bob Muglia, Bill Laing and Iain McDonald.

Then, there’s the consistent vision – at the heart of the Windows Server 2008 product there have been a few major themes:

  • Roles (customers don’t think "my Windows server"; they think "my domain controllers", "my web servers", etc.).
  • Only install what the system needs.
  • Make it secure, reliable, manageable… and fast.
  • Quality should be determined by real world deployments (i.e. only ship when know the product is ready).

It’s also worth remembering that Windows Server 2003 has been an excellent operating system release.  So, as they began to plan for the next release, Microsoft took a look at what worked well when developing Windows Server 2003:

  • Deployments are key to quality (internal deployments – "dogfooding", early adoption customers).
  • Include a long customer feedback cycle.
  • Install fewer components and services by default.
  • Lock down the feature set early (good ideas are all very well, but it requires discipline to say "no, we’ll add that later") and focus on quality during the last year of development rather than adding new things.
  • Protect the daily build (the daily version of Windows Server needs to be solid).
  • Focus on the basics (reliability, security, performance).

Even though the feature set was locked down some time ago, Microsoft did respond to customer feedback on the early builds of Windows Server codenamed Longhorn – that’s how we got features like IIS as a role in server core, Windows PowerShell as a feature, more granular group policy objects and read-only domain controllers.

The important point is that in the final year, major changes were limited.  Customer requests were still the primary driver but there were no more changes for people who thought "it would be really cool if…" and changes were only implemented to unblock customer deployments.

For me (as I’m not a software engineer), the fascinating part of Alex’s presentation was the daily process.

Program Managers are responsible for delivering on a single component of the operating system, with each virtual build lab (VBL) being made up of a number of feature build labs (FBL) – for example:

  • Core (platform, kernel, setup, etc.).
  • Networking (TCPIP stack, DHCP, RRAS, etc.).
  • Server roles (IIS, AD, etc.).
  • Security (logon, licensing, etc.).
  • Client (shell, Internet Explorer, etc.).
  • File (including backup, storage server, etc.) .

The daily ship-room (engineering) meeting examines test results to see which product groups are ready to bring in code to the build based on:

  • Distributed responsibility:
    • FBLs need to get code ready in order to move up through the build process via the VBLs.
    • Around 10,000 people have contributed code to Windows Server at some point in process (about 1000 developers are working on it every day)
  • Daily tests (checks and balances) including:
    • Build verification tests (BVTs) – examining whether the operating system will complete set up, can it upgrade, can it share files, etc. for a few thousand simple tests on all versions (32/64-bit, Itanium, etc.).
    • Feature verification tests (FVTs) – tests at feature/role level, e.g. AD, IIS, etc.
    • Stress – what does it take to break the system, using over 1000 machines running stress tests every day until something breaks, then attaching to a debugger to see what broke it.
    • Reliability – how long can the system run – for every server role.
  • Bugs and bug bar (what bugs are there to fix… and when by).

Hinrichs explained that the componentisation effort used for Windows Server 2008 has certainly helped to make the process easier.  It has taken many years but dependencies have been broken as senior, strong, architects have run Windows code has through architectural layer tools to ensure that architectural policy is adhered too.

Using a component-based model helps to identify conflicts before they hit the main build.  For example, if the Shell and Internet Explorer teams are working on same binary the code is checked in at the client layer and the developers can work together to resolve a conflict before the code is incorporated into the main tree.

Before code is accepted, there are a number of quality gates to be negotiated, consisting of a battery of tests to run at check-in stages, for example:

  • Static code analysis (buffer overflows, other security problems, managed code problems, etc.).
  • Architectural layer (check for implied dependencies and relate back to roles – a developer may think that they are working in their own universe but this is not necessarily so).
  • Code coverage (automated tests all over the world constantly testing the system to hit as many code paths as possible, aiming for automation to cover as many as possible but realistically 70-75% automated with the rest tested manually).
  • Policy check tools (looking for globalisation or localisation issues, political issues, etc.).

On a normal day in the Windows Server Division:

  • FBL developers run checks and once the code is ready it is pushed to a VBL team for building.
  • The VBL team pulls down the main build and merges it with new code from the FBLs, looking for conflicts/problems.  Once everything is ready, code from all teams is brought together into the main build.
  • Because there are checks and balances at all levels (and reverse integration), things tend to be pretty clean at the main build level.
  • It’s not just about pushing code up – it is pulled down as well so that all teams pick up changes from each other.

I’m pleased to see Windows Server 2008 ship before its official release date.  For some time now Microsoft would only commit to "shipping during the first quarter of 2008" but were adamant that quality was the primary goal and that the product would only ship when it was ready.  Based on my experiences, it seems remarkably solid and I have no reservations about pushing my organisation as hard as I can to deploy Windows Server 2008 for our customers.  And I’ll wrap this post up with one final comment – Kevin Lane, the lead for the technology adoption program (TAP) customers has been on call 24×7 to ensure that major issues affecting customers are resolved quickly.  In the last 6 months he has only had one call that’s been important enough to disturb his sleep…

Windows Server 2008 RTM and launch plans

This will probably be one of the most-reported news items of the year (and I don’t really do news) but Microsoft released Windows Server 2008 to manufacturing yesterday (in the middle of the night here).

I’m not sure quite how widely available the images are at the time of writing but beta testers can certainly download a copy from Microsoft Connect for the next 30 29 days and I’m told it’s also available to MSDN subscribers, as is Windows Vista SP1. I expect the product will also be made available to volume license customers over the next few days (if not already). There’s more information on Windows Server 2008 elsewhere on this site (and in the Microsoft press release).

The official launch date is still 27 February 2008, and in the UK the main customer event is planned for 19 March at the ICC in Birmingham. The various user groups are also in the process of planning a community launch event for 8/9 April at Microsoft’s UK Campus with session planning currently in progress – I’ll post more information as it becomes available.

Scotty McLeod

Sometimes it feels as though the UK IT Pro community is a very small place and I’m always pleased to hear from people that I consider to be experts in their field; however last Friday’s e-mail from Richard Siddaway knocked me for six.

ScottyScotty McLeod, leader of the Windows Server UK User Group, was involved in a horrific accident last Wednesday night and is currently fighting for his life in hospital. I still can’t quite comprehend what’s happened (hence the reason it’s taken so long to write this post) but I’m sure that there are many readers of this blog who know Scotty (many better than I do) and will join me in wishing him a speedy recovery.

Dmitry Sotnikov is keeping a post on his blog updated with the latest news on Scotty’s progress.

In the meantime, my thoughts are with Scotty and his family. Get well soon.

Can I fit a PCI expansion card into a different type of slot?

The new server that I bought recently has a huge case with loads of room for expansion and that got me thinking about all which components I already had that I could reuse.  DVD±RW dual layer recorder from the old PC, 500GB SATA hard disk from my external drive (swapped for the 250GB disk supplied with the server), couple of extra NICs… "oh, hang on.  Those NICs look like PCI cards and I can only see a single PCI slot.  Ah!".

I decided to RTFM and, according to the technical specifications, my server has 5 IO slots (all full-height, full length) as follows:

  • 2 x 64-bit 133MHz PCI-X
  • 1 x PCIe
  • 1 x 8 PCIe
  • 1 x 32-bit 33MHz legacy slot

I knew that the spare NICs I had were PCI cards but would they fit in a PCI-X slot?  Yes, as it happens.

I found a really useful article about avoiding PCI problems that explained to me the differences between various peripheral component interconnect (PCI) card formats and it turned out not to be as big an issue as I first thought.  It seems that the PCI specification allows for two signalling voltages (3.3v and 5v) as well as different bus widths (32- or 64-bit).  32-bit cards have 124 pins whilst 64-bit cards have 184 pins; however to indicate which signalling voltage is supported, notches are used at different points on the card – 5V cards have the notch at pin positions 50 and 51 whilst 3.3V cards have the notch closer to the backplate at pin positions 12 and 13.  Furthermore, some cards (like the NICs I wanted to use)Universal PCI card have notches in both positions (known as universal cards), indicating that they will work at either signalling voltage.  Meanwhile, PCI-X (PCI eXtended) is a development of PCI and, whilst offering higher speeds and a longer, 64-bit, connection slot, is also backwards-compatible with PCI cards allowing me to use my universal PCI card in a PCI-X slot (albeit slowing the whole bus down to 32-bit 33MHz).  PCIe (PCI Express) is a different standard, with a radically different connector and a serial (switched) architecture (HowStuffWorks has a great explanation of this).  My system has a single lane (1x) and an 8-lane (8x) connector, but 1x and 4x PCIe cards will work in the 8x slot.

PCI slotsThis illustration shows the various slot types on my motherboard, an 8x PCIe at the top, then a 1x PCIe, two 64-bit PCI-X slots and, finally, one legacy 32-bit 5V PCI slot.

After adding the extra NICs (one in the 32-bit legacy 33MHz slot and the other in one of the PCI-X slots) everything seemed to fit without resorting to the use of heavy tools and when I switched on the computer it seemed to boot up normally, without any pops, bangs or a puffs of smoke.  All that was needed was to get some drivers for Windows Server 2008 (these are old 100Mbps cards that have been sitting in my "box of PC bits" for a long time now).  Windows Device Manager reported the vendor and device IDs as 8086 and 1229 respectively (I already knew from the first half of the MAC address that these were Intel NICs), from which I could track down the vendor and device details and find that device 1229 is an 82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter.  Despite this being a discontinued product, searching the Intel Download Center turned up a suitable Windows Vista (64-bit) driver that was backwards compatible with the Intel 82550 Fast Ethernet Controller and I soon had the NICs up and running in Windows Server 2008, reporting themselves as Intel PRO/100+ Management Adapters (including various custom property pages provided by Intel for teaming, VLAN support, link speed, power management and boot options).

So, it seems that, despite the variety of formats, not having exactly the right PCI slot is not necessarily an issue.  PCI Express is an entirely different issue but, for now, my 32-bit universal PCI card is working fine in a 64-bit PCI-X slot.

A sneak peek at the Vista SP1 source code?

Sometimes I get criticised for writing positively about Microsoft products and being critical of Apple – hey, with the MacBook Air, it’s hard not to notice the lack of substance – what next? an invisible Apple notebook? (thanks to Alex for sending me that – and he used to evangelise almost everything that Cupertino produced before Apple products started to get popular and they began putting shareholders ahead of customers). I like to think that I’m pretty objective but then again my day job does involve consulting on Microsoft technologies so just in case there is any bias around here I thought I’d redress the balance with a little spoof about some Windows Vista SP1 source code that seems to have escaped into the public domain:

/*
  TOP SECRET Microsoft(c) Project:Longhorn(TM) SP1
  Estimated release date: 2008
*/

#include "win95.h"
#include "win98.h"
#include "leopard.h"

char chew_up_some_ram[10000000];

void main() {
  while(!CRASHED) {
    if(first_time_install) {
      make_10_gigabyte_swapfile();
      do_nothing_loop();
      search_and_destroy(FIREFOX|OPENOFFICEORG|ANYTHING_GOOGLE);
      hang_system();
    }
    if(still_not_crashed) {
      basically_run_windows_xp();
      do_nothing_loop();
    }
  }

  if(!DX10GPU()) {
    set_graphics(aero, very_slow);
    set_mouse(reaction, sometimes);
  }

  //printf("Welcome to Windows 2000");
  //printf("Welcome to Windows XP");
  printf("Welcome to Windows Vista");

  while(something) {
    sleep(10);
    get_user_input();
    sleep(10);
    act_on_user_input();
    sleep(10);
    flicker_led_promisingly(hard_disk);
  }

  create_general_protection_fault();
}

(I got this from multiple sources but they all seem to lead back to a Linux Format advert for TechRadar).

Now, the reason I’m posting this is that most Microsofties can appreciate the geek humour and have a chuckle. Sadly the Linux guys at FedoraForum chose to demonstrate their geekdom by descending into discussions of “the M$ tax” and other such ramblings in the vein of “my operating system is better than your operating system”. Yawn! One even commented that slow Vista sales were good for Linux (hmm… how’s that then? There may be a Mac revival going on in the consumer marketplace but I haven’t heard about a massive defection of dissatisfied Windows Vista users moving to Linux – quite the opposite in fact with many people simply reverting to using a familiar Windows XP installation).

I wrote over a year back how, rightly or wrongly, Windows XP would be around for a while yet and with Vista SP1 just around the corner it really does feel as though corporate customers are starting to get ready for Vista now. Personally, I’m looking forward to getting my grubby paws on a beta of Windows 7 (hopefully later this year).

Controlling costs when buying a PC

Much of what I write on this blog is based upon my experiences as a consultant/infrastructure architect for a leading IT Services company but as my day job becomes less technical there’s an increasing amount written based on the time I spend working with technology on my home network.  markwilson.it doesn’t have a large IT budget and it’s become increasingly apparent that my pile of aging, but rather good, Compaq Evo D5xx SFF PCs no longer provides the hardware features that I need.  Consequently, I needed to buy a small server – ideally a dual-socket machine, with quad-core CPUs and up to 16GB of RAM (I had a couple of spare 500GB SATA hard disks to re-use and also some spare NICs). I didn’t have an exact figure in mind, but was hoping to spend no more than £500-600 and knew that specification would probably be too expensive but then I found an offer on the Dell website for a PowerEdge 840 – starting at £179 plus VAT and shipping.

The PowerEdge 840 is more like a workstation than a server but it has the option to upgrade the standard dual-core Intel Pentium processor to a dual- or quad-core Xeon.  For a dual-socket machine with the ability to go up to 16GB of memory I’d have needed to move up to a more expensive model but the PowerEdge 840 specification would give me what I need to set up a XenExpress or Windows Hyper-V Server server for evaluating products and running the basic markwilson.it infrastructure (everything except the website, which is hosted for me by ascomi).

I haven’t bought a PC for years (except my Mac Mini) and didn’t feel confident to make the right selections, so I called a trusted colleague, Garry, who may be a CTO now but still gets techie as required!  He gave me some great advice for keeping the costs down – and these are equally applicable to any major OEM PC/Server purchase:

  • Do you really need that optional extra?  Don’t be afraid to buy the basic system from the manufacturer and source additional components elsewhere. 
  • Use a cashback site (e.g. TopCashBack).  Using this, I was able to get cash back on the pre-tax value of the goods purchased.

Following Garry’s advice, I could see that by sticking with the basic memory and disk options (being ready to take them out when it arrives), I could buy larger components elsewhere and still save money.  I upped the CPU spec, but left the rest of the system almost at the basic level with 512MB of RAM, one 80GB disk (to take out and use elsewhere – or even just give it away) and one 250GB disk (to downgrade my external hard drive and use the 500GB disk from that instead).  I stuck with the basic DVD-ROM drive (I’ll take the writer from one of the PCs that this server will replace) and rejected options for floppy disk drive, modem, additional NICs, tape backup, UPS, etc. as I already have these things at home.  I also rejected options for RAID controllers as I can pick up a less capable but inexpensive SATA RAID controller elsewhere.  Finally, I said no to operating system and backup software – whilst Small Business Server 2003 R2 may have been nice, Windows Hyper-V Server will only be a few pounds when it releases later this year and XenExpress is free.  As I’m not in the market for Windows Server 2003/2008 Enterprise or Datacenter editions I’ll have to deal with the guest VM licensing separately – but that’s no different to my current situation.

After this, I had my server ready to order, at a total price (including shipping and VAT) of just under £392 (and around £14 cashback due).  Then I started looking at the last part of the solution – 8GB of DDR2 SDRAM.  Interestingly, although the PowerEdge 840 supports up to 8GB of RAM, the "build your system" website only lets me choose up to 4GB – in 1GB DIMMs.  I needed 2GB DIMMs in order to get the maximum memory installed.  Dell would sell me these at a competitive price of £49.02 each but wanted £22.33 to ship four of them to me (total price £218.40).  My normal memory supplier () could sell me two 4GB kits (each 2x2GB) for £244.38 (although the price has since fallen to just £164.48) and I could earn cashback on both of these offers but the non-ECC RAM available at sites like eBuyer was much less expensive.  According to Crucial, I can install non-ECC RAM in a server that supports ECC, but googling turned up some advice from newegg.com:

"[The] chances [of] a single-bit soft error occurring are about once per 1GB of memory per month of uninterrupted operation. Since most desktop computers do not run 24 hours a day, the chances are not actually that high. For example, if your computer (with 1GB of memory) runs 4 hours a day, the chances of a single-bit soft error happening (when your system is running) is about once every six months. Even should an error occur, it won’t be a big issue for most users as the error bit may not even be accessed at that time. Should the system access the error bit, this little error won’t result in a disaster either – the system may crash, but a restart of the system will fix that. That’s why ECC memory is not a necessity for most home users.

Things are very different when it comes to workstations and servers. To begin with, these systems often utilize multi-gigabytes of memory, and they usually run 24/7 as well. Both of these factors result in increased probability of a soft error. More importantly, an unnoticed error is not tolerable in a mission-critical workstation or server."

[Source: newegg.com article: Do I need ECC and registered memory?]

I decided to use ECC RAM as, even though my server is not mission critical, it will be on 24×7 and running several virtual machines – all of which could be susceptible to memory errors.  Dell Technical Support also advised me that non-ECC RAM would cause POST errors.

I still needed to get the best deal I could on memory and Dell were only quoting me for PC2-4200 (533MHz) RAM when the PowerEdge 840 will take PC2-5300 (667MHz) RAM.  As the Dell RAM is actually from Kingston, I decided to see what Kingston recommended for the PowerEdge 840 and found that there is a product (KTD-DM8400BE/2G) which is a 667MHz version of the 2GB 240-pin SDRAM that the server uses.  Furthermore, I could get it from SMC Direct for £53.55 a module (£219.58 for all four, shipped).  Then, Dell Technical Support advised me that there is little advantage in buying the faster RAM as the front-side bus for my Intel Xeon X3210 is 1066MHz and the 2x multiplier matches whereas the 667MHz RAM would match a 1333MHz bus.  On that basis, I stuck with the Dell quote, saving myself a fiver and potentially earning some more cashback (actually, I didn’t get cashback because it was a telephone purchase but that was more than offset by Dell waiving the shipping charge as goodwill for the problems I had experienced when buying the server).

So, here I am, a couple of weeks later, with a quad-core system, over a terabyte of storage (after swapping some disks around) and 8GB RAM for less than £575.  Buying my RAM separately (even from the same supplier) got me a better deal (although Crucial’s subsequent price drop would have made an even bigger difference) and Garry’s TopCashBack advice saved me some more money.  This is how the costs stack up (all including VAT and shipping, where applicable):

Item Price
Dell PowerEdge 840 server £391.98
4 Kingston KTD-DM8400AE/2G DIMMs (from Dell) £196.08
Additional disks, NICs and CD/DVD writer (sourced from existing PCs) £0.00
Cashback -£14.23
Total paid £573.83

Further information

Memory specification terms
Memory terms glossary

Online Cashback