2026年01月20日/ 浏览 12
重启,维护模式搞不清?一文搞懂ESXi主机命令行操作。
最近帮公司搞虚拟化,天天对着那台ESXi服务器。说实话,刚开始真懵,图形界面点来点去,一出问题,或者要批量处理点啥,那叫一个抓瞎。后来逼着自己学命令行,才发现,原来这玩意儿才是真省事。特别是SSH开起来,远程敲几行代码,比鼠标点半天强多了。
公司那台老服务器装的ESXi,以前出问题,要么等它自己恢复,要么直接断电重启,特别怕把上面跑的业务搞挂。现在不一样了,知道怎么进命令行,很多事自己就能搞定,不用再求IT部门了。
想用命令,首先得把SSH打开。不然你连进去都费劲。方法其实挺简单,在服务器面前,按F2,输root密码,进去找“Troubleshooting Options”(故障排除选项)。在这里把“Enable SSH”和“ESXi Shell”都给打开就行。开了之后,你就能用Xshell、PuTTY这类软件,从自己电脑连上去了。
我一般都用Xshell连。IP地址填上,端口22,用户名root,然后输密码,咔一声就进来了。这时候屏幕全是黑的,一串命令等着你敲。别怕,这说明你成功一半了。刚用的时候也手抖,怕删错东西,后来发现ESXi还挺稳,没那么脆弱。

进了系统第一件事,我习惯看看这台服务器啥情况。敲个`vmware -v`,马上就知道ESXi是哪个版本,打了啥补丁。再敲个`esxcli system version get`,信息更全,版本号清清楚楚。有时候升级或者查问题,这个信息特别关键。
时间对服务器太重要了。时间不对,日志都乱套。看看现在时间对不对,就执行`esxcli system time get`。要是差得远,就得手动调,不过一般都配了ntp,让它自动同步最好。
服务器要升级或者挪点数据,得先放“休息”。这就是进“维护模式”。命令是`esxcli system maintenanceMode set --enable true`。执行完,再用`esxcli system maintenanceMode get`看一眼,确认状态是激活的,才能进行下一步操作。
不在维护模式,很多操作没法搞。尤其是关机重启这种大事。想重启服务器,命令是`esxcli system shutdown reboot`。想要关机,就是`esxcli system shutdown poweroff`。这两个操作必须在维护模式下才行,不然命令直接报错。
网络有问题是最烦人的。这时候得查查。`esxcli network ip interface ipv4 get`这条命令能列出所有网卡的IP地址,看哪个没分配。路由表有没有问题,用`esxcli network ip route ipv4 list`看一下就知道。
硬盘信息也得心里有数。`esxcli storage core device list`能把所有挂载的硬盘列出来,包括型号、容量、状态。有时候新硬盘加进去了不识别,或者快坏了,一查这个列表就一目了然。
网络这块还有很多看的。`esxcli network nic list`能看到物理网卡的状态、速率、MAC地址。要是某个网口坏了,这里马上就能发现。虚拟交换机的情况用`esxcfg-vswitch -l`命令就能全看明白。
最常用的还是管理上面跑的虚拟机。`esxcli vm process list`能列出所有正在运行的虚拟机,每个都有个进程号(World ID)。哪个虚拟机卡死了,就用`esxcli vm process kill --type=hard --world-id=XXXX`给它硬关了。
还有个老命令叫`vim-cmd`。查所有虚拟机ID用`vim-cmd vmsvc/getallvms`。想关某一个,先用`vim-cmd vmsvc/power.getstate VMID`看看状态,然后`vim-cmd vmsvc/power.off VMID`就能关机。开机用`power.on`,重启用`power.reset`。
有时候装更新或者打补丁,图形界面卡住,只能上命令行。把补丁包上传到数据存储里,然后用`esxcli software profile update`命令指定路径去升级。这招救过几次急。
硬件信息也能查。`esxcli hardware cpu list`看看CPU型号核数,`esxcli hardware memory get`看看内存大小。服务器健康状况,基本都能通过命令行摸一遍。
其实会的命令就那么几个,关键是要记住。每次操作前都在脑子里过一遍,别手滑。命令行看着吓人,用熟了就跟呼吸一样自然。现在我宁愿敲命令也不愿点鼠标了。
最后一条:做完操作,记得把SSH关了。安全第一,开着远程访问谁知道什么时候出事。