VMWare ESXi 6.5 部分常见Bug和Workround合集

最近在折腾实验室的ESXi,出了点大大小小的问题,记录如下。

设备热插拔导致VCSA数据库异常

  • 现象:对开机的虚拟机,用VCSA切换USB设备,提示Cannot complete operation due to concurrent modification by another operation.,设备无法链接。重启VCSA后,有很大概率无法启动,/var/log/vmware/vpxd/vpxd.log下报故障:
ODBC error: (23505) – ERROR: duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”;
Error while executing the query” is returned when executing SQL statement “INSERT INTO VPX_VM_VIRTUAL_DEVICE (ID, DEVICE_KEY, CONN_AL_GU_CONTROL_FLAG, CONN_CONNECTED_FLAG, CONN_START_CONNECTED_FLAG, CONN_STATUS, DEVICE_INFO_SUMMARY, DEVICE_INFO_LABEL, DEVICE_CONTROLLER_KEY, DEVICE_UNIT_NUMBER, DEVICE_TYPE, DEVICE_TEXT) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
  • Workround:
    • 方法1. 升级到VCSA 6.5b
    • 方法2. 手工修改数据库
      • 检查/var/log/vmware/vpostgres/postgre*.log中,查找类似于下方的日志,并记录: 2016-11-26 10:33:20.283 AEDT 5838c272.1698 149799 VCDB vc DETAIL: Key (id, device_key)=(501, 0) already exists.
      • /etc/vmware-vpx/vcdb.properties得到数据库登陆口令和密码后,用/opt/vmware/vpostgres/current/bin/psql连入数据库
      • 检查vc.vpx_vm_virtual_device表中的项目,删除合适的项目。
      • 方法3. (适用于VCSA仍能正常启动)将涉及到USB设备操作的虚拟机反注册之后重新注册

ESXi对部分USB设备驱动支持不良

  • 现象:多种故障。如对富士施乐P115b打印机,只能打印一页;对部分IBM USB有线网卡,有严重的丢包现象
  • Workround:
    • 方法1. 升级到ESXi6.5b
    • 方法2. 在ESXi主机上禁用自带的usb驱动,并重启:
esxcli system module set -m=vmkusb -e=FALSE

ESXi在部分旧机器上无法启动

//解决方法忘掉了……

参考文档

  1. vCenter Server 6.5.0b Release Notes
  2. vCenter – VdbODBCError – unique constraint pk_vpx_vm_virtual_device – fix