VM 问题故障排除

Citrix 提供两种形式的支持:

  • [Citrix] () Web 站点上的免费自助支持
  • 可以从支持站点购买的付费支持服务。

通过 Citrix 技术支持,您可以在遇到技术问题时,打开在线支持案例或者通过电话与支持中心联系。

Citrix 支持站点包含许多资源,当您遇到异常行为、崩溃或其他问题时,这些资源可能会对您有所帮助。资源包括:技术支持论坛、知识库文章和产品文档。

本节旨在帮助您解决遇到的异常 VM 行为。本节还提供了应用程序日志所在位置以及其他有助于 XenServer 解决方案提供商和 Citrix 跟踪并解决问题的信息。

重要:

请仅在 XenServer 解决方案提供商或 Citrix 技术支持人员的指导下利用本节的故障排除信息解决问题。

供应商更新:请使用操作系统供应商提供的更新,对 VM 进行更新。供应商可能会提供针对 VM 崩溃和其他故障的修复。

VM 崩溃

如果遇到 VM 崩溃,内核故障转储可能会帮助您发现问题。请重现崩溃(如有可能)并按照此过程进行操作。请咨询来宾操作系统供应商,以对此问题进行进一步调查。

控制 Linux VM 故障转储行为

对于 Linux VM,可以通过 actions-after-crash 参数控制故障转储行为。以下是可能的值:

说明
preserve 使 VM 处于暂停状态。(供分析使用)
restart 不进行核心转储,仅重新启动 VM。(这是默认值)
destroy 不进行核心转储,使 VM 处于停止状态。

对 Linux VM 故障转储启用保存功能:

  1. 在 XenServer 主机上,通过运行以下命令确定所需 VM 的 UUID:

    xe vm-list name-label=name params=uuid --minimal
    
  2. 使用 xe vm-param-set 更改 actions-after-crash 值;例如,在 dom0 上运行以下命令:

    xe vm-param-set uuid=vm_uuid actions-after-crash=preserve
    
  3. 使 VM 崩溃。

    • 对于 PV 来宾系统,请在 VM 上运行以下命令:

      echo c | sudo tee /proc/sysrq-trigger
      
    • 对于 HVM 来宾系统,请在 dom0 上运行以下命令:

      /usr/lib/xen/bin/crash_guest vm-domid
      
  4. 在 dom0 上执行核心转储。例如,运行:

    xl dump-core domid filename
    

控制 Windows VM 故障转储行为

对于 Windows VM,actions-after-crash 参数无法控制核心转储行为。默认情况下,Windows 故障转储放在 Windows VM 自身的 %SystemRoot%\Minidump 中。

可以按照以下菜单路径配置 VM 转储级别:我的电脑 > 属性 > 高级 > 启动和故障恢复

Linux VM 上的引导问题故障排除

XenServer 主机控制域中存在名为 xe-edit-bootloader 的实用程序脚本。可以使用此脚本编辑已关闭 Linux VM 的引导加载程序配置,以及解决阻止 VM 启动的问题。

要使用此脚本,请执行以下操作:

  1. 运行以下命令:

    xe vm-list
    

    此命令可确保涉及的 VM 已关闭(power-state 的值为 halted)。

  2. 可以按以下方式使用 UUID:

    xe-edit-bootloader -u linux_vm_uuid -p partition_number
    

    或者,可以按如下所示使用 name-label:

    xe-edit-bootloader -n linux_vm_name_label -p partition_number
    

    分区号表示包含文件系统的磁盘分区。对于默认 Debian 模板,分区号为 1,因为它是第一个分区。

  3. 此时将打开一个编辑器,其中加载了指定 VM 的 grub.conf 文件。更改该文件以对其进行修复,保存该文件并退出编辑器,然后启动 VM。

VM 问题故障排除