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).
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.
Create, delete and resize logical volumes.
Create or delete volume groups containing sets of volumes. We do not currently provide the ability to modify volume groups.
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.
Create or destroy partition tables. Both MS/DOS and GPT partition tables are supported.
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.
Format or destroy a filesystem on a block device, RAID, or logical volume. Supported filesystems include EXT2, EXT3, EXT4, XFS, vfat, and btrfs.
Mount or unmount a filesystem.
Get I/O statistics of any block device