Comment 4 for bug 1546049

Revision history for this message
Alexander Gordeev (a-gordeev) wrote : Re: [volume manager] too tight partitioning scheme. fuel-agent was unable to create lv of required size

yep, yep, yep. Sounds like yet another alignment issue. (previous was caught on partition level. https://bugs.launchpad.net/fuel/+bug/1543233 )

```

Logical Volume Manager (LVM)
============================
LVM provides userspace tools that are used to manage the kernel's DM
devices. LVM will shift the start of the data area, that a given DM
device will use, to account for a non-zero 'alignment_offset' associated
with any device LVM manages. This means LVM logical volumes will be
properly aligned (alignment_offset=0). LVM will adjust for any
'alignment_offset' by default but this may be disabled through
lvm.conf's 'data_alignment_offset_detection'. Disabling this is not
recommended.

LVM will also detect the "I/O hints" for a device. The start of a
device's data area will be a multiple of the 'minimum_io_size' or
'optimal_io_size' exposed in sysfs. 'minimum_io_size' is used if
'optimal_io_size' is undefined (0). LVM will automatically determine
these "I/O hints" by default but this may be disabled through lvm.conf's
'data_alignment_detection'. Disabling this is not recommended.

``` http://people.redhat.com/msnitzer/docs/io-limits.txt

It looks like nailgun (or at least volume manager) should take into account min io/opt io values exposed in sysfs for every block device and use them for doing more precise volume size calculations.

otherwise, we'll end up with the wierd issues like those 2: this one and https://bugs.launchpad.net/fuel/+bug/1543233 Both observed only when those optimal io values become higher than 1M.