Understanding viostat -adapter vfchost output
The ’viostat –adapter’ command expected to find non-zero values for
kbps, tps, etc, for each vfchost adapter. However, the values were
always zero, no matter how much traffic traversed the adapters.
$ viostat -adapter 1 10
...
vadapter: Kbps tps bkread bkwrtn
vfchost0 0.0 0.0 0.0 0.0
...
vadapter: Kbps tps bkread bkwrtn
vfchost1 0.0 0.0 0.0 0.0
I wondered if this was expected behaviour. Was the output supposed to
report the amount of pass-thru traffic per vfchost? In 2011, I posed
this question on the IBM developerWorks PowerVM forum regarding this
observation. One of the replies stated:
"viostat does not give statistics for NPIV devices. The vfchost adapter
is just a passthru, it doesn't know what the commands it gets are."
https://www.ibm.com/developerworks/forums/thread.jspa?messageID=14697753�
I appreciated someone taking the time to answer my question but I was
still curious. I tested the same command again (in 2013) on a recent
VIOS level (2.2.2.1), but I received the same result. It was time to
source an official answer on this behavior.
Here is the official response I received from IBM:
1. FC adapter stats in viostat/iostat do not include NPIV.
2. viostat & iostat are an aggregate of all the stats from the
underlying disks, which of course NPIV doesn't have.There's really no
way for the vfchost adapter to monitor I/O, since it doesn't know what
the commands it gets are. He's just a passthru, passing the commands he
gets from the client directly to the physical FC adapter.
3. You can run fcstat on the VIOS but that has the same issues/limitations mentioned above.
Intent here was that customers would use tools on the client to monitor this sort of thing.
To summarize the comments from Development:
viostat does NOT give statistics for NPIV devices.”
This made sense but I wondered why the tool hadn’t been changed to
exclude vfchost adapters from the output (to avoid customer confusion).
There's obviously no valid reason to ever display any information for
this type of adapter. I also understood that it was expected that I/O
would be monitored at the client LPAR level. But I must say that an
option for monitoring VFC I/O from a VIO server would be advantageous
i.e. a single source view of all I/O activity for all VFC clients;
particularly when there are several hundred partitions on a frame. The
response was:
“…the way the vfchost driver currently works is that it calls iostadd to
register a dkstat structure, resulting in the adapter being listed when
viostat is called. This is misleading, however, since the vfchost
driver does not actually track I/O. The commands coming from the client
partition are simply passed as-is to the physical FC adapter, and we
don't know if a particular command is an I/O command or not. The
iostadd call is left over from porting the code from the vscsi driver,
and Development agrees it should probably have been removed before
shipping the code.
There has also been mention of a DCR #MR0413117456 (Title: FC adapter
stats in viostat/iostat does not include NPIV) which you can follow-up
with Marketing to register your interest/track progress if that is
something you're interested in pursuing.”
No comments:
Post a Comment