使用 esxtop 识别存储性能问题
可以使用交互式 esxtop 实用程序提供连接到 VMware ESX 主机的各种设备的 I/O 衡量指标。
使用 esxtop 配置监控
要监控每个 HBA 的存储性能,请执行以下操作:
- 通过在命令行键入 esxtop 启动 esxtop。
- 按 d 切换到磁盘视图(HBA 模式)。
- 按 f 修改显示的字段。
- 要查看整个设备名称,请按 SHIFT + L,然后在“更改名称字段大小”中输入 36。
- 按 b、c、d、e、h 和 j 切换字段,然后按 Enter。
- 依次按 s、2 将更新时间更改为每 2 秒,然后按 Enter。
- 相关列的描述,请参见分析 esxtop 列。
注意:以下选项仅适用于 VMware ESX 3.5 和更高版本。
要按每个 LUN 监控存储性能,请执行以下操作:
- 通过从命令行键入 esxtop 启动 esxtop。
- 按 u 切换到磁盘视图(LUN 模式)。
- 按 f 修改显示的字段。
- 按 b、c、f 和 h 切换字段,然后按 Enter。
- 依次按 s、2 将更新时间更改为每 2 秒,然后按 Enter。
- 相关列的描述,请参见分析 esxtop 列。
要增加 esxtop 中设备字段宽度以显示完整的 NAA 标识符,请执行以下操作:
- 通过在命令行键入 esxtop 启动 esxtop。
- 按 u 切换到磁盘设备显示。
- 按 L 更改名称字段大小。
注意:确保使用大写的 L。 - 输入数值 36 以显示完整的 NAA 标识符。
要按每个虚拟机监控存储性能,请执行以下操作:
- 通过在命令行键入 esxtop 启动 esxtop。
- 键入 v 切换到磁盘视图(虚拟机模式)。
- 按 f 修改显示的字段。
- 按 b、d、e、h 和 j 切换字段,然后按 Enter。
- 依次按 s、2 将更新时间更改为每 2 秒,然后按 Enter。
- 相关列的描述,请参见分析 esxtop 列。
分析 esxtop 列
此表列出了相关列以及这些值的简短描述:
列
描述
CMDS/s
每秒的命令总数,包括 IOPS(每秒输入/输出操作数)以及其他 SCSI 命令,如
发送到或来自受监控设备或虚拟机的 SCSI 预留、锁定、供应商字符串请求、单位注意信号命令等。
大多数情况下,CMDS/s = IOPS,除非有大量元数据操作(如 SCSI 预留)
DAVG/cmd
这是发送给设备的每个命令的平均响应时间,以毫秒计。
KAVG/cmd
这是命令花在 VMkernel 中的时间。
GAVG/cmd
这是当客户机操作系统感知到时的响应时间。此数字通过以下公式计算得出:DAVG + KAVG = GAVG
上述列既适用于读取操作,也适用于写入操作,而 xAVG/rd 只适用于读取操作, xAVG/wr 只适用于写入操作。将这些列的结合起来是监控性能的最好方式,但是高读取或写入响应时间可能表示该阵列上的读取或写入缓存处于禁用状态。所有阵列的性能各不相同,不过 DAVG/cmd、KAVG/cmd 和 GAVG/cmd 的持续时间不应超过 10 毫秒 (ms)。
注意:VMware ESX 3.0.x 不包含使用 esxtop 监控单个 LUN 或虚拟机的直接功能。不活动 LUN 降低了 DAVG/cmd、 KAVG/cmd 和GAVG/cmd 的平均值。这些值也可以从 vCenter Server 性能图表中看到。有关详细信息,请参见《基本系统管理指南》中的性能图表。
如果遇到高延迟时间,请调查当前性能指标以及交换机和 SAN 目标的运行配置。检查发送、接收和确认操作中可能表示其为延迟的错误或日志记录。这包括阵列从心轴计数方面处理 I/O 的能力,或者阵列处理提供给它的负载的能力。
如果响应时间增加到超过 5000 毫秒(或 5 秒),则 VMware ESX 将让命令超时并中止操作。这些事件将被记录;中止消息和其他 SCSI 错误可通过以下日志查看:
- ESX 3.5 和 4.x –/var/log/vmkernel
- ESXi 3.5 和 4.x –/var/log/messages
- ESXi 5.x - /var/log/vmkernel.log
可以在这些文件中看到的存储日志的类型取决于服务器的配置。可通过导航到主机>配置>高级设置> SCSI > SCSI.Log* 或 SCSI.Print*查找这些选项的值。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2074626