解决虚拟机问题
Citrix提供两种形式的支持:
- 免费,自助支持上Citrix网站
- 付费支持服务,您可以从支持网站购买。
在Citrix技术支持中,您可以在线开通技术支持案例,也可以通过电话联系技术支持中心。
的Citrix的支持如果您遇到异常行为、崩溃或其他问题,站点托管的一些资源可能对您有帮助。资源包括:支持论坛、知识库文章和产品文档。
如果您看到不寻常的VM行为,本节旨在帮助您解决这个问题。本节描述应用程序日志的位置,以及可以帮助您的Citrix Hypervisor解决方案提供商跟踪和解决该问题的其他信息。
重要的是:
仅在您的Citrix Hypervisor解决方案提供商或支持团队的指导下,才能完成本节中的故障排除信息。
厂商更新:使用厂商提供的操作系统更新更新您的虚拟机。供应商可能已经为VM崩溃和其他故障提供了修复。
虚拟机崩溃
如果您正在经历VM崩溃,那么内核崩溃转储可能有助于识别问题。如果可能的话,重现崩溃,并遵循这个过程。请咨询您的客户操作系统供应商进一步调查这个问题。
控制Linux虚拟机崩溃行为
对于Linux虚拟机,崩溃转储行为可以通过actions-after-crash
参数。可能的取值如下:
价值 | 描述 |
---|---|
保存 |
使虚拟机处于暂停状态。(分析) |
重新启动 |
没有核心转储,重启虚拟机。(这是默认设置) |
摧毁 |
没有核心转储,让VM停止。 |
启用保存Linux虚拟机崩溃转储。
在Citrix Hypervisor服务器上,执行以下命令确定虚拟机的UUID。
Xe vm-list name-label=name params=uuid——最小
改变
actions-after-crash
使用价值xe vm-param-set
;以“dom0”为例,执行如下命令:vm_uuid =vm_uuid actions-after-crash=preserve
在虚拟机崩溃。
对于PV guests,在虚拟机中执行如下命令:
Echo c | sudo tee /proc/sysrq-trigger
在dom0上执行dump core命令。例如,运行:
Xl dump-core domid filename
控制Windows虚拟机崩溃行为
Windows虚拟机actions-after-crash
参数不能控制核心转储行为。默认情况下,将放入Windows崩溃转储% SystemRoot % \ Minidump
在Windows虚拟机中。
可通过菜单路径设置转储级别我的电脑>属性>高级>启动和恢复.
处理Linux虚拟机启动问题
有一个实用程序脚本名为xe-edit-bootloader
在Citrix Hypervisor服务器控制域中。此脚本可用于编辑关闭Linux虚拟机的引导加载程序配置,并修复阻止虚拟机启动的问题。
要使用这个脚本:
执行如下命令:
xe vm-list < !——NeedCopy >
此命令确保正在处理的虚拟机被关闭(值电源状态是停止).
UUID的使用方法如下:
Xe-edit-bootloader -u linux_vm_uuid -p partition_number
或者,您可以使用姓名标签,如下所示:
Xe-edit-bootloader -n linux_vm_name_label -p partition_number
分区号表示磁盘中包含文件系统的分区。对于默认的Debian模板,分区号为1因为它是第一个分区。
你被丢到一个编辑那里
grub.conf
加载指定虚拟机的文件。修改后保存并退出编辑器,启动虚拟机。
处理Windows虚拟机UEFI和Secure Boot问题
在启用了uefi的虚拟机上,如何修改XenCenter控制台的屏幕分辨率?
在启用了uefi的虚拟机上,修改XenCenter控制台的屏幕分辨率。
- 打开窗口设置
- 单击更新和安全按钮
- 在恢复选项卡下,按现在重启按钮。
- 导航到进行故障排除>高级选项>UEFI固件设置.
- 新闻重新启动.在重启过程中,UEFI设置菜单加载。
- 导航到设备管理器>OVMF平台配置.显示当前屏幕分辨率。
- 新闻输入查看屏幕分辨率选项。
- 使用方向键选择所需的屏幕分辨率并按下输入.
- 新闻F10保存更改并确认您的选择。
- 重启虚拟机,以更新屏幕分辨率查看XenCenter控制台。
为什么不能创建UEFI安全引导虚拟机?
检查虚拟机操作系统是否支持UEFI Secure Boot模式。在Citrix Hypervisor 8.2中,只有以下操作系统支持安全启动:Windows 10(64位)、Windows Server 2016(64位)、Windows Server 2019(64位)。
检查Citrix Hypervisor服务器是否在UEFI模式下启动。只有在Citrix Hypervisor服务器上配置了Secure Boot证书,才可以创建UEFI Secure Boot虚拟机。安全启动证书仅在UEFI模式下启动的服务器或与UEFI模式在同一池中的服务器上存在。有关更多信息,请参见网络引导.
检查uefi引导的Citrix Hypervisor服务器是否包含在硬件兼容性列表.旧服务器在UEFI模式下启动时可能不包含Secure Boot证书。
如何知道创建安全启动虚拟机的Citrix Hypervisor服务器是否有安全启动证书?
如果您的Citrix Hypervisor服务器采用UEFI模式启动,则需要在服务器上提供Secure Boot证书。Citrix Hypervisor服务器与同一资源池中的其他服务器共享证书。如果资源池中有一个UEFI引导服务器,那么池中的所有服务器都有可用的安全引导证书。
在Citrix Hypervisor服务器上执行如下命令:
配置文件pool-param-get param-name=uefi-certificates uuid= | wc -c . exe
如果它返回一个大于零的值,则表示存在安全引导证书。
要检查证书是否有效,请在Citrix Hypervisor服务器上运行以下命令:
KEK. exe pool-param-get uuid=$(xe pool-list——minimal) param-name= ufi -certificates|base64 -d|tar tv -rw-r——r——root/root 1600 2019-11-11 17:09Auth -rw-r——r——root/root 3212 2019-11-11 17:09 db. log日志示例auth < !——NeedCopy >
如果没有Secure Boot证书,请在Citrix Hypervisor服务器上执行以下命令:
ls /sys/firmware/efi/efivars | grep
如果该命令返回空,则无法在该服务器上创建安全引导虚拟机,因为在UEFI固件中缺少所需的证书。
为什么我的UEFI Secure Boot虚拟机无法启动?
如果您在UEFI Secure Boot虚拟机的控制台看到以下消息,并在XenCenter中看到警告,则说明安全启动进程失败,虚拟机无法启动。
这通常是由于在VM中安装了未签名的驱动程序造成的。调查哪些驱动程序已更新或安装自上次成功的安全启动。
您可以禁用“Secure Boot”,以“setup”方式启动虚拟机,移除未签名驱动程序。
重要的是:
在此之前,通过快照备份您的虚拟机。
在虚拟机所在的Citrix Hypervisor服务器上执行以下命令,将UEFI Secure Boot虚拟机切换为UEFI Boot虚拟机。
varstore-sb-state < VM_UUID >设置
修复虚拟机后,执行以下命令重新启用Secure Boot:
varstore-sb-state < VM_UUID >用户
Windows虚拟机安全启动是否有问题?
若要诊断Windows虚拟机的问题是否由虚拟机启用了安全引导引起,请禁用安全引导并尝试重现该问题。
在虚拟机所在的Citrix Hypervisor服务器上执行以下命令,关闭“Secure Boot”功能。
varstore-sb-state < VM_UUID >设置
调试完问题后,可以运行以下命令重新启用Secure Boot:
varstore-sb-state < VM_UUID >用户
如何在安全引导虚拟机中运行Windows调试?
不能在安全引导虚拟机上运行Windows调试。要在你的VM上运行Windows调试,你可以做以下事情之一:
执行如下命令切换UEFI启动模式:
vm-param-set uuid=< uuid > platform:secureboot=false . exe
重新启动虚拟机。
调试完问题后,可以运行以下命令重新启用Secure Boot:
vm-param-set uuid=< uuid > platform:secureboot=auto . exe
重新启动虚拟机。
该任务指导管理员在虚拟机所在的Citrix Hypervisor服务器上,执行以下命令关闭安全启动功能。
varstore-sb-state < VM_UUID >设置
调试完问题后,可以运行以下命令重新启用Secure Boot:
varstore-sb-state < VM_UUID >用户
为什么我的UEFI VM只显示两个网卡?
即使在创建启用了uefi的VM时设置了两个以上的网卡,当VM首次启动时,您也只能看到两个网卡。虚拟机安装“Citrix VM Tools for Windows”后,可以正常显示此信息。
为什么我的模拟设备显示为不同的类型比预期?
UEFI Secure Boot虚拟机使用NVME和E1000作为仿真设备。然而,当虚拟机第一次启动时,仿真设备显示为不同的类型。虚拟机安装“Citrix VM Tools for Windows”后,可以正常显示此信息。
为什么我不能将我的模板从BIOS模式转换为UEFI或UEFI Secure Boot模式?
只能使用Citrix Hypervisor自带的模板创建具有uefi功能的虚拟机模板。
请勿使用xe template-param-set
命令用于已安装了某些内容的模板或从快照创建的模板。不能修改快照的启动方式,修改启动方式会导致虚拟机启动失败。
如何检查UEFI和UEFI Secure Boot变量?
在UEFI或UEFI Secure Boot虚拟机所在的Citrix Hypervisor服务器上,执行以下命令:
varstore-ls
这个命令列出了guid和可用变量的名称。在以下命令中使用GUID和名称:
varstore-get | hexdump -C
为什么我不能在安全启动虚拟机中使用“测试”驱动程序?
如果客户还在与第三方合作调试和修复其UEFI Secure Boot VM中的问题,第三方提供的可能会提供未签名的驱动程序用于测试或验证。这些驱动程序不能在UEFI安全引导虚拟机中工作。
告诉客户向第三方申请一个签名的驱动程序。或者客户可以将UEFI Secure Boot虚拟机切换到安装模式,以使用unsigned驱动程序运行。