Introducing the Windows Storage Management API (SMAPI)
Windows® Server 2012 delivers capabilities to enable significantly improved storage management. By doing so, Windows customers will enjoy the benefits of decreased management complexity and associated costs.
Improved storage management related capabilities include:
- The Windows Storage Management API (SMAPI) which provides PowerShell Cmdlets via the Storage module for end to end management of Windows storage as well as a new set of WMI management classes.
- PowerShell cmdlets enabling scriptable and remote administration with decreased management costs by allowing for repeatable configuration scripts, which are easily re-usable across different storage subsystems.
- A new interface – the Storage Management Provider framework – enabling customers to easily manage 3rd-party Storage subsystems using either a Storage Management Provider (SMP), or SMI-S Provider.
Note: As a result of the introduction of the Windows Storage Management API, the Virtual Disk Service (VDS) is being deprecated. Please see the following link for more information:
High Level Architecture overview:
The following diagram shows the functional architecture for the Storage Management API, and how the Windows Standards-Based Storage Management service is integrated with the Storage Management API to provide flexible management via either management applications or PowerShell.
By combining the Storage Management API with either a Storage Management Provider (SMP), or the Windows Standards-Based Storage Management Service and an SMI-S provider, users are able to deploy and manage their storage using a common interface such as PowerShell, or Microsoft management applications such as the File and Storage Services canvas in Server Manager.
Management of Windows storage resources (Disk, Partition, and Volume) is provided directly by the Storage Management API.
A SMP or SMI-S Provider is only required for managing storage subsystems.
Irrespective of whether an SMP or SMI-S provider is used with your storage, the management processes are the same. For example, multiple management providers can be installed, and manage multiple subsystems simply by specifying the subsystem to manage.
In either case, an end to end deployment workflow enabled by the Storage Management API would be the same:
In the example below, virtual disks are shown from Storage Spaces, an EMC SMI-S provider, and a Hitachi SMI-S Provider all via one command:
Note: In addition to the management of storage resources using the storage module, there is also an MPIO module for managing Microsoft MPIO, and an iSCSI module for managing Microsoft iSCSI Initiator connections. I will cover these in detail in a subsequent posts.
For information on deploying and managing Storage Spaces, the built in subsystem in Windows Server 2012 and Windows 8, please refer to the following whitepaper:
Deploy and Manage Storage Spaces using PowerShell:
For a list of the cmdlets contained in the Storage module, refer to the following topic on TechNet:
Introduction to SMI-S
Senior Program Manager – Windows Storage and Filesystems