Red Hat Bugzilla – Bug 294721
Provide lvmsar-style I/O statistics in lvm2
Last modified: 2015-10-20 11:28:01 EDT
+++ This bug was initially created as a clone of Bug #249706 +++
-- Additional comment from email@example.com on 2007-07-26 11:28 EST --
Description of problem:
lvmsar is available in RHEL3. It is still not available in RHEL 4 in the latest
update. It is also not available in RHEL 5.
Steps to Reproduce:
[root ~]# lvmsar
Command not implemented yet.
This event sent from IssueTracker by tdunnon [SEG - Feature Request]
-- Additional comment from firstname.lastname@example.org on 2007-08-08 13:51 EST --
Well, there are dm-iostats kernel module ready to use right now,
but it is not that user friendly.
For example, in order to get iostats for one logical volume, you
need to do the following 5 steps.
1).Get the dm-ioststs patch, compile and "insmod dm-iostats".
2).Get the table of the logical volume by "dmsetup table lvname".
3).Create iostats device "dmsetup create iostats" with the table you get at step 2.
4).mkfs and mount the iostats and do IO to iostats device.
5).Get the stats by "dmsetup status iostats",
which will show the the following statistics:
1. Displays the number of read and write operations.
2. Displays the number of failed read and write operations.
3. Displays average latency for read and write operations.
My project with iostats right now is to optimize dm-iostats interface for
lvm, and try to make user's task as easy as possible.
"lvchange -ay iostats vgname/lvname"
will activate the iostats node.
will show statistics of the logical volume:
Hopefully I could get this out in these weeks.
Not sure whether this suit your needs, let me know if you need
Created attachment 462144 [details]
Old kernel patch
*** Bug 586189 has been marked as a duplicate of this bug. ***
*** Bug 611818 has been marked as a duplicate of this bug. ***
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Since we are unable to provide this feature at this time,
it has been proposed for the next release of
Red Hat Enterprise Linux.
Simple python prototype here that provides iostat functionality for logical volumes (including breaking down by segment or arbitrarily sized areas):
The intent is to add iostats support to libdm/dmsetup first and to then extend the LVM2 reporter to also include these fields (and allow us to build additional tools like lvmsar/lvmsadc and PCP integration on top of that).
Looking at the LVM1 implementations of lvmsar and lvmsadc they are quite simple; lvmsadc records a timestamp then for each LV a summary line with the name and allocated extent count followed by a table (in LE order) of per-LE read/write IO counters. As with sysstat sadc this is expected to be run from a cron job to build up a series of periodic samples.
The lvmsar command then takes this raw data and formats it into human-readable output.
I'm not sure it makes sense to provide direct equivalents of this in LVM2; the dm-statistics support is considerably more flexible and complete (richer set of event counters and greater control for specifying regions of a device to be monitored).
Since lvmsadc/lvmsar have not been available since RHEL3 it seems unlikely that anyone is relying on the specific output formats they provide.
Anyway: the initial plan is to extend device-mapper reporting to be able to report stats values and to then make use of this from the LVM2 reporting tools. Once we have something working here we can consider whether other compatibility formats (beyond iostat) are worthwhile.