lsm_volume_raid_info - Man Page
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.