虚拟机高级说明

本节提供一些关于虚拟机的高级注意事项。

虚拟机引导行为

当虚拟机启动时,有两个选项用于虚拟机的VDI行为:

注意:

修改虚拟机启动行为设置前,必须先关闭虚拟机。

持久化(Citrix虚拟桌面-私有桌面模式)

此行为是虚拟机启动时的默认设置。VDI保持在上次关闭时的状态。

如果您计划允许用户对其桌面进行永久更改,请选择此选项。如果选择“持久化”,请先关闭虚拟机,然后输入以下命令:

Xe vdi-param-set uuid=vdi_uuid on-boot=persist 

重置(Citrix虚拟桌面-共享桌面模式)

在VM引导时,VDI将恢复到上次引导时的状态。在虚拟机运行期间所做的任何更改将在下次启动虚拟机时丢失。

如果您计划交付用户无法永久更改的标准化桌面,请选择此选项。如果选择reset,请先关闭虚拟机,然后输入以下命令:

Xe vdi-param-set uuid=vdi_uuid on-boot=reset 

警告:

在你改变之后在引导时=重置,在下次关机/启动或重新启动后,保存到VDI的任何数据将被丢弃。

将ISO库提供给Citrix Hypervisor服务器

如果需要将ISO库提供给Citrix Hypervisor服务器使用,则需要创建外部NFS或SMB/CIFS共享目录。NFS或SMB/CIFS服务器必须允许root用户访问共享。对于NFS共享,通过设置no_root_squash中创建共享条目时的标志/etc/exports在NFS服务器上。

然后使用XenCenter附加ISO库,或者连接到主机控制台并运行命令:

-mount-iso-sr host:/volume 

对于高级用途,您可以向mount命令传递额外的参数。

使用XenCenter或连接到主机控制台,执行以下命令,为主机提供Windows SMB/CIFS共享。

Xe-mount-iso-sr unc_path -t cifs -o username=myname/myworkgroup 

中的反斜杠替换为unc_path带正斜杠的参数。例如:

-mount-iso-sr //server1/myisos -t cifs -o username=johndoe/mydomain 

挂载共享后,可以从从ISO库或DVD驱动器安装列表。这些iso也可以作为CD映像从CLI命令中获得。

将ISO附加到适当的Windows模板上。

通过“远程桌面”连接Windows虚拟机

您可以使用以下方式查看Windows虚拟机控制台,这两种方式都支持充分使用键盘和鼠标。

  • 使用XenCenter。这种方法提供了一个标准的图形化控制台,并使用Citrix Hypervisor内置的VNC技术提供对虚拟机控制台的远程访问。

  • 使用Windows远程桌面连接。该方法采用远程桌面协议技术

在xcenter上控制台Tab,有一个切换到远程桌面按钮。此按钮禁用XenCenter中的标准图形控制台,并切换到使用远程桌面。

如果虚拟机未开启“远程桌面”,此按钮为关闭状态。需要安装“Citrix VM Tools for Windows”。按照下面的步骤在您想要使用远程桌面连接的每个VM中启用它。

在Windows操作系统中开启远程桌面。

  1. 开放系统通过点击开始按钮,右键单击电脑,然后选择属性.

  2. 点击远程设置.如果系统提示您输入管理员密码,请键入在虚拟机安装过程中创建的密码。

  3. 远程桌面区域,单击标记的复选框允许从运行任何版本远程桌面的计算机连接.

  4. 若要选择任何可以连接该Windows虚拟机的非管理员用户,请单击选择远程用户按钮,并提供用户名。默认情况下,Windows域上具有Administrator权限的用户可以连接。

现在可以通过“远程桌面”连接该虚拟机。有关更多信息,请参阅Microsoft知识库文章,使用远程桌面连接连接到另一台计算机.

注意:

不能连接处于休眠或休眠状态的虚拟机。将远程计算机上的睡眠和休眠设置设置为从来没有.

Windows虚拟机的时间处理

对于Windows客户机,最初由控制域时钟驱动时间。虚拟机生命周期操作(如挂起、重启)期间的时间更新。建议在控制域中和所有Windows虚拟机中运行可靠的NTP服务。

如果您手动将虚拟机设置为比控制域早两个小时,那么它将持续存在。您可以通过在虚拟机中使用时区偏移量来提前设置虚拟机。如果稍后更改控制域时间(手动或通过NTP),虚拟机将随之移动,但保持两个小时的偏移量。修改控制域的时区不影响虚拟机的时区和偏移量。Citrix Hypervisor使用虚拟机的硬件时钟设置对虚拟机进行同步。Citrix Hypervisor不使用虚拟机的系统时钟设置。

在执行挂起和恢复操作或使用热迁移时,请确保安装了最新的Citrix VM Tools for Windows。Citrix VM Tools for Windows通知Windows内核在恢复后需要时间同步(可能在不同的物理主机上)。

注意:

在Citrix虚拟桌面环境中使用Windows操作系统的虚拟机时,需要确保主机时钟源与AD域相同。时钟同步失败,会导致虚拟机时间显示错误,导致Windows PV driver崩溃。

Linux虚拟机的时间处理

除了Citrix Hypervisor定义的行为外,操作系统设置和行为也会影响Linux虚拟机的时间处理行为。某些Linux操作系统可能会定期同步其系统时钟和硬件时钟,或者操作系统可能默认使用自己的NTP服务。有关更多信息,请参阅Linux虚拟机操作系统的文档。

注意:

在安装新的Linux虚拟机时,请确保将时区从默认的UTC更改为您的本地值。有关具体的分发说明,请参阅Linux发行说明.

Linux虚拟机的硬件时钟为与控制域中运行的时钟同步,并且可以更改。虚拟机首次启动时,控制域时间用于设置硬件时钟和系统时钟的初始时间。

如果您更改了硬件时钟的时间,则在虚拟机重启时将保留此更改。

系统时钟行为取决于虚拟机的操作系统。有关更多信息,请参阅VM操作系统的文档。

您无法更改Citrix Hypervisor的这种时间处理行为。

通过Reseller Option Kit (bios锁定)介质安装虚拟机

虚拟机分为bios通用型和bios定制型。要在虚拟机上安装Reseller Option Kit (BIOS锁定)OEM版本的Windows,请从提供介质的主机上复制虚拟机的BIOS字符串。高级用户也可以在BIOS字符串中设置自定义值。

BIOS-generic

虚拟机具有通用的Citrix Hypervisor BIOS字符串。

注意:

如果虚拟机在启动时没有设置BIOS字符串,则会插入标准的Citrix Hypervisor BIOS字符串,使虚拟机成为BIOS通用型。

BIOS-customized

对于HVM虚拟机,有两种方式可以自定义BIOS: Copy-Host BIOS字符串和User-Defined BIOS字符串。

注意:

虚拟机首次启动后,不支持修改BIOS字符串。第一次启动虚拟机时,请确保BIOS的字符串设置正确。

拷贝主机BIOS字符串

虚拟机拥有池中特定服务器的BIOS字符串的副本。要安装主机自带的bios锁定介质,请遵循以下步骤。

使用XenCenter:

  1. 单击将主机BIOS字符串拷贝到虚拟机中“新建虚拟机向导”中的复选框。

使用CLI:

  1. 运行vm-install copy-bios-strings-from命令。指定host-uuid作为从其中复制字符串的主机(即提供媒体的主机):

    xe VM -install copy-bios-strings-from=host uuid \ template=模板名sr-name-label=模板名sr-name-label=新虚拟机名

    该命令返回新创建的虚拟机的UUID。

    例如:

    xe vm-install copy-bios-string -from= "win7sp1" sr-name-label=Local\ storage \ new-name-label=newcentos 7cd98710-bf56-2045-48b7-e4ae219799db 
  2. 如果主机BIOS的相关字符串已经成功拷贝到虚拟机中,则执行以下命令vm-is-bios-customized确认这一成功:

    xe VM -is-bios-customized uuid=虚拟机uuid 

    例如:

    xe VM -is- BIOS-customized uuid=7cd98710-bf56-2045-48b7-e4ae219799db该虚拟机为bios自定义。<!——NeedCopy >

    注意:

    启动虚拟机时,虚拟机将在拷贝BIOS字符串的物理主机上启动。

警告:

您有责任遵守管理您所安装的任何bios锁定操作系统使用的任何eula。

用户自定义BIOS字符串

用户可以通过CLI/API设置所选BIOS字符串的自定义值。要在具有自定义BIOS的HVM虚拟机中安装介质,请遵循以下步骤。

使用CLI:

  1. 运行vm-install命令(不带copy-bios-strings-from):

    xe VM -install template=模板名称sr-name-label=模板名称sr-name-label=新虚拟机名称——NeedCopy >

    该命令返回新创建的虚拟机的UUID。

    例如:

    “win7sp1 . exe vm-install template="win7sp1" sr-name-label=Local\ storage \ new-name-label=newcentos 7cd98710-bf56-2045-48b7-e4ae219799db 
  2. 首次启动虚拟机时,需要执行以下命令设置BIOS自定义字符串。

    bios-strings:system-manufacturer=VALUE \ bios-strings:system-product-name=VALUE bios-strings:system-version=VALUE bios-strings:system-version=VALUE bios-strings:system-serial-number=VALUE bios-strings:enclosure-asset-tag=VALUE 

    例如:

    \ bios-strings:system-product-name=guest1 \ bios-strings:system-product-name=guest1 \ bios-strings:system-serial-number="序列号" \ bios-strings:system-serial-number="序列号" \ bios-strings: chassis -asset-tag=abk58hr 

    注:

    • 一旦用户定义的BIOS字符串在单个CLI/API调用中被设置,它们就不能被修改。
    • 您可以决定要提供多少个参数来设置用户定义的BIOS字符串。

警告:

你有责任:

  • 在虚拟机的BIOS中设置的值应遵循任何eula和标准。
  • 确保为参数提供的值是工作参数。提供不正确的参数可能导致引导/媒体安装失败。

为Windows虚拟机分配图形处理器(适用于Citrix虚拟桌面)

Citrix Hypervisor支持将Citrix Hypervisor服务器中的物理图形处理器分配给同一主机上的Windows虚拟机。这种GPU直通功能有利于图形高级用户,例如需要高性能图形功能的CAD设计人员。它仅支持与Citrix虚拟桌面一起使用。

虽然Citrix Hypervisor只支持每个虚拟机一个GPU,但它可以自动检测和分组同一池中不同主机的相同物理GPU。一旦分配给一组图形处理器,虚拟机可以在池中任何有可用图形处理器的主机上启动。绑定GPU后,虚拟机将不再具有热迁移、带内存快照、挂起/恢复等特性。

为池中的虚拟机分配图形处理器时,不影响池中其他虚拟机的正常运行。然而,带有gpu的虚拟机被认为是非敏捷的。如果绑定gpu的虚拟机是高可用池的成员,则两个特性都会忽略这些虚拟机。不能自动迁移虚拟机。

GPU直通功能仅支持Windows虚拟机。可以通过XenCenter或xe命令行开启。

需求

GPU直通支持特定的机器和GPU。在所有情况下,必须在Citrix Hypervisor服务器上可用并启用IOMMU芯片组特性(对于Intel型号称为VT-d)。开启GPU直通特性前,请先访问硬件兼容性列表.

为虚拟机分配图形处理器前

在为虚拟机分配GPU之前,请将适当的物理GPU放在Citrix Hypervisor服务器中,然后重新启动该机器。重启后,Citrix Hypervisor会自动检测物理图形处理器。查看池中所有主机的物理gpu,可使用xe pgpu-list命令。

确保主机已开启IOMMU芯片组特性。为此,输入以下内容:

Xe host-param-get uuid=uuid_of_host param-name=chipset-info param-key=iommu 

如果打印的值是在指定的Citrix Hypervisor服务器上,未启用IOMMU,且GPU直通功能不可用。

使用XenCenter界面为Windows虚拟机分配图形处理器。

  1. 关闭待分配图形处理器的虚拟机。

  2. 打开虚拟机属性:右键单击虚拟机,选择属性.

  3. 为虚拟机分配图形处理器:在虚拟机属性列表中选择“图形处理器”,再选择图形处理器的类型。点击好吧.

  4. 启动虚拟机。

使用xe命令行为Windows虚拟机分配图形处理器。

  1. 使用命令关闭待分配图形处理器组的虚拟机xe vm-shutdown命令。

  2. 输入如下命令查找GPU组的UUID:

    Xe gpu-group-list 

    该命令用于打印资源池中所有GPU组。请注意相应GPU组的UUID。

  3. 将虚拟机绑定到图形处理器组,输入如下命令:

    Xe vpgu-create gpu-group-uuid=uuid_of_gpu_group vm-uuid=uuid_of_vm 

    为确保已绑定GPU组,可执行xe vgpu-list命令。

  4. 启动虚拟机xe vm-start命令。

  5. 虚拟机启动后,需在虚拟机上安装显卡驱动。

    安装驱动程序是必要的,因为VM可以直接访问主机上的硬件。驱动程序由硬件供应商提供。

注意:

如果在GPU组中没有可用的GPU的主机上启动GPU直通模式的虚拟机,Citrix Hypervisor会打印错误。

使用XenCenter将Windows虚拟机与图形处理器解绑定。

  1. 关闭虚拟机

  2. 打开虚拟机属性:右键单击虚拟机,选择属性.

  3. 解绑定图形处理器:选择GPU从虚拟机属性列表中,然后选择没有一个为GPU类型。点击好吧.

  4. 启动虚拟机。

使用xe命令行将Windows虚拟机与图形处理器解绑定。

  1. 使用命令关闭虚拟机xe vm-shutdown命令。

  2. 通过以下命令查找该虚拟机所绑定的vGPU的UUID:

    Xe vgpu-list vm-uuid=uuid_of_vm 
  3. 解绑定图形处理器,具体操作方法如下:

    Xe vgpu-destroy uuid= uid_of_vgpu 
  4. 启动虚拟机xe vm-start命令。

创建ISO镜像

Citrix Hypervisor支持使用ISO镜像作为Windows和Linux虚拟机的安装介质和数据源。本节介绍如何从CD/DVD介质制作ISO镜像。

在Linux系统上创建ISO文件。

  1. 将CD或DVD-ROM磁盘放入驱动器。确保磁盘未挂载。使用命令查看:

    山< !——NeedCopy >

    如果磁盘已挂载,请卸载磁盘。如有必要,请参阅操作系统文档以获得帮助。

  2. 以root用户执行命令

    Dd if=/dev/cdrom of=/path/cdimg_filename。iso < !——NeedCopy >

    这个命令需要一些时间。当操作成功完成时,您将看到如下内容:

    1187972+0条入1187972+0条出

    ISO文件准备好了。

在Windows系统上创建ISO文件。

Windows计算机没有相应的操作系统命令来创建ISO。大多数CD刻录工具都有将CD保存为ISO文件的方法。