news 2026/9/23 11:01:27

VMware 常用命令速查:从 esxcfg-vswitch 到 vmkiscsi-tool 的排障清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VMware 常用命令速查:从 esxcfg-vswitch 到 vmkiscsi-tool 的排障清单

1. ESXi 主机排障为什么绕不开这些命令

如果你正在维护 VMware ESXi 主机,尤其是遇到虚拟机网络不通、iSCSI 存储掉线、NAS 挂载失败、SSH 连不上这类问题时,图形界面(vSphere Client)有时候会转圈、报错信息也不够具体。这时候真正能救场的,是 ESXi 命令行里那一套esxcfg-*vmkiscsi-tool工具。它们能直接告诉你虚拟交换机怎么配的、物理网卡挂到哪、防火墙端口开没开、iSCSI target 有没有连上。

这篇内容面向 ESXi 主机运维和虚拟网络排障场景,把esxcfg-vswitchesxcfg-firewallesxcfg-nasvmkiscsi-tool这几个高频命令的典型用法、输出解读、逐条验证动作整理成一份可复制的排障清单。同时我会说明怎么借助 TaoToken 的统一 Key/API 通道,把配置核对、命令输出整理、多主机比对这些重复动作串起来,减少来回切换工具的时间。适合已经能 SSH 登录 ESXi 主机、但面对一堆esxcfg参数容易记混的运维同学。

需要先说明一点:ESXi 7.0 之后部分esxcfg-*命令被esxcli体系逐步替代,但很多存量环境(5.5/6.0/6.5/6.7)里这些命令依然是最直接的排障入口。下面每条都给出可复制命令和验证动作,你可以在实验环境先跑一遍再上生产。

2. 前置准备:SSH 通道与 TaoToken 统一 Key 通道

排障第一步是能稳定登录 ESXi 主机。默认情况下 ESXi 的 SSH 服务是关闭的,你需要在 DCUI(直接控制台)或 vSphere Client 里先启用。启用后直接用终端登录:

ssh root@<esxi-host-ip>

登录后先确认版本,不同版本命令行为有差异:

vmware -v

输出类似VMware ESXi 6.7.0 build-xxxxxxxx,记下主版本号,后面查命令兼容性会用到。

接下来是我实际排障时觉得效率提升明显的一步:把命令输出、配置核对、多主机比对这些文本处理动作,通过 TaoToken 的统一 API 通道接进来。TaoToken 提供统一的 Key 和 API 入口,你可以用同一个 Key 调用模型对话能力,把esxcfg-vswitch -l的输出粘进去让它帮你比对差异、生成核对清单,或者把报错信息整理成排查步骤。

具体操作路径:

  • 先到 TaoToken 控制台 创建 API Key;
  • Key 管理页在 API Keys;
  • 接入文档参考 TaoToken 文档;
  • 想直接对话验证模型效果,用 模型对话。

API 基础地址是https://taotoken.net/api,不带 UTM 参数,配置时直接填这个。

注意:TaoToken 在这里的角色是帮你整理和核对配置文本、生成排障清单,不是替代 ESXi 本身的命令执行。命令还是要在 ESXi 主机上跑,TaoToken 负责把输出变成可读的结论。

如果你长期做编码或 Agent 类工作,可以看 Coding Plan;Claude Code 相关接入参考 ClaudeCodeAnthropic。

3. 可复制配置:虚拟交换机与网卡命令清单

3.1 esxcfg-vswitch 查看与创建虚拟交换机

先看当前虚拟交换机全貌:

esxcfg-vswitch -l

输出会列出每个 vSwitch 的名称、端口数、上行链路(vmnic)、以及挂在上面的 portgroup。重点看三列:Uplinks是否为空、Portgroups里有没有你预期的网络标签、MTU是否符合存储网络要求(iSCSI/vMotion 常要 9000)。

查看物理网卡状态:

esxcfg-nics -l

输出里LinkUp才算物理链路正常,SpeedDuplex也要确认。如果某块网卡LinkDown,先查交换机侧端口和线缆,别急着改 vSwitch 配置。

创建一个新虚拟交换机并挂两块物理网卡:

esxcfg-vswitch -a vSwitch1 esxcfg-vswitch -A internal vSwitch1 esxcfg-vswitch -L vmnic1 vSwitch1 esxcfg-vswitch -L vmnic2 vSwitch1

逐条解释:-a新建 vSwitch;-A在 vSwitch 上新建 portgroup,名字叫internal-L把物理网卡挂上去。执行完再跑一次esxcfg-vswitch -l,确认vSwitch1的 Uplinks 里出现 vmnic1 和 vmnic2。

删除操作要格外小心,别把管理网络所在的 vSwitch 删了:

esxcfg-vswitch -u vmnic1 vSwitch2 esxcfg-vswitch -D internal vSwitch1 esxcfg-vswitch -D vSwitch1

-u是移除上行链路,-D是删除 portgroup 或整个 vSwitch。删之前一定先esxcfg-vswitch -l确认这个 vSwitch 上没有管理口或 vMotion 口。

3.2 创建 vmkernel 接口用于 vMotion 和 iSCSI

vMotion 和 iSCSI 都需要 vmkernel 接口,通常不配网关:

esxcfg-vswitch -a vSwitch2 esxcfg-vswitch -A "vm kernel" vSwitch2 esxcfg-vswitch -L vmnic3 vSwitch2 esxcfg-vmknic -a "vm kernel" -i 172.16.1.141 -n 255.255.252.0

esxcfg-vmknic -a创建 vmkernel 接口,-i是 IP,-n是子网掩码。创建后用下面命令确认:

esxcfg-vmknic -l

输出里能看到vmk0vmk1等接口及其对应 portgroup 和 IP。如果 IP 没出现,检查 portgroup 名字是否和-a时一致,大小写和空格都算。

3.3 esxcfg-firewall 防火墙端口排查

查看所有已知服务及开关状态:

esxcfg-firewall -s

查询具体服务,比如 SSH 客户端:

esxcfg-firewall -q sshclient

输出会显示该服务是enabled还是disabled,以及对应端口。开启和关闭:

esxcfg-firewall -e sshclient esxcfg-firewall -d sshclient

-e启用,-d禁用。排障时如果发现某个端口不通,先用-q确认服务状态,再查物理网络和上游防火墙,别一上来就改 ESXi 防火墙规则。

3.4 esxcfg-nas 挂载与重连 NAS

添加 NAS 数据存储:

esxcfg-nas -a isos -o nas.example.com -s isos

-a是本地标签,-o是 NAS 服务器地址,-s是共享名。列出当前 NAS 连接:

esxcfg-nas -l

如果 NAS 显示不可用或挂载丢失,强制重连:

esxcfg-nas -r esxcfg-nas -l

-r会重新连接所有已配置的 NAS 设备,再-l看结果。如果还是失败,检查 NAS 侧导出权限和 ESXi 主机到 NAS 的网络连通性。

3.5 vmkiscsi-tool 连接 iSCSI target

启用软件 iSCSI:

esxcfg-swiscsi -e

查询状态用-q,禁用用-d。添加 target IP:

vmkiscsi-tool -D -a 172.16.1.133 vmhba40

-D表示对发现地址操作,-a添加,vmhba40是 iSCSI 适配器名,用esxcfg-scsidevs -a可以查到。列出当前 target 连接:

vmkiscsi-tool -l -T vmhba40

输出里能看到 target 名称、状态、IP。如果状态不是connected,检查网络、target 侧 ACL、CHAP 认证配置。

4. 验证请求与成功结果解读

配置改完后,逐条验证比一次性重启服务更安全。下面是我常用的验证顺序。

先看虚拟交换机整体:

esxcfg-vswitch -l

成功标志:目标 vSwitch 的 Uplinks 列出正确 vmnic,Portgroups 包含你创建的标签,MTU 符合预期。

再看 vmkernel 接口:

esxcfg-vmknic -l

成功标志:vmk 接口 IP、掩码、portgroup 三者对应正确。

防火墙:

esxcfg-firewall -q sshclient

成功标志:输出Service sshclient is enabled或对应端口已放行。

NAS:

esxcfg-nas -l

成功标志:共享显示为mountedavailable,没有unavailable

iSCSI:

vmkiscsi-tool -l -T vmhba40

成功标志:target 状态为connected,且esxcfg-scsidevs -a能看到对应 LUN。

如果你想把多台主机的输出做比对,可以把这些命令结果保存成文本,通过 TaoToken 的 模型对话 粘贴进去,让它帮你列出差异项和可疑配置。API 调用方式参考 接入文档,基础地址https://taotoken.net/api

5. 本篇常见错排查

错误一:esxcfg-vswitch -LInvalid uplink

原因通常是 vmnic 名字写错,或者该网卡已被其他 vSwitch 占用。先用esxcfg-nics -l确认网卡名,再用esxcfg-vswitch -l看它挂在哪个 vSwitch 上。一块物理网卡不能同时挂两个 vSwitch 做上行链路。

错误二:创建 vmkernel 接口后 IP 不生效

检查 portgroup 名字是否和esxcfg-vmknic -a里的名字完全一致,包括空格。"vm kernel""vmkernel"是两个不同的 portgroup。另外确认 vSwitch 上已挂上行链路。

错误三:esxcfg-firewall -q查不到服务

服务名拼写要准确,比如sshclient不是ssh-client。可以用esxcfg-firewall -s列出所有已知服务名再查。

错误四:NAS 挂载后显示 unavailable

vmkping <nas-ip>确认网络通,再检查 NAS 侧是否允许该 ESXi 主机 IP 访问共享。esxcfg-nas -r重连后如果仍失败,看/var/log/vmkernel.log里的 NFS 相关报错。

错误五:iSCSI target 添加后不显示 LUN

vmkiscsi-tool -l -T vmhba40看 target 是否 connected。如果 connected 但没有 LUN,检查 target 侧 LUN masking 和 ESXi 的 iSCSI 适配器是否已启用。必要时用esxcfg-swiscsi -s强制重新扫描。

错误六:改完配置忘了重启管理服务

部分配置变更后需要重启管理服务才生效:

service mgmt-vmware restart

重启期间 vSphere Client 会短暂断开,属正常现象。生产环境建议在维护窗口操作。

6. 把命令清单接进你的日常排障流程

上面这些命令单独跑不难,难的是每次排障都要重新回忆参数、比对多台主机输出、整理成报告。我的做法是把常用命令存成一个脚本模板,输出统一保存到带时间戳的文件里,然后通过 TaoToken 的 API 通道把文本送进模型做差异分析和清单生成。这样多主机环境下的配置漂移能更快发现。

如果你还没配 Key,先到 API Keys 创建一个,接入细节看 TaoToken 文档。长期做运维自动化或 Agent 的,可以了解 Coding Plan。

最后提醒一句:esxcfg-vswitch -Desxcfg-nas -d这类删除操作,执行前一定先-l确认目标,管理网络所在的 vSwitch 和 portgroup 千万别动。命令本身不复杂,复杂的是知道自己正在删什么。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 11:01:08

3步搞定不用下载马上拍照搜题性能优化最佳实践

3步搞定不用下载马上拍照搜题性能优化最佳实践 报错一堆看不懂 StackTrace?别慌,这种“不用下载马上拍照搜题”的场景,往往不是代码写错了,而是底层逻辑没理顺。很多开发者一遇到页面白屏或者识别慢,就盲目加缓存、改配置,结果越改越乱。真正的最佳实践,不是堆砌工具,而是看懂浏览器到底在干嘛。今天咱…

作者头像 李华
网站建设 2026/9/23 11:01:03

AIDA营销法则:从注意力到行动的转化链设计

1. AIDA不是模型&#xff0c;是百年营销逻辑的实战切片很多人一看到“AIDA模型”四个字&#xff0c;第一反应是——这又是个AI时代新冒出来的算法模型&#xff1f;是不是要调参、训权重、搞embedding&#xff1f;我刚接触这个概念时也这么想&#xff0c;直到翻出1898年美国广告…

作者头像 李华
网站建设 2026/9/23 11:00:52

侠盗飞车秘籍直升机避坑指南:3步搞定配置,一文搞懂

侠盗飞车秘籍直升机避坑指南:3步搞定配置,一文搞懂 配置环境就卡半天,是不是让你头大?别急,这不仅是你的问题,也是很多刚接触游戏模组开发或逆向工程朋友们的常态。哪怕只是想在《侠盗飞车》里弄个直升机飞行秘籍,或者想通过代码实现类似的动态物体控制逻辑,底层的引擎交互、内存偏移量计算、调试器配置,哪一样不…

作者头像 李华
网站建设 2026/9/23 11:00:38

3年踩坑才明白波什怎么了才是性能优化真神

3年踩坑才明白波什怎么了才是性能优化真神 看了一堆教程还是不会写项目?别怪自己笨,是你把重点全放歪了。 很多新人以为【波什怎么了】是某个冷门库的bug,或者某位大神的梗。 大错特错。在真正的后端高性能架构里,它代表了一种极端的内存泄漏与GC风暴场景。…

作者头像 李华
网站建设 2026/9/23 11:00:35

5类牧场物语下载工具图解原理与选型避坑指南

5类牧场物语下载工具图解原理与选型避坑指南 打开命令行窗口,满屏红色的 StackTrace 报错让人头皮发麻,明明只是下载个《牧场物语》的游戏资源包,却像拆炸弹一样心惊胆战。别急着重启电脑,这种“报错一堆看不懂”的困境,往往是因为你只知其然,不知其所以然。今天不聊虚的,直接上干货,用 图解原理…

作者头像 李华
网站建设 2026/9/23 11:00:34

3步搞定模拟驾驶2009手写实现,拒绝性能优化翻车

3步搞定模拟驾驶2009手写实现,拒绝性能优化翻车 复制来的模拟驾驶2009代码一跑就崩,报错日志滚屏却找不到断点,这种抓心挠肝的调试痛苦谁懂?别急着删库跑路,这往往不是逻辑错误,而是底层资源调度在特定场景下的性能优化失衡。…

作者头像 李华