iostat命令)进一步验证是哪个进程在大量进行IO操作。esxtop(在ESXi主机上)或resxtop(远程)是最强大的工具。步骤 1: 连接到ESXi主机通过SSH登录到连接了该LUN的ESXi主机。步骤 2: 运行esxtop在命令行中输入 esxtop。步骤 3: 切换到磁盘视图d键,切换到存储适配器(HBA)视图。这里可以看到每个HBA卡上各个路径(PATH)的IO情况,帮助你确认高IO是否集中在某个HBA或路径上。v键,切换到虚拟机存储视图。这是最关键的一步。v视图下,屏幕会列出每个虚拟机对每个设备(比如你的LUN对应的设备)的IO情况。关注以下几列(使用f键可以添加或移除列):Shift + C可以对CMDS/s列进行降序排序,迅速找到IOPS最高的虚拟机。退出esxtop: 按 q键。iostat, Resource Monitor)找出导致高IO的具体进程或应用,从而从根本上解决问题。
# 1. 查看所有挂载的存储设备,找到目标LUN(通过WWN或容量匹配)
multipath -ll # 输出中“wwid”对应LUN的WWN,“size”对应LUN容量,记录设备路径(如/dev/mapper/36000xxxxxx)
# 示例:目标LUN的WWN为36000xxxxxx,对应设备路径为/dev/mapper/36000xxxxxx
# 2. 确认该设备的IO情况(实时统计,持续10秒,查看%util(IO利用率)是否接近100%)
iostat -x 10 /dev/mapper/36000xxxxxx # /dev/mapper/xxxxxx替换为实际设备路径
%util持续 > 90%,说明该主机上的设备(对应 LUN)IO 确实高位,需进一步定位使用该设备的虚拟机。# 查看LUN对应的VMFS数据存储名称(如datastore1)
esxcli storage vmfs extent list
# 查看该数据存储的IO统计
esxcli storage core device stats get -d 设备名称(如naa.xxxxxx)
# 1. 安装iotop工具(若未安装,用于实时查看进程IO)
yum install -y iotop
# 2. 运行iotop,查看占用目标设备(/dev/mapper/xxxxxx)的进程
iotop -oP # -o:只显示有IO活动的进程;-P:显示进程PID
# 观察输出中“DISK READ/DISK WRITE”列,找到IO最高的进程,记录其PID(如12345)
# 3. 关联PID到具体虚拟机:qemu-kvm进程的参数中包含虚拟机名称/ID
ps -ef | grep 12345 # 12345替换为高IO进程的PID
# 示例输出:
# root 12345 1 0 10:00 ? 00:05:30 /usr/libexec/qemu-kvm -name guest=VM-WebServer-01 -uuid xxxxxxxx...
# 从“-name guest=VM-WebServer-01”可确定虚拟机名称为“VM-WebServer-01”
# 查看所有虚拟机进程(vmware-vmx)及其对应的虚拟机名称
ps -ef | grep vmware-vmx | grep -v grep
# 查看指定进程的IO(PID替换为高IO进程ID)
esxcli system process stats get -p PID
iostat -x 5 查看磁盘 IO,或 top -d 1 按 “% IOwait” 排序,找到 IO 密集型进程(如 MySQL、rsync)。暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论