Esxi对象类型需要托管的 I/O问题解决方法

今天进行服务器例行重启的时候发现HomeAssistantOS虚拟机无法开启电源,错误显示对象类型需要托管的I/O。这个问题按照以下操作进行即可解决。

解决方法

一、启用Esxi SecureShell服务

二、确定出现问题vmdk文件位置

从Esxi Web管理界面主机菜单=>监控=>任务tab栏中查找虚拟机启动失败任务日志


复制出错的vmdk文件绝对路径

三、通过SSH登入Esxi服务器

通过ssh登入Esxi服务器,推荐一个SSH工具XShell。下面将以XShell为例进行操作。

首先新建一个ssh会话连接,主机填写esxi服务器ip或者FQDN,SecureShell默认端口为22,点击连接。

这里推荐使用PublicKey秘钥登录作为身份验证方法具体操作方法参考VmwareDoc。如果暂时性登录也可以使用Keyboard Interactive方式键入密码

登录成功:

使用 vmkfstools工具对出现问题的vmdk文件进行修复:

>vmkfstools -x check 出现错误的vmdk文件绝对路径
 Disk needs repaire
>vmkfstools -x repair 出现错误的vmdk文件绝对路径
 Disk was successfully repaired

而后重新开启虚拟机即可解决问题

问题原因

由于我只找到了解决方法没有找到问题原因,因此在此理顺一下问题。

首先使用在VmwareDocs直接查询问题原因:

没有从中文问题描述找到具体的说明。尝试翻译成英文搜索:object type requires hosted I/O

没有找到关联的问题。在谷歌上搜索:

Vmware Technology Network中相关问题解答:

回答上说出问题的vmdk文件不是ESXi格式,因此需要vmkfstools工具进行转换,而进行vmdk格式判断的一个简单方法是通过命名查看:

因为这个虚拟机是HomeAssistantOS官方提供的一个vmdk文件,而在本次重启之前该虚拟机正常运行,因此我认为这个是解释是站不住脚的。

从HomeAssistant官网下载的文件为ova文件:

DocsVmware关于OVA格式的介绍

由于vSphere Client将会在导入前校验OVA文件,保证OVA文件与目标服务器相兼容,因此出问题的vmdk文件不是ESXi格式这种解释应该不正确。

vmkfstools工具这边来查:

还是不明白vmdk文件出问题的原因。等以后能力提升了再回来看看。


v1.0wep 创建文章并完成解决方案编写

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注