虚拟机高级说明
本节提供一些关于虚拟机的高级注意事项。
虚拟机引导行为
当虚拟机启动时,有两个选项用于虚拟机的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操作系统中开启远程桌面。
开放系统通过点击开始按钮,右键单击电脑,然后选择属性.
点击远程设置.如果系统提示您输入管理员密码,请键入在虚拟机安装过程中创建的密码。
在远程桌面区域,单击标记的复选框允许从运行任何版本远程桌面的计算机连接.
若要选择任何可以连接该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:
- 单击将主机BIOS字符串拷贝到虚拟机中“新建虚拟机向导”中的复选框。
使用CLI:
运行
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
如果主机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:
运行
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
首次启动虚拟机时,需要执行以下命令设置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虚拟机分配图形处理器。
关闭待分配图形处理器的虚拟机。
打开虚拟机属性:右键单击虚拟机,选择属性.
为虚拟机分配图形处理器:在虚拟机属性列表中选择“图形处理器”,再选择图形处理器的类型。点击好吧.
启动虚拟机。
使用xe命令行为Windows虚拟机分配图形处理器。
使用命令关闭待分配图形处理器组的虚拟机
xe vm-shutdown
命令。输入如下命令查找GPU组的UUID:
Xe gpu-group-list
该命令用于打印资源池中所有GPU组。请注意相应GPU组的UUID。
将虚拟机绑定到图形处理器组,输入如下命令:
Xe vpgu-create gpu-group-uuid=uuid_of_gpu_group vm-uuid=uuid_of_vm
为确保已绑定GPU组,可执行
xe vgpu-list
命令。启动虚拟机
xe vm-start
命令。虚拟机启动后,需在虚拟机上安装显卡驱动。
安装驱动程序是必要的,因为VM可以直接访问主机上的硬件。驱动程序由硬件供应商提供。
注意:
如果在GPU组中没有可用的GPU的主机上启动GPU直通模式的虚拟机,Citrix Hypervisor会打印错误。
使用XenCenter将Windows虚拟机与图形处理器解绑定。
关闭虚拟机
打开虚拟机属性:右键单击虚拟机,选择属性.
解绑定图形处理器:选择GPU从虚拟机属性列表中,然后选择没有一个为GPU类型。点击好吧.
启动虚拟机。
使用xe命令行将Windows虚拟机与图形处理器解绑定。
使用命令关闭虚拟机
xe vm-shutdown
命令。通过以下命令查找该虚拟机所绑定的vGPU的UUID:
Xe vgpu-list vm-uuid=uuid_of_vm
解绑定图形处理器,具体操作方法如下:
Xe vgpu-destroy uuid= uid_of_vgpu
启动虚拟机
xe vm-start
命令。
创建ISO镜像
Citrix Hypervisor支持使用ISO镜像作为Windows和Linux虚拟机的安装介质和数据源。本节介绍如何从CD/DVD介质制作ISO镜像。
在Linux系统上创建ISO文件。
将CD或DVD-ROM磁盘放入驱动器。确保磁盘未挂载。使用命令查看:
山< !——NeedCopy >
如果磁盘已挂载,请卸载磁盘。如有必要,请参阅操作系统文档以获得帮助。
以root用户执行命令
Dd if=/dev/cdrom of=/path/cdimg_filename。iso < !——NeedCopy >
这个命令需要一些时间。当操作成功完成时,您将看到如下内容:
1187972+0条入1187972+0条出
ISO文件准备好了。
在Windows系统上创建ISO文件。
Windows计算机没有相应的操作系统命令来创建ISO。大多数CD刻录工具都有将CD保存为ISO文件的方法。