Determine Profiles

Determine what needs to be implemented

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


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


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


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.

  1. Start with the autonomous profile(s) from the table above
  2. From the "Supported Subprofiles and Packages" section of the profile
    1. Select all profiles that have Mandatory in the Requirement column
    2. Select all profiles that are conditional, if the condition equates to true
    3. Select any optional profiles that apply to the storage product
  3. Repeat step 2 for the list of profiles selected, continuing this until all profiles have completed the process.

An example of how to determine the profiles to implement for a storage array:

  • Start with the Array Profile from the Block Book.
  • From the "Supported Subprofiles and Packages" section of the profile
    • Select all the profiles that have the value mandatory in the requirement column.
      • For SMI-S 1.6.1, the following would be mandatory:  Array, Block Services, Health, Physical Package, at least one of the following (FC Target Ports, iSCSI Target Ports, SAS Target Ports SB Target Ports) and at least one of following (Indication 1.5, Indications 1.6, DMTF Indications 1.2).
      • For each conditional profile, if the condition evaluates to true, the profile is mandatory.
        • For SMI-S 1.6.1, no conditional profiles are defined for the Array profile.
      • Evaluate each optional profile to determine if it applies to the storage array.
        • For example, the Thin Provisioning profile is optional, if the storage device supports thin volumes, this profile should also be implemented. An advantage of profiles is that the optional profiles may be implemented at a later time without invalidating the work already done.
  • For each profile selected, repeat step 2. For example, the Block Services profile "Supported Subprofiles and Packages" lists two optional profiles; Job Control and Extent Composition.

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.