我有一台家用服务器,它有 Q6600 四核处理器和 8GB RAM,运行 VMWare ESXi 3.5 已有大约 8 个月了。我有 2 个数据存储,每个 1TB(SATA HD),一个有 150GB 可用空间,另一个有 240GB 可用空间。我有 9 个虚拟机全天候运行在上面。一切都很顺利,直到昨天。
出乎意料的是,我停止从 ESXi 中的虚拟机获得响应。起初,我可以使用基础设施客户端进行连接,但是,当我尝试从任何虚拟机获取信息时,我会收到一条消息,提示无法访问虚拟机。查看主机信息,它会显示网络信息、CPU、内存,但当我尝试访问数据存储时,它通常会停止响应。我只能打开一次位于安装 ESXi 的数据存储,所有虚拟机都在那里。现在,我无法再连接到它了,我真的不知道该怎么办。
更新我已经多次重启主机,问题仍然重现。我通过基础设施客户端连接,但几秒钟后,它就无响应了。过了一会儿,我现在无法再通过客户端连接结束更新
诊断问题的最佳方法是什么?我可以毫无问题地访问 ESXi 屏幕,但我不知道该怎么做。我原本想重新安装它,也许使用 4.0 版本,但我不确定是否应该这样做。我可以在哪里(以及如何)访问可以帮助我找出问题所在的东西?
谢谢
新更新我将设置重置为默认设置,然后我就可以连接到 VI 客户端了。我重新连接了其中一台虚拟机,并开始启动它,但又遇到了问题;虚拟机尝试启动,但最终锁定了,VI 客户端变得没有响应,我无法再次连接到它。按照 @pehrs 的建议,我进入了不受支持的模式,并检查了 /var/log/message,发现一堆错误读数。下面是一个示例:
8 月 31 日 02:59:36 vmkernel: 0:00:28:41.882 cpu0:2179)StorageMonitor: 196: vmhba33:0:0:0 status =2/0 0xb 0x0 0x0
8 月 31 日 02:59:37 vmkernel: 0:00:28:42:357 cpu0:5279)<3>ata4: transageld ATA stat/err 0x71/04 至 SCSI SK/ASC/ASCQ 0xb/00/00
8 月 31 日 02:59:37 vmkernel: <4>ata4: status=0x71 { DriveReady DeviceFault SeekComplete Error 0:00:28:42.357 cpu0: 5279)}
最后一条消息重复 1 次
我还在同一文件的某些行上遇到了一些 DriveStatusError。现在,查看 /var/log/vmware/hostd-0.log,在成功打开我重新连接的第一个虚拟机的 vmdk 文件后,我遇到了一些错误:
[2010-08-31 02:44:15:199 'PropertyCollector' 213004 警告] getPropertyProvider 对 haTask-ha-folder-vm-vim.Folder.registerVm-45 失败
[2010-08-31 02:45:05:693 'PropertyCollector' 98311 警告] getPropertyProvider 对 haTask-16-vim.VirtualMachine.powerOn-49 失败
此后,我又收到几个其他 GetPropertyProvider 错误,然后是一些超时... 显然我的硬盘有问题。我该怎么做才能挽救我的虚拟机?我可以对硬盘进行扫描检查吗?如果可以,怎么做?谢谢! 更新结束
答案1
我怀疑您使用的是消费级驱动器?如果是这样,这些驱动器具有板载错误恢复系统,在尝试错误恢复时会暂停卷。发生这种情况时,所有存储服务都可能延迟相当长的时间(10 秒以上)。
在企业级驱动器中,此“功能”被禁用或从未包含,因为假设错误恢复将在 RAID 阵列级别处理(企业部署隐含地假设 RAID)。例如,Western Digital 将此功能(或删除功能!)称为 TLER - 限时错误恢复。实际上,这意味着启用 TLER 的驱动器不会长时间停滞以执行扇区恢复/重新映射/其他操作。
因此,如果您正在运行消费类驱动器,则很有可能您的某个磁盘出现错误,并且它在尝试恢复时会反复停转。
这个问题的解决方案可能有点棘手 - 我不知道是否有任何第三方磁盘错误扫描程序支持 VMFS,并且不会冒险拔出磁盘并用任何东西扫描它们,除非完全确定它不会破坏卷。
答案2
为什么不直接重启主机?如果无法从控制台重启,则只需关闭电源即可。这是一个极端的措施,但我不得不多次这样做。
答案3
您确定已经安装了所需的 .NET 框架吗?我认为 VI Client 需要 .NET 3.5。
我在上次工作中看到过这种情况,当时一个实验室正在尝试运行一个独立的 ESXi 盒。他可以连接,但会挂起、断开连接或以其他方式损坏。我们束手无策,但不知何故,他最终安装了一个额外的 .NET 框架,这完全解决了这个问题。
是的,我知道这听起来很疯狂。
答案4
在 ESX 3.5 上,如果您手动编辑 .vmx 文件(例如在文本编辑器中)并且输入错误,则会破坏 VI 控制台。更糟糕的是,无论谁犯了错误,所有 VI 控制台都会发生这种情况,并且不会给出任何消息、警告或错误。(我向我们的 VMware 代表抱怨了这件事,但他们说这是预期的行为......)
我建议在一切出问题之前,找出团队中每个人手动修改的每台虚拟机。然后验证它们。
如果您与不能准确拼写和打字的人一起工作,这会特别痛苦......