OpenLMI-Storage is a CIM provider which manages storage on a Linux machine. It exposes remotely accessible object-oriented API using WBEM set of protocols and technologies.
The API can be accessed by any WBEM-capable client. OpenLMI already provides:
- Python module lmi.scripts.storage, part of OpenLMI scripts.
- Command line tool: LMI metacommand, with ‘storage’ subcommand.
- Enumerate all block devices.
- Partition a block device.
- Manage MD RAID and LVM.
- Format a block device with a filesystem (xfs, ext2/3/4, ...)
- Manage mounts.
Currently, OpenLMI-Storage manages local block devices, i.e. block devices which are present in /dev/ directory. This includes also attached iSCSI, FC and FCoE devices, as long as appropriate block device is present.
In future, it may include configuration of iSCSI and FC initiators, multipath and other remote-storage management.
Current version of OpenLMi-Storage does not refresh device list when a device is created/removed/modified outside of OpenLMI.
That means, if a system administrator physically plugs in a new disk, removes a logical volume using command line and/or resizes a partition using an specialized application, OpenLMI-Storage provider will not recognize this change until it is restarted.
Future versions will address this and will update device list dynamically.
There is plenty of examples how to use OpenLMI-Storage provider remotely from LMIShell:
- Create a partition table on a device.
- Create a new partition.
- Create software RAID5 with 3 devices.
- Format a device with ext3 filesystem.
- Mount a filesystem.
Application developers and/or sysadmins should skip whole SMI-S chapter and start at OpenLMI-Storage concept.
Table of contents
- SMI-S profiles
- Storage API concept