Determining what needs to be implemented depends upon the product goal. If implementing all of the supported features defined in the Storage Management Initiative Specification (SMI-S) for a specific storage device, read the specification and determine the applicable features for the device. If implementing the SMI-S for a specific client or set of clients, work with the client to understand the client requirements; see SMI Client Requirements.
This section describes how to read the specification.
The SMI Specification defines the implementation requirements for the management of a storage array, NAS (Networked Attached Storage), fabric, switch, HBA (Host Bus Adapter), storage library, tape library, as well as other storage devices. The specification is organized into separate books.
Book Name |
Description |
Part 1: Overview |
The SMI Overview |
Part 2: Architecture | Defines the core architecture and protocols for the SMI. |
Part 3: Common Profiles | Defines management profiles that are common to different storage areas. |
Part 4: Block Devices | Defines the management interface for block storage devices (e.g. Array) |
Part 5: File Systems | Defines the management interface for devices that support file data. |
Part 6: Fabric | Defines the management interface for storage networking (e.g. Fabric, Switch, Extender. ...) |
Part 7: Host Elements | Defines the management interface for host-based storage devices. |
Part 8: Media Libraries | Defines monitoring for storage media libraries. |
The Overview and Architecture books should be read first.
The Common Profiles book and the storage books include a set of management profiles. A management profile defines the management interface for a specific management domain (i.e. an area of management). There are two types of profiles:
Autonomous Profile | A stand alone profile that is self contained. |
Component Profile | A profile for a subset or special aspect of management and required to be implemented in the context of an autonomous profile. Note that the word Subprofile was historically used for a Component Profile. |
For a product type, one or more books may need to be examined. For each product type, the specification defines at least one autonomous profile. The following table shows which books and autonomous profiles to examine for each product type.
Product type |
SMI Specification Book |
Autonomous Profiles |
Array |
Block, Common |
Array, Storage Virtualizer |
Fabric | Fabric, Common | Fabric, Fabric FCoE, Extender |
HBA | Host, Common |
Base Server + Storage HBA |
Host Resources | Host, Common | Base Server + Host Discovered Resources |
NAS | File Systems, Block, Common | NAS Head, Self-Contained NAS |
Storage Library | Media Library, Common |
Storage Library, Partitioned Tape Library |
Switch |
Fabric, Common | Switch |
WBEM Server | Common | Server, WBEM Server |
A management profile includes a section that lists the supported profiles (sometimes labeled Supported Subprofiles and Packages). This section will include a table showing the list of profiles that are related to this profile, the requirement (mandatory, conditional, optional) and notes. If the profile does not define any profiles, it will include a comment that none are defined for this profile (common in many component profiles). The SMI-S uses the following for the Requirement column in the table:
Mandatory | shall be implemented |
Conditional | if the stated condition is true, shall be implemented, otherwise optional |
Optional | may be implemented (up to the implementer) |
If the Requirements column in the table shows Mandatory, the profile shall also be implemented. If the Requirements column in the table is Conditional, then a condition will also be listed and if the condition is true, then the profile shall also be implemented. If the Requirements column in the table is Optional, the profile may be implemented. All optional profiles that apply to the storage device should be implemented. Note that the text of the profile may include additioanl requirements (e.g. behavior) and will use the ISO (International Standards Organization)
If the Description column shows Deprecated, the profile may have been replaced. If the requirement is Mandatory, the profile shall be implemented. If the profile is optional, implement the replacement profile and do not implement the deprecated profile. For example, for the Array profile the deprecated LUN Masking and Mapping profile section states that the profile has been replaced by Masking and Mapping.
If the Description column shows Experimental, the profile is experimental or under development and therefore may be subject to change. Experimental profiles should be implemented with knowledge that they may change before going final, thereby offering no guarantee of backward compatibility until it moves out of experimental status.
All SMI implementations shall implement the Server profile, Profile Registration profile and one or more autonomous profiles.
The server profile and component profiles are often supplied as part of a WBEM Server.
The process, to determine the profiles that need to be implemented for a storage product, is as follows.
An example of how to determine the profiles to implement for a storage array:
Completion of this process will result in the complete list of profiles to be implemented.
Each profile may have optional or conditional features/elements. Each profile will need to be evaluated to determine if the features apply. For each profile, the CIM Elements section will list the element name, the requirement and description for each element or indication that is part of the profile. For example,
Table 2 - CIM Elements for Array
Element Name | Requirement | Description |
---|---|---|
4.8.1 CIM_ComputerSystem (Top Level System) | Mandatory | Top Level system that represents the whole array. Associated to RegisteredProfile |
4.8.2 CIM_ElementCapabilities (ImplementationCapabilities to System) |
Optional | Experimental. Associates the Array ComputerSystem to the CIM_ImplementationCapabilities supported by the implementation |
... | ||
SELECT * FROM CIM_InstCreation WHERE SourceInstance ISA CIM_ComputerSystem | Mandatory | Addition of a new array instance. |
... |
Once this process is completed, the outcome is a list of profiles with each profile listing all the classes (including the properties and methods for each class) and indication filters to be implemented. This information will be used in the following steps.