Hi Folks –

Over the past few months, I’ve covered eight of the items on my list of Top 10 New and Improved Features in Windows Storage Server 2012 R2. Here are the links to the entire blog series:

This sixth and final post in the series covers the last two items on my list, which are improvements we’ve made to further ease deployment and management. Unless otherwise noted, features discussed in this post are applicable to all editions of Windows Server 2012 R2 and both editions of Windows Storage Server 2012 R2 (Standard and Workgroup).

OEM Appliance OOBE

In August 2012, I blogged about how the OEM Appliance OOBE (out-of-the-box experience) deployment tool, originally developed for Windows Storage Server, was being included in certain editions of Windows Server 2012—as well as both editions of Windows Storage Server 2012. At that time, it supported the deployment of standalone servers or 2-node failover clusters. This included selecting a language, keyboard and regional settings, server names, passwords, domain join, shared storage, and cluster creation. Clustered appliances built using the OEM Appliance OOBE can be deployed in about 30 minutes from a single pane of glass (i.e., a single application) running on any one of the cluster nodes.

In May 2013, we shipped an update to the OEM Appliance OOBE to support 4-node deployments on Windows Server 2012. This update was developed in partnership with Dell’s PowerEdge VRTX Cluster-in-a-Box (CiB) team, and I blogged about how it enabled Dell to deploy their 4-node cluster in about 45 minutes. The updated code was included in Windows Server 2012 R2, so the 4-node Windows package update (KB2769588) is not needed for Windows Server 2012 R2 deployments.

The OEM Appliance OOBE is in Windows Server 2012 R2 Standard and Datacenter, as well as Windows Storage Server 2012 Standard and Workgroup. It supports the deployment of both storage server clusters and Hyper-V host clusters. It was designed for CiB appliances that are pre-connected via the appliance’s mid-plane, and it also works great on discreet servers that are cabled together.

Here are some additional resources on the OEM Appliance OOBE:

New and Improved Functionality

New and improved functionality for the OEM Appliance OOBE in Windows Storage Server 2012 R2 includes:

  • Support for 4-node clusters. OEMs can now deliver intuitive cluster setup experiences for clusters with 2, 3, or 4 nodes. 5 or more nodes should work since the OOBE framework supports an index value; however, this has not been tested by Microsoft and is not officially supported.

  • Initial Configuration Tasks (ICT). The OEM Appliance OOBE includes a WPF-based application—called Initial Configuration Tasks. This launch pad of tasks includes everything an administrator needs to do to configure the machine for an environment, including the setup of the storage and creating the cluster.

  • Index-based tasks. An index-based task control enables OEMs to configure X number of tasks based on the index value supplied. So if you want to deploy an eight node cluster, the ICT application will show eight task links that enable you to configure each node separately.

  • Windows Welcome. The screen you see when you boot a new Windows server for the first time is called Windows Welcome. The OEM OOBE records all of the selections made by the user, including the acceptance of the EULA (End User License Agreement), region, language, and keyboard settings. After Windows Welcome is completed, an XML file with the settings is created and copied to the registry of all the cluster nodes that were discovered by the IP address discovery process. The nodes are expecting this XML file and, when it arrives, the OOBE replays the selections on each node so you don’t have to login to each one and repeat your choices.

  • IP address discovery. As soon as you finish Windows Welcome, the first node of the cluster tries to find the IP Addresses of all the other nodes on the internal heartbeat network, expecting to find as many nodes as you indicate in the registry key. If an incorrect number of nodes is discovered, the wizard will notify the administrator, who should check that all the cables are plugged in and all the nodes of the cluster are powered up, and then they can try to discover all the nodes again. All of the auto-configured IP addresses assigned by APIPA are discovered by the node you are working on and the IP Addresses are inserted in the registry so the OOBE can target the machines for automatic configuration.

  • Domain controller setup. A simple domain controller setup process allows administrators to use an existing domain or to create a fresh domain controller in a local Hyper-V virtual machine that can be used to support the cluster. The wizard enables the administrator to specify a root domain name, static IP address of the domain controller, cluster management name, machine names, and passwords for all nodes in the cluster.

The Experience

Here are a few screen shots that illustrate the process:

When you run the OEM Appliance OOBE, you’ll see a link to the Domain Join wizard. After you provide the necessary inputs for the wizard, you’ll see this very long confirmation page, which provides status as the wizard executes. The entire automated process of creating the domain controller, promoting it, joining all the cluster nodes to the domain, and setting local and domain credentials takes about 15 minutes, which saves me about 2 hours on a 4-node cluster.


After a quick reboot, the administrator configures and formats the shared storage, and then prepares to build the new cluster. First the OOBE validates that each of the nodes were setup correctly and the domain controller is running:


After the cluster validation test completes, the cluster can be created:


The OOBE will then automatically:

  • Prepare the domain controller’s CSV volume.
  • Migrate the VM storage, create the file server instance.
  • Update the machine pool (which is a list of all the servers that are monitored and managed via Server Manager).

Microsoft recommends that administrators setup a live replica of the DC VM, perform regular backups, and consider running a failover instance of Active Directory on dedicated hardware to prevent service interruption.

The OEM Appliance OOBE enables our storage partners to deliver a setup experience that automatically handles all the mundane tasks involved in setting up a cluster, while you enjoy a cup of coffee. And you won’t be sitting around enough for that cup of coffee to cool; within 30 minutes, your cluster can be configured, running, and delivering continuously-available services.

Storage Management API

Manufacturers building systems running Windows Server can use the Windows Storage Management API to manage a wide range of storage configurations, from single-disk desktops to massive external storage arrays. Similarly, storage subsystem manufacturers can support Windows-based storage management for their products by implementing a Storage Management Provider (SMP). For more information, see How to Implement a Storage Management Provider.

The Windows Storage Management API supersedes the Virtual Disk Service API beginning with Windows Server 2012. This new API is designed for WMI developers who use C/C++, Visual Basic, or other scripting language that can handle ActiveX objects.

After a Storage Management Provider is installed on the server, Windows Server Manager wizards can carve up LUNs from raw disk space, create storage pools, and create virtual disks that can be formatted using NTFS or REFS file systems. The same three storage wizards can be run from inside the OEM Appliance OOBE, as well.

SM-API Improvements for Windows Server 2012 R2 include:

  • Up to 10x faster enumerations of physical disk resources.
  • Cluster-awareness.
  • Remote management for new Storage Spaces features like tiering and caching.


Windows PowerShell is a great way to manage storage on Windows Server 2012. Here is a list of all the PowerShell commands you can use: http://technet.microsoft.com/en-us/library/hh848705.aspx

You should also check out Roiy Zysman’s blog on storage management, which links to this awesome laminate-worthy Storage and File Services PowerShell Cmdlets Quick Reference Card for Windows Server 2012 R2. It provides examples of commonly used PowerShell scripts for Storage, Data Deduplication, iSCSI Target Server, iSCSI Initiator, Failover Clusters, Shares, Work Folders, File Server Resource Manager, DFS Namespaces, and DFS Replication.

Final Thoughts

The deployment and storage management experiences for Windows Server 2012 R2 have taken a huge step forward. I encourage you to try out the new features and start building your own library of storage management commands. After you have a perfect set of scripts for a given deployment, you can whip up even the most complex cluster, share, and storage configurations from the beach while you enjoy your beverage and figure out what to do with that cute little paper umbrella that’s in your drink.

Scott M. Johnson
Senior Program Manager
Windows Storage Server