table of contents
lsm_volume_raid_info(3) | Libstoragemgmt C API Manual | lsm_volume_raid_info(3) |
NAME¶
lsm_volume_raid_info - Retrieves the RAID information of specified volume
SYNOPSIS¶
int lsm_volume_raid_info (lsm_connect *conn, lsm_volume *volume, lsm_volume_raid_type *raid_type, uint32_t *strip_size, uint32_t *disk_count, uint32_t *min_io_size, uint32_t *opt_io_size, lsm_flag flags);
ARGUMENTS¶
- conn
- Valid connection.
- volume
- Pointer of lsm_volume.
- raid_type
- lsm_volume_raid_type. Valid values are: LSM_VOLUME_RAID_TYPE_RAID0
Stripe. LSM_VOLUME_RAID_TYPE_RAID1
Two disks Mirror LSM_VOLUME_RAID_TYPE_RAID3
Byte-level striping with dedicated parity LSM_VOLUME_RAID_TYPE_RAID4
Block-level striping with dedicated parity LSM_VOLUME_RAID_TYPE_RAID5
Block-level striping with distributed parity LSM_VOLUME_RAID_TYPE_RAID6
Block-level striping with two distributed parities,
aka, RAID-DP LSM_VOLUME_RAID_TYPE_RAID10
Stripe of mirrors LSM_VOLUME_RAID_TYPE_RAID15
Parity of mirrors LSM_VOLUME_RAID_TYPE_RAID16
Dual parity of mirrors LSM_VOLUME_RAID_TYPE_RAID50
Stripe of parities LSM_VOLUME_RAID_TYPE_RAID60
Stripe of dual parities LSM_VOLUME_RAID_TYPE_RAID51
Mirror of parities LSM_VOLUME_RAID_TYPE_RAID61
Mirror of dual parities LSM_VOLUME_RAID_TYPE_JBOD
Just bunch of disks, no parity, no striping. LSM_VOLUME_RAID_TYPE_UNKNOWN
The plugin failed to detect the volume's RAID type. LSM_VOLUME_RAID_TYPE_MIXED
This volume contains multiple RAID settings. LSM_VOLUME_RAID_TYPE_OTHER
Vendor specific RAID type - strip_size
- uint32_t. The size of strip on each disk or other storage extent. For RAID1/JBOD, it should be set as sector size. If plugin failed to detect strip size, it should be set as LSM_VOLUME_STRIP_SIZE_UNKNOWN(0).
- disk_count
- uint32_t. The count of disks used for assembling the RAID group(s) where this volume allocated from. For any RAID system using the slice of disk, this value indicate how many disk slices are used for the RAID. For example, on LVM RAID, the 'disk_count' here indicate the count of PVs used for certain volume. Another example, on EMC VMAX, the 'disk_count' here indicate how many hyper volumes are used for this volume. For any RAID system using remote LUN for data storing, each remote LUN should be count as a disk. If the plugin failed to detect disk_count, it should be set as LSM_VOLUME_DISK_COUNT_UNKNOWN(0).
- min_io_size
- uint32_t. The minimum I/O size, device preferred I/O size for random I/O. Any I/O size not equal to a multiple of this value may get significant speed penalty. Normally it refers to strip size of each disk(extent). If plugin failed to detect min_io_size, it should try these values in the sequence of: logical sector size -> physical sector size -> LSM_VOLUME_MIN_IO_SIZE_UNKNOWN(0).
- opt_io_size
- uint32_t. The optimal I/O size, device preferred I/O size for sequential I/O. Normally it refers to RAID group stripe size. If plugin failed to detect opt_io_size, it should be set to LSM_VOLUME_OPT_IO_SIZE_UNKNOWN(0).
- flags
- Reserved for future use, must be LSM_CLIENT_FLAG_RSVD.
VERSION¶
1.2.
DESCRIPTION¶
Retrieves the RAID information of specified volume.
CAPABILITY¶
LSM_CAP_VOLUME_RAID_INFO
RETURN¶
Error code as enumerated by 'lsm_error_number'.
* LSM_ERR_OK
On success.
* LSM_ERR_INVALID_ARGUMENT
When any argument is NULL or invalid flags.
* LSM_ERR_NO_SUPPORT
Not supported.
lsm_volume_raid_info | April 2021 |