The OpenLMI Storage Provider configures and manages local and remote storage. For local storage it has the ability to enumerate (discover) and configure devices. The initial release of OpenLMI storage has the ability to configure remote storage but not discover or provision it. This means that remote storage must be provisioned using existing approaches and the resulting lun made available to OpenLMI. Once the remote LUN is made available we can partition, format and mount it. We plan to support provisioning of remote storage in a future release.
The OpenLMI storage model is based on the DMTF SMASH and SMI-S profiles, and has been extended and modified to support Linux storage architecture and requirements.
Capabilities of OpenLMI Storage
- Enumerate block devices and how they depend on each other
- Multiple forms of Device Identification
- Create/delete/resize logical volumes
- Create/delete volume groups
- Create/destroy MDRAID
- Create/destroy partition table
- Create/destroy partition
- Create/destroy filesystem
- Mount/unmount a filesystem
- Get I/O statistics of any block device
Enumerate block devices
Enumerate or discover and list all locally attached block devices (disk drives).
Device Identification
Multiple device names are supported.
- Identify devices by traditional volume labels such as SDA0, SDA1, etc.
- Identify devices using UUID, such as /dev/disk/by-uuid/a6d6848e-f062-4312-b79b-208545c34bee.
- Identify devices by ID, such as /dev/disk/by-id/ata-PLDS_DVD-RW_DS8A8SH_S45N7602Z1ZM1R00FKY2.
The traditional volume labels are the most familiar, but have the issue of being subject to change when the system hardware configuration is changed. Other names, including UUID and ID are fixed – but are longer and can be more difficult to enter.
Logical Volumes
Create, delete and resize logical volumes.
Volume Groups
Create or delete volume groups containing sets of volumes. We do not currently provide the ability to modify volume groups.
RAID
Create and destroy RAID sets using the MDRAID software RAID capability. We do not currently have the ability to directly manage hardware RAID controllers from OpenLMI; this is planned for a future release.
RAID sets can be created with RAID levels 0, 1, 4, 5, 6, or 10. RAID sets can be formatted with any supported file system, including EXT2, EXT3, EXT4, XFS, vfat and btrfs.
We do not currently support the ability to modify RAID sets or to manage spare disks; these capabilities are planned for a future release of OpenLMI. RAID modifications and spare disk management can be done using the local interfaces.
Partition Table
Create or destroy partition tables. Both MS/DOS and GPT partition tables are supported.
Partitions
Create or destroy partitions on a volume. If the partition table has been created using GPT, partitions larger than 2.2 TB can be created. We do not currently provide the capability to resize an existing partition; it must be deleted and recreated.
Filesystem
Format or destroy a filesystem on a block device, RAID, or logical volume. Supported filesystems include EXT2, EXT3, EXT4, XFS, vfat, and btrfs.
Mount
Mount or unmount a filesystem.
I/O Statistics
Get I/O statistics of any block device