One of the constant pains of being an early adopter is you are either missing a feature, beta testing a released product, or overall learn why many other people wait.
Server 2012 is an awesome system, but in one area I have been learning that there is a significant deficiency, and its not Microsoft’s fault: Legacy Driver compatibility.
Server 2012 is meant for datacenter/enterprises, so your storage driver requirements are high. They need to be fast, low latency, scalable, and have more than anything: bomb proof stability. Every full release of Windows Server there has been delays in drivers from vendors, but normally they just didn’t work if you used a Windows 2003 driver on 2008. With 2012 Microsoft made the claims the driver layer was only minorly changed (similar from 2008 to 2008 R2), so this allows legacy drivers to load. (2008 R2 drivers)
But… that’s where this all falls apart. Very few vendors have any Server 2012 drivers out for HBAs, RAID controllers, and many have written off hardware from 4-6 years ago as being obsolete so no new drivers are being made for them. When you install that older 2008 R2 driver under Windows 2012, it normally installs OK, and your hardware works… for a while.
A glaring example of high impact delays is Intel not supporting ICH9®, or ICH10® IO controllers. These are the controllers bundled on almost all server boards, and desktop workstation boards for SATA functionality for the last 4 years. And are still being used in new hardware meant for Server 2012. If you install the Intel RST drivers under Server 2012, you may very well run into the issues below!
Server 2012 has a very hardened Kernel running it, and many layers of protection to catch cross driver/cross hypervisor attacks. Because of this and the fact many older drivers are ham-fisted in their implementation… Windows attacks them, or shuts down to avoid what it sees as a kernel exploit.
This results in a variety of BSODs telling you of a kernel violation, or a watchdog violation.
So with this said, you run into a catch 22. Either you cant use some of your hardware under Server 2012 yet, or you run buggy drivers that may crash the server.
How do you know if your hardware is supported?
An easy way to check if your storage hardware is supported out of the box:(because relying on OE drivers right now is very iffy since many vendors like Adaptec, Intel, Promise, 3Ware, etc… are all months away from a real driver release for some of their hardware)
On a install of Server 2012, open device manager. Right click on a hardware device (any device), and pick “Upgrade driver”. You may be prompted to pick a category, go to “Storage Controllers”. From there uncheck the check box that says “only show compatible hardware” and you should now see the entire vendor list.
Go into the vendor for the hardware you run, and it should say in there what models are drivers preloaded in Server 2012. If you don’t see your model/driver listed, then there is a good chance you need to check the OEM site for driver updates in order to get that hardware working.