在ESXi虚拟机运维中,磁盘IOPS和吞吐量是衡量虚拟机存储性能的核心指标,直接反映虚拟机读写磁盘的效率,也是排查存储卡顿、IO瓶颈的关键依据。很多运维小伙伴疑惑:如何快速查看VM的磁盘IOPS和吞吐量?核心方法很简单:通过ESXi自带的esxtop命令,按v键进入VM视图,即可直观查看所有虚拟机的磁盘IOPS、吞吐量及相关性能数据。本文以该核心操作为基础,详细拆解esxtop工具使用、VM视图指标解读、实操步骤及异常分析,格式清晰、步骤通俗,新手也能快速上手,轻松掌握VM磁盘性能监控技巧。
一、先搞懂:VM磁盘IOPS和吞吐量是什么?有什么作用?
想要精准查看和解读VM磁盘IOPS和吞吐量,首先要明确这两个核心指标的定义和作用,避免只会操作、不会分析,无法排查实际性能问题:
1. 磁盘IOPS:全称Input/Output Per Second(每秒输入输出操作次数),简单来说,就是虚拟机每秒能完成的磁盘读写操作次数,是衡量磁盘随机读写性能的核心指标,多用于数据库、高频读写等场景。IOPS数值越高,说明虚拟机磁盘读写响应速度越快,比如SSD磁盘的IOPS远高于机械硬盘,能更好地支撑高负载业务。
2. 磁盘吞吐量:指虚拟机每秒通过磁盘读写的数据总量(单位通常为KB/s、MB/s),反映磁盘的连续读写能力,适合大文件传输、视频点播等场景。吞吐量数值越高,说明磁盘数据传输效率越高,其与IOPS的关系可通过公式粗略计算:每秒I/O吞吐量=IOPS×平均I/O大小,二者相辅相成又各有侧重。
补充说明:这两个指标是判断VM存储性能的“晴雨表”——当VM出现卡顿、文件读写缓慢时,查看IOPS和吞吐量,能快速判断是否存在IO瓶颈:比如IOPS过低、吞吐量异常波动,大概率是存储负载过高或磁盘性能不足,需及时优化。不同类型磁盘的IOPS上限差异较大,比如SAS 15k rpm磁盘IOPS约150-180,SSD磁盘可达到5K-15K,了解这些基准值能更精准判断异常。
二、核心方法:用esxtop查看VM磁盘IOPS和吞吐量(关键步骤)
查看VM磁盘IOPS和吞吐量的核心工具是ESXi自带的esxtop命令,无需额外安装软件,通过SSH登录ESXi主机即可操作,核心步骤就是“执行esxtop→按v进入VM视图”,具体详细操作(含前置准备、步骤拆解、指标定位)如下,全程图文级拆解,新手可一步步跟着来:
前提准备:
1. 确保ESXi主机已正常启动,且知道主机IP地址、登录账号(默认账号为root,密码为ESXi主机初始设置的密码);
2. 开启ESXi主机的SSH服务(若未开启):登录ESXi Web管理界面→点击“管理”→“服务”→找到“TSM-SSH”→点击“启动”,启动后即可通过SSH工具连接主机;
3. 准备SSH工具(如Xshell、Putty等),确保SSH工具能正常连接到ESXi主机(网络通畅,无防火墙拦截);
4. 目标虚拟机已正常运行(若虚拟机未启动,无磁盘IO操作,查看的IOPS和吞吐量会显示为0,属于正常情况)。
详细实操步骤:
步骤1:通过SSH连接ESXi主机
打开SSH工具(以Xshell为例),点击“新建会话”,输入ESXi主机IP地址,协议选择“SSH”,端口保持默认22;点击“连接”,输入登录账号(root)和密码,确认登录,登录成功后进入ESXi命令行界面(显示类似“[root@esxi:~]#”的提示符)。
步骤2:执行esxtop命令,进入性能监控界面
在命令行中,直接输入esxtop(注意小写,无需额外参数),按下回车键,即可进入esxtop交互模式的默认视图——CPU监控视图(界面会实时刷新,默认每5秒刷新一次)。
补充说明:esxtop是ESXi自带的高性能监控工具,支持交互模式、批处理模式和回放模式,日常运维中最常用的是交互模式,可通过快捷键切换不同监控视图,除了VM视图,还可查看CPU、内存、网络等相关指标。
步骤3:按“v”键,进入VM(虚拟机)视图
在esxtop默认的CPU视图中,直接按下键盘上的v键(小写,无需按Ctrl等组合键),即可快速切换到VM视图——该视图会显示当前ESXi主机上所有虚拟机的性能数据,包括磁盘IOPS、吞吐量、CPU使用率、内存使用率等,重点关注磁盘相关指标即可。
步骤4:定位VM磁盘IOPS和吞吐量指标(关键)
进入VM视图后,界面会以表格形式显示所有虚拟机信息,表格头部为指标名称,找到以下两个核心指标,即可查看对应数值:
1. 磁盘IOPS:对应表格中的“DISK IOPS”列(部分版本显示为“IOPs”),数值即为该虚拟机每秒的磁盘读写操作次数,实时刷新;
2. 磁盘吞吐量:对应表格中的“DISK Throughput”列(部分版本显示为“Throughput”),单位通常为KB/s,数值即为该虚拟机每秒磁盘读写的数据总量。
补充技巧:若虚拟机数量较多,可按下o键(小写),输入虚拟机名称(或部分名称),筛选特定虚拟机,快速查看其IOPS和吞吐量,无需在所有虚拟机中逐一查找;按下s键可调整界面刷新间隔(默认5秒,输入数字即可修改,如输入3,即为每3秒刷新一次)。
步骤5:退出esxtop视图
查看完成后,按下键盘上的q键(小写),即可退出esxtop交互模式,回到ESXi命令行界面,操作结束。
三、关键解读:VM磁盘IOPS和吞吐量的正常范围及异常判断
查看完数值后,核心是判断该数值是否正常,是否存在IO瓶颈,避免误判导致不必要的优化,或忽视异常引发VM卡顿,结合磁盘类型和业务场景,给出以下参考标准(新手可直接对照判断):
1. 正常范围(按磁盘类型区分)
- 机械硬盘(HDD):VM磁盘IOPS正常范围为50-150,吞吐量正常范围为50-150 MB/s;适合普通办公、文件存储等低IO负载场景,若超过该范围,说明HDD负载过高,易出现卡顿;
- 固态硬盘(SSD):VM磁盘IOPS正常范围为300-1000(高性能SSD可达到5000以上),吞吐量正常范围为100-500 MB/s;适合数据库、高频读写等中高负载场景,性能上限远高于HDD;
- 存储阵列(SAN/NAS):VM磁盘IOPS和吞吐量可根据阵列配置灵活调整,正常范围可适当放宽,IOPS通常在1000以上,吞吐量在500 MB/s以上,适合多VM高负载场景。
2. 异常判断(重点关注)
- IOPS异常:持续低于正常范围下限,说明VM磁盘读写响应缓慢,可能导致文件打开、程序启动卡顿;持续高于正常范围上限,说明磁盘负载过高,易出现IO超时;
- 吞吐量异常:数值波动过大(如从100 MB/s骤降至10 MB/s),或持续低于正常范围,说明磁盘数据传输效率低,可能是存储链路拥堵、磁盘故障等问题;
- 补充说明:不同业务场景的指标需求不同,比如数据库VM对IOPS要求较高(需达到300以上),而普通办公VM对IOPS要求较低(50以上即可),需结合实际业务判断是否异常。此外,RAID级别也会影响IOPS表现,比如RAID 0、RAID 10的写操作IOPS效率高于RAID 5、RAID 6。
四、进阶技巧:esxtop VM视图其他实用操作(提升效率)
除了查看IOPS和吞吐量,esxtop的VM视图还有很多实用操作,能帮助运维人员更全面地排查VM存储性能问题,新手可逐步掌握:
1. 按指标排序:在VM视图中,按下f键,会弹出指标列表,找到“DISK IOPS”或“DISK Throughput”,按下对应的数字键,即可按该指标升序或降序排序,快速找到IOPS最高/最低的VM,定位高负载虚拟机;
2. 查看详细磁盘指标:按下u键(小写),可切换到存储设备视图,查看VM对应的物理磁盘IOPS和吞吐量,判断是VM本身IO过高,还是物理磁盘性能不足;
3. 保存监控数据:若需要长期分析VM磁盘性能,可在执行esxtop命令时,加上参数esxtop -b -d 5 -n 100 -o disk > /vmfs/volumes/datastore1/iops_log.txt,将监控数据保存到指定文件(5秒刷新一次,共100条数据),后续可导出分析;
4. 实时监控特定VM:若只需监控某一台VM,可在VM视图中按下o键,输入该VM的名称(精确匹配或模糊匹配均可),界面会只显示该VM的性能数据,避免其他VM数据干扰,专注查看目标VM的IOPS和吞吐量变化。
五、常见问题:查看VM磁盘IOPS和吞吐量时的异常及解决方法
操作过程中,可能会遇到esxtop命令执行失败、VM视图无IOPS数据、数值异常等问题,以下4种常见问题,对应详细解决方法,新手也能快速排查:
问题1:执行esxtop命令,提示“command not found”
解决方法:1. 检查命令输入是否正确,确保是小写esxtop,无拼写错误、无多余空格;2. 确认ESXi主机版本,esxtop工具适用于ESXi 6.0及以上版本,若版本过低,需升级ESXi主机;3. 重启ESXi主机的SSH服务(Web界面“服务”中重启TSM-SSH),重新登录SSH后再尝试;4. 若仍无法执行,重启ESXi主机,恢复系统服务。
问题2:按“v”键后,无法进入VM视图,或界面无任何数据
解决方法:1. 确认ESXi主机上有正在运行的虚拟机,若所有VM均未启动,VM视图无数据,启动目标VM后再尝试;2. 按下h键(小写),查看esxtop快捷键帮助,确认当前ESXi版本的VM视图快捷键(部分版本可能为大写V);3. 退出esxtop,重新执行esxtop命令,再按v键切换视图;4. 检查ESXi主机的存储服务是否正常,执行命令/etc/init.d/storage-rpcthread restart,重启存储服务后重试。
问题3:VM视图中,IOPS和吞吐量显示为0,或数值异常偏低
解决方法:1. 确认目标VM已正常启动,且有磁盘读写操作(如打开文件、复制文件),无IO操作时数值为0属于正常;2. 检查VM的虚拟磁盘配置,确认虚拟磁盘已正常挂载,未出现“未连接”状态;3. 切换到存储设备视图(按u键),查看对应物理磁盘的IOPS,若物理磁盘IOPS也为0,检查磁盘连接是否正常,排除物理磁盘故障;4. 重启目标VM,重新执行esxtop命令查看。
问题4:IOPS和吞吐量数值持续过高,VM出现卡顿
解决方法:1. 排查该VM的高IO操作,暂停或推迟文件备份、大量数据传输等操作,错峰执行,降低IO负载;2. 检查VM的虚拟磁盘配置,若虚拟磁盘分配不足,扩容虚拟磁盘;3. 若物理磁盘性能不足(如HDD支撑高IO负载),更换为SSD磁盘,或升级存储阵列;4. 若多台VM同时高IO,分流IO负载,避免多台VM同时进行高IO操作。
六、实用技巧与避坑要点(必看,避免操作失误)
1. 操作前确认SSH服务开启:esxtop命令需通过SSH登录执行,若SSH服务未开启,无法执行命令,提前在ESXi Web界面开启TSM-SSH服务,避免白跑一趟;
2. 区分“VM视图”和“存储视图”:按v键是VM视图(查看单台VM的IOPS),按u键是存储视图(查看物理磁盘的IOPS),不要混淆,排查VM问题优先看VM视图;
3. 结合其他指标综合判断:查看IOPS和吞吐量时,建议同时关注VM的CPU、内存使用率,若CPU、内存正常,仅IOPS/吞吐量异常,可确定是存储IO瓶颈,针对性优化;
4. 避免在高负载时操作:ESXi主机业务高峰期,尽量不要长时间执行esxtop命令(尤其是保存监控数据),避免占用过多系统资源,影响VM正常运行;
5. 牢记常用快捷键:esxtop交互模式中,v(VM视图)、u(存储视图)、f(指标筛选)、o(VM筛选)、s(刷新间隔)、q(退出)是最常用的快捷键,牢记可提升操作效率;
6. 定期监控:建议每天在业务空闲期,查看一次核心VM的IOPS和吞吐量,记录基准值,若出现数值异常波动,及时排查,避免问题扩大。
七、常见误区纠正(避开这些坑,少走弯路)
1. 误区1:esxtop只能查看IOPS,不能查看吞吐量→ 错!esxtop的VM视图同时显示IOPS和吞吐量,只是部分版本指标名称略有差异,仔细查看表格头部即可找到;
2. 误区2:IOPS和吞吐量数值越高越好→ 错!数值过高说明磁盘负载过大,易导致IO超时、VM卡顿,需控制在对应磁盘类型的正常范围,平衡性能和稳定性,比如HDD IOPS持续超过150,就需要优化负载;
3. 误区3:虚拟机未启动,IOPS为0就是异常→ 错!虚拟机未启动时,无任何磁盘IO操作,IOPS和吞吐量显示为0,属于正常空闲状态,启动VM并进行IO操作后,数值会恢复正常;
4. 误区4:只能用esxtop查看VM的IOPS和吞吐量→ 错!除了esxtop,还可通过vCenter的“监控→性能→高级”,选择“磁盘”指标组,查看VM的IOPS和吞吐量(图形化展示更直观),适合多主机批量监控;
5. 误区5:不同VM的IOPS正常范围一致→ 错!不同业务VM的IOPS需求不同,数据库VM、文件服务器VM的IOPS需求远高于普通办公VM,需结合业务场景判断,不能统一标准。
总结
查看VM磁盘IOPS和吞吐量的核心操作非常简单:esxtopv