Citrix DaaS™

使用 XenServer® 中的准备好的映像创建目录

  • 创建准备好的映像,并使用这些准备好的映像通过以下方式创建 MCS 计算机目录:

  • Studio
  • PowerShell 命令

使用准备好的映像创建 MCS 计算机目录的关键步骤如下:

  1. 创建映像定义和初始映像版本。
  2. 使用映像版本作为准备好的映像来创建目录。

使用 Studio

创建映像定义和初始映像版本

要创建映像定义和初始映像版本,请执行以下操作:

  1. 在 Studio 中,转到映像节点,然后单击创建映像定义。在简介页面上单击下一步
  2. 映像定义页面上,为映像定义指定操作系统类型会话类型连接
  3. 映像页面上,选择资源(仅列出适用于所设置连接的资源)和要用作创建映像版本模板的主映像。

    注意:

    • 在选择映像之前,请验证主映像是否已安装 VDA 2311 或更高版本,并且 VDA 上是否已安装 MCSIO 驱动程序。
  4. 计算机规范页面上,您只能看到从主映像派生的内存大小,并且可以根据需要进行更改。
  5. NIC 页面上,为准备映像选择 NIC。对于每个 NIC,选择一个关联的虚拟网络。默认情况下,选择与主映像关联的 NIC。
  6. 版本描述页面上,输入所创建的初始映像版本的描述。
  7. 摘要页面上,检查映像定义和所创建的初始映像版本的详细信息。输入映像定义的名称和描述。单击完成

创建映像版本

映像版本允许管理特定映像的不同迭代或更新。此功能使您能够为不同目的维护映像的多个版本。

要从初始映像版本创建映像版本,请执行以下操作:

  1. 转到映像节点,选择一个映像版本或映像定义,然后单击创建映像版本
  2. 映像页面上,更改托管单元,并根据需要重新选择主映像。
  3. 要使用与初始映像版本不同的设置,请在创建映像版本对话框的计算机规范NIC 页面上配置设置。
  4. 添加映像版本的描述。单击完成

注意:

如果映像版本创建因任何原因失败,底部的故障排除选项卡将提供重试选项。

共享准备好的映像

要在 XenServer 的不同主机单元之间共享准备好的映像,请执行以下步骤:

  1. 右键单击映像版本,然后选择管理映像共享。列出所选连接下的所有主机单元。创建映像版本的资源已禁用任何操作。
  2. 选择要共享映像的主机单元,然后单击保存共享状态列显示正在进行
  3. 单击资源选项卡以获取有关共享状态的更多详细信息。

注意:

当映像版本共享状态正在进行时,删除映像版本或管理映像共享的选项将被禁用。

从“映像”节点创建计算机目录

使用映像节点中的创建目录选项,使用映像版本创建目录。

或者,您可以在计算机目录节点中创建目录时选择版本,链接到目录创建工作流中的准备好的映像选项。请参阅从“计算机目录”节点创建计算机目录

要从映像节点创建 MCS 计算机目录,请执行以下操作:

  1. 选择一个映像版本,然后单击创建目录。在简介页面上单击下一步
  2. 计算机管理页面上,选择托管单元,然后单击下一步
  3. 桌面体验页面上,选择所需的桌面体验。
  4. 映像页面到虚拟机页面,设置是根据所选映像版本预先选择的。
  5. 完成以下页面上的设置。
  6. 摘要页面上,检查计算机目录的详细信息。输入计算机目录的名称和描述。单击完成
  7. 转到计算机目录节点以查看创建的计算机目录。

从“计算机目录”节点创建计算机目录

要从计算机目录节点创建 MCS 计算机目录,请执行以下操作:

  1. 在左侧导航窗格中单击计算机目录
  2. 单击创建计算机目录。此时将显示计算机目录设置页面。依次单击简介计算机类型计算机管理页面上的下一步
  3. 映像页面上:
    1. 选择准备好的映像
    2. 准备好的映像下,选择映像定义的映像版本。
    3. 选择映像版本。要查看有关所选映像版本的更多详细信息,请单击带下划线的版本号。
  4. 完成以下页面上的设置。
  5. 摘要页面上,检查计算机目录的详细信息。输入计算机目录的名称和描述。单击完成

使用 PowerShell

创建准备好的映像

创建准备好的映像版本规范的详细 PowerShell 命令如下:

  1. 使用 Test-ProvImageDefinitionNameAvailable 命令检查可用的映像定义名称。例如,

    
    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName xenimage1
    
    <!--NeedCopy-->
    
  2. 使用 New-ProvImageDefinition 命令创建映像定义。例如,

    
    $ImageDefintion = New-ProvImageDefinition -ImageDefinitionName xenimage1 -OsType Windows -VdaSessionSupport SingleSession
    
    <!--NeedCopy-->
    
  3. 使用 Add-ProvImageDefinitionConnection 命令在指定的托管连接中为映像定义创建新配置。

    
    Add-ProvImageDefinitionConnection -ImageDefinitionName $ImageDefintion.ImageDefinitionName -HypervisorConnectionName XenServer1
    
    <!--NeedCopy-->
    
  4. 使用 New-ProvImageVersion 命令创建映像版本。例如,

    
    $ImageVersion = New-ProvImageVersion -ImageDefinitionName $ImageDefintion.ImageDefinitionName -Description "version 1"
    
    <!--NeedCopy-->
    
  5. 使用 Add-ProvImageVersionSpec 命令将主映像版本规范添加到映像版本。例如,

    
    $MasterImagePath = "XDHyp:\HostingUnits\xenhu \win10-master.vm\win10-master-snap.snapshot"
    $SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageDefinitionName $ImageDefintion.ImageDefinitionName -ImageVersionNumber $ImageVersion.ImageVersionNumber -HostingUnitName xenhu -MasterImagePath $MasterImagePath
    
    <!--NeedCopy-->
    

    注意:

    对于托管单元,您只能向一个映像版本添加一个主映像版本规范。

  6. 使用 New-ProvImageVersionSpec 命令从主映像版本规范创建准备好的映像版本规范。例如,

    
    New-ProvImageVersionSpec -SourceImageVersionSpecUid  $SourceImageVersionSpec.ImageVersionSpecUid -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}
    -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously
    
    <!--NeedCopy-->
    
  7. 您还可以使用 Add-ProvImageVersionSpecHostingUnit 命令在同一托管连接中与另一个托管单元共享准备好的映像版本规范。例如,

    
    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName xenhu2
    
    <!--NeedCopy-->
    

创建映像定义、映像版本和准备好的映像版本规范的完整 PowerShell 命令集示例


-  $ImageDefintion = New-ProvImageDefinition -ImageDefinitionName xenimage1 -OsType Windows -VdaSessionSupport SingleSession

Add-ProvImageDefinitionConnection -ImageDefinitionName $ImageDefintion.ImageDefinitionName -HypervisorConnectionName XenServer1

$ImageVersion = New-ProvImageVersion -ImageDefinitionName $ImageDefintion.ImageDefinitionName -Description "version 1"

$MasterImagePath = "XDHyp:\HostingUnits\xenhu \win10-master.vm\win10-master-snap.snapshot"

$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageDefinitionName $ImageDefintion.ImageDefinitionName -ImageVersionNumber $ImageVersion.ImageVersionNumber -HostingUnitName xenhu -MasterImagePath $MasterImagePath

New-ProvImageVersionSpec -SourceImageVersionSpecUid  $SourceImageVersionSpec.ImageVersionSpecUid -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}
 -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously

Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName xenhu2

<!--NeedCopy-->

注意:

  • 一个映像版本只能有一个主映像版本规范和一个准备好的映像版本规范。
  • 所有映像版本规范必须具有计算机配置文件,或者所有映像版本规范都不能具有计算机配置文件。

使用准备好的映像版本规范创建目录

使用 New-ProvScheme 命令从准备好的映像版本规范创建 MCS 计算机目录。例如,


New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]

<!--NeedCopy-->

或者,


New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitName <string> -IdentityPoolName <string> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]

<!--NeedCopy-->

在 XenServer 中使用准备好的映像版本规范创建目录的示例:


New-ProvScheme -ProvisioningSchemeName assignimage -imageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid 1 `
  -HostingUnitName xenhu -IdentityPoolName poo1 `
  -CleanOnBoot -Scope @() -SecurityGroup @() -VMCpuCount 2 -VMMemoryMB 8192 `
  -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}

<!--NeedCopy-->

创建目录的完整 PowerShell 命令集示例:


$CatalogName = "XenCatalog"
$Catalog = New-BrokerCatalog  -AllocationType "Random"  -IsRemotePC $False  -MinimumFunctionalLevel "L7_20" `
  -Name $CatalogName -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"

$IdentityPool = New-AcctIdentityPool  -AllowUnicode  -Domain "xen.local" -IdentityPoolName $CatalogName `
  -IdentityType "ActiveDirectory"  -NamingScheme "xen##" -NamingSchemeType "Numeric" -Scope @()

$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName xenimage1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"

$Task = New-ProvScheme -ProvisioningSchemeName $CatalogName -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid `
  -HostingUnitName xenhu -IdentityPoolName $CatalogName -CleanOnBoot -Scope @() -SecurityGroup @() `
  -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"} -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously

Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName $CatalogName

Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid

<!--NeedCopy-->

更多信息

后续步骤

使用 XenServer® 中的准备好的映像创建目录