Storage Discovery via SMI-S and CIM

Discovery can explore storage devices that contain a Storage Management Initiative Specification (SMI-S) provider that is a specialized Common Information Model (CIM) server.

To see the current list of vendors and products conforming to SMI-S as tested by SNIA, see the SNIA website.

Other types of storage, such as storage that is attached via a host, VM storage that is available on VMware ESX servers, and storage for Kernel VM (KVM), use a separate set of probes and sensors.

Discovery collects information about storage area networks (SAN) and network-attached storage (NAS) from specialized devices, such as storage arrays and Fibre Channel (FC) switches. Discovery collects and creates CIs in the CMDB for the following information items:
  • Array disks, pools, and volumes
  • Fibre Channel HBAs, ports, and controllers
  • FC exports
  • Fabrics, including endpoints, zoning, and switches
  • Dependencies between storage sub-components


  • A CIM server using SMI-S 1.5 or later.
  • NAS and SAN systems from major vendors such as EMC, Hitachi, HP, and NetApp. SAN storage devices must use FC.
  • FC switches from major vendors such as Brocade and Cisco.
  • The CIM credentials must be available for SMI-S configuration. The CIM credentials can be different than the credentials for the system hosting the CIM server.
  • The CIM user requires the administrator role.
Note: Because the SMI-S Provider caches storage device information, the Discovery query to the provider does not affect storage device performance.

ServicewNow SAN schema

This diagram shows the tables in the SAN schema and the default references defined between them.
ServicewNow SAN schema

SMI-S Discovery architecture

SMI-S Discovery architecture

CIM architecture

CIM probes can explore any device based on the Common Information Model (CIM) by querying a CIM server, also referred to as a CIMOM - Common Information Model Object Manager. By default, Discovery uses CIM probes to explore storage systems as well as to get the serial numbers of ESX servers.

Discovery queries SMI-S compliant storage devices using CIMIQL queries.

The following components are part of CIM:
  • Common Information Model (CIM): CIM allows multiple parties to exchange information about managed elements. CIM represents these managed elements and the management information, while providing the mechanism to actively control and manage the elements.
  • Storage Management Initiative Specification (SMI-S): SMI-S is a standard of use that describes methods for storage discovery on the vendor's side. ServiceNow uses SMI-S to determine how to discover CIM. SMI-S is based on the Common Information Model (CIM) and the Web-Based Enterprise Management (WBEM) standards, which define management functionality via HTTP. The main objective of SMI-S is to enable management of dissimilar storage products. ServiceNowsupports SMI-S version 1.5 or higher.
    Figure 1. CIM SMI-S Standard Diagram
  • Web-Based Enterprise Management (WBEM): WBEM defines a particular implementation of CIM, including protocols for discovering and accessing each CIM implementation.
  • Service Location Protocol (SLP): SLP is an ad hoc protocol for retrieving and associating configuration information about CIM servers, such as default paths, capabilities, and the exact interop namespace. Discovery retrieves the interop namespace of a CIM server via SLP and passes that information to the CIM Classify probe. SLP, referred to here as the SLP server, uses service agents (SA) to gather and disseminate information about a CIM server on a subnet. A subnet can have multiple service agents.
    Note: The mid.cim.interop.namespace system property defines four default storage namespaces:
    • interop
    • root/interop
    • root/pg_interop
    • pg_interop
    If you are using multiple storage vendors with custom namespaces not specified as one of the defaults, add the new namespaces to the comma-separated list in this property. If you intend to continue using any of the default namespaces, make sure to include them in the property.
    Figure 2. CIM Agents Diagram

SLP and WBEM support

SLP is required for CIM Discovery as it is part of the Storage Management Initiative Specification (SMI-S) stack. Some storage devices may support the WBEM protocol, but may not support SLP.

You can manually register the WBEM services on SLP using a common Linux tool like slptool. This tool has a command line interface that you can use to make SLPv2 User Agent (UA) requests, which usually come with the SLP daemon package. To register a service, provide a URL and list of attributes. An example can be extracted from a working SLP server by using the same tool.

Storage Discovery table schema

This diagram displays the disk hierarchical schema for storage Discovery.

Figure 3. Disk hierarchical schema
Disk hierarchical schema

Tables and probes

Discovery uses the following tables and probes to gather information about storage devices that are managed by a SMI-S provider.

Table 1. Data Collected
Table Probe
Disk [cmdb_ci_disk] SMI - Storage Server
Fibre Channel Export [cmdb_ci_fc_export] SMI - Storage Server
Fibre Channel Port [cmdb_ci_fc_port] SMI - Storage Server
SAN Export [cmdb_ci_san_export] SMI - Storage Server
Storage Controller [cmdb_ci_storage_controller] SMI - Storage Server
Storage Export [cmdb_ci_storage_export] SMI - Storage Server
Storage File Share [cmdb_ci_storage_fileshare] SMI - Array - File Shares
Storage Pool [cmdb_ci_storage_pool] SMI - Storage Server
Storage Server [cmdb_ci_storage_server] CIM - Identity
Storage Switch [cmdb_ci_storage_switch] CIM - Identity
Storage Volume [cmdb_ci_storage_volume] SMI - Storage Server
Storage Device [cmdb_ci_storage_device] SMI - Storage Server
Storage Area Network [cmdb_ci_san] SMI - Fabric
SAN Connection [cmdb_ci_san_connection] SMI - Fabric
SAN Endpoint [cmdb_ci_san_endpoint] SMI - Fabric
SAN Fabric [cmdb_ci_san_fabric] SMI - Fabric
SAN Zone [cmdb_ci_san_zone] SMI - Fabric
SAN Zone Alias [cmdb_ci_san_zone_alias] SMI - Fabric
SAN Zone Alias Member [cmdb_ci_san_zone_alias_member] SMI - Fabric
SAN Zone Member [cmdb_ci_san_zone_member] SMI - Fabric
SAN Zone Set [cmdb_ci_san_zone_set] SMI - Fabric