「ESXI 6.5」挂载 PCI 设备后,无法编辑设置。报错:Right-hand side of 'instanceof' is not an object
问题
虚拟机挂载 PCI 设备后,未预留内存,导致无法启动。并且因为 ESXI 6.5 前端问题,导致无法重新编辑配置。解决方案可👉快速跳转
TypeError: Right-hand side of 'instanceof' is not an object
at populatePCIDevices (https://192.168.5.150/ui/scripts/main.js:373:28140)
at https://192.168.5.150/ui/scripts/main.js:374:14725
at https://192.168.5.150/ui/scripts/main.js:428:16782
at https://192.168.5.150/ui/scripts/main.js:326:23176
at m.$digest (https://192.168.5.150/ui/scripts/main.js:326:28780)
at https://192.168.5.150/ui/scripts/main.js:326:30503
at e (https://192.168.5.150/ui/scripts/main.js:325:10071)
at https://192.168.5.150/ui/scripts/main.js:325:11522
如何出现的
前段时间买了张 Nvidia GPU 卡,打算加在服务器上,将在个人电脑上跑图的任务也转到服务器上。通过 PCI 直通的方式,将显卡资源挂载在对应虚拟机上。
在 VMWare ESXI 上编辑挂载 PCI 设备时,没有预留一倍的内存空间,正常成功保存了。
但在启动时,会提示「内存预留不足」
而重新编辑,因为最新版本(2022.x)前端拼写问题,无法再在 UI 界面上操作编辑,报错并强制要求刷新
解决方案
尝试过两种方案,大家按照自身服务器情况进行选择(提前做好备份!)
一、升级 DELL 最新 ESXI 定制版(风险较大)
如果有明确表明支持自己服务器型号的镜像,可以尝试进行下升级。DELL 和 VMWARE 官方镜像不会写出来,且对老机器支持度差,提前备份升级多注意点。
这里顺便记录下,社区中有人一直维护 ESXI 对老机器的可用镜像。感兴趣的同学可以自行判断尝试:https://sysin.org/blog/vmware-esxi-8-u2-oem/
但没有合适镜像或者DELL老服务器就别轻易升级了,服务器会变砖,不用问我怎么知道的。升级方式可以自行搜索,当时气头上,没有做记录,也不想再操作
二、最保险的方案:UI 降级(风险小,操作快)
因为是一个前端问题,将 UI 界面降级到无该问题版本即可
关闭所有虚拟机,进入 VMWARE 维护模式
打开 SSH 开关
使用终端工具连接 VMWARE 命令行。后续操作命令👇
# 1. 删除现在的UI界面
[root@vmware:~] esxcli software vib remove -n esx-ui
Removal Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed:
VIBs Removed: VMware_bootbank_esx-ui_1.34.2-16361878
VIBs Skipped:
# 2. 安装上一个可用版本
[root@vmware:~] esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/esx-ui/VMware_bootbank_esx-ui_1.33.7-15803439.vib
这里,也记录一下这个 VIB 文件的内容,万一会再用呢。粘贴进来就崩溃了😂
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自小尾巴
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果