pub struct VolumeRaidInfo {
pub raid_type: RaidType,
pub strip_size: u32,
pub disk_count: u32,
pub min_io_size: u32,
pub opt_io_size: u32,
}
Expand description
Represent volume RAID information.
Fields§
§raid_type: RaidType
RAID type
strip_size: u32
The size of strip on each disk or other storage extent. For RAID1/JBOD, it should be set as block size. If plugin failed to detect strip size, it should be set as 0.
disk_count: u32
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 0.
min_io_size: u32
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 -> 0
opt_io_size: u32
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 0.
Trait Implementations§
source§impl Clone for VolumeRaidInfo
impl Clone for VolumeRaidInfo
source§fn clone(&self) -> VolumeRaidInfo
fn clone(&self) -> VolumeRaidInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for VolumeRaidInfo
impl RefUnwindSafe for VolumeRaidInfo
impl Send for VolumeRaidInfo
impl Sync for VolumeRaidInfo
impl Unpin for VolumeRaidInfo
impl UnwindSafe for VolumeRaidInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)