SMI Tutorial > SMI-S 1.1.0 Functionality > SNIA Packages > Block Services Package

Back

Block Services Package

Next

The Block Services Package is referenced by storage related SNIA Profiles to allow a Client to manage storage pools, storage volumes and logical disks. Many storage devices provide access to their storage capacity using block I/O interfaces. This Package defines the common elements and mechanisms that these devices use.

When incorporated by the referencing Profile, a Client can perform the following management tasks:

  • Enumerate, create or delete a Storage Pool, Storage Volume or Logical Disk
  • Change the capacity of a Storage Pool, Storage Volume or Logical Disk
  • Return allocated capacity to a Storage Pool
  • Enumerate the Extents in a Storage Pools that may be used to create or expand a Storage Volume or Logical Disk
  • Ask to be notified when a new Storage Pool, Storage Volume or Logical Disk is created or deleted
  • Ask to be notified when the operational status of a Storage Volume or Logical Disk changes (e.g., from “OK” to “Degraded”)

A Block is a unit in which data is stored and retrieved on a storage device. A Storage Pool is a collection of storage capacity. A Primordial Pool represents unallocated storage capacity on a storage device. Storage capacity is drawn from Primordial Pools to create Concrete Pools. Storage Volumes and Logical Disks are allocations of storage capacity exposed by a system via an external interface. They are allocated from Concrete Pools.

When this Package is incorporated by a Profile, a Client can retrieve information about Storage Pools, Storage Volumes and Logical Disks. For example, for a Storage Pool, a Client can determine its total size, remaining space and whether it is a concrete or primordial pool. Similarly, for a Storage Volume and Logical Disks, a Client can determine the number of blocks, block size and redundancy characteristics.

A Storage Pool can have varying capabilities of redundancy, reliability and availability. These capabilities allow a Client to determine the fault tolerance characteristics of the storage device. For example, a Client can retrieve information about whether the storage device has a single point of failure, the number of disk spindles (i.e., package redundancy), or the number of data copies made (i.e., data redundancy). Optionally, a vendor can choose to expose information about the striping configuration (e.g. the number of columns) or parity layout (e.g., rotated vs. non-rotated). The RAID level is determined by the combination of these factors.

The Block Services Package is required by the following Profiles:

  • Array Profile - allows a Client to manage external RAID arrays and disk storage systems
  • NAS Head Profile - allows a Client to manage File Systems and File Shares on a NAS system that does not include local storage
  • Self-Contained NAS System Profile - allows a Client to manage File Systems and File Shares on a NAS system that does include local storage
  • Storage Virtualizer Profile - allows a Client to manage a RAID array that does not include any local storage

This Package identifies the following Subprofiles which represent optional features that a vendor may choose to support:

  • Job Control - allows a Client to asynchronously monitor a long running operation
  • Extent Composition - allows a Client to retrieve the hierarchy of storage extents used to create the storage element

 

Back Next