将多个站点合并到一个站点
自动化配置的多站点支持提供了一种将多个本地站点合并到一个云站点的方法。
多站点支持为每个本地站点的组件名称添加唯一的前缀和后缀,以确保在将多个本地站点合并到一个云站点后名称的唯一性。
可以为以下每个组件,根据每个本地站点来指定前缀和后缀。
AdminScopeAdminRoleApplicationAdminApplicationFolderApplicationGroupApplicationUserDeliveryGroupGroupPolicyHostConnectionMachineCatalogStoreFrontTag
应用程序文件夹支持添加前缀、后缀和重新设置根目录。重新设置根目录会在应用程序的现有文件夹结构中添加一个额外的顶级文件夹。
前缀和后缀的添加规则
- 前缀和后缀不能包含以下任何特殊字符:
\ , / ; : # . * ? = < > | ( ) " ' { } [ ] - 前缀和后缀可以包含尾随空格,但不能包含前导空格。
- 前缀和后缀必须用双引号括起来才能包含尾随空格。
- 前缀和后缀在导入、合并和添加时应用。源 .yml 文件永远不会被修改。
- 前缀和后缀处理过程会在适用时自动为依赖组件名称添加前缀或后缀。例如,如果计算机目录名称以“East”为前缀,则引用它们的交付组也将以“East”为前缀。
- 如果组件名称已包含前缀或后缀,则不会添加任何前缀或后缀。组件名称不能包含两个相同的重复前缀或后缀。
- 前缀和后缀可以单独使用,也可以组合使用。
- 在组件上使用前缀或后缀是可选的。
注意:
Studio 按字母顺序显示组件。
按站点对组件进行分组
使用前缀来直观地对来自单个站点的组件进行分组。每个站点都列在自己的组中,前缀按字母顺序控制不同站点组的排序。
按名称分组组件
使用后缀来直观地分组来自多个站点的同名组件。来自不同站点的同名组件会交替显示。
前缀和后缀映射文件
站点前缀设置始于 SiteMerging.yml 文件,该文件包含一个或多个本地站点的站点前缀和后缀映射。您可以手动管理 SiteMerging.yml 文件,也可以使用 (/zh-cn/citrix-virtual-apps-desktops/2507-ltsr/manage-deployment/auto-config-cmdlets-migration#merging-multiple-on-premises-sites-cmdlets) 部分中列出的可用 cmdlet 进行管理。
导出本地站点
在导出本地站点之前,无法开始合并。要导出本地站点,请参阅 (/zh-cn/citrix-virtual-apps-desktops/2507-ltsr/manage-deployment/migrate#export-on-premises-configuration)。
中央导出目标文件夹
本节中描述的方法将多个站点导出文件放置到中央文件共享位置。SiteMerging.yml 文件、CustomerInfo.yml 文件和所有导出文件都位于该文件共享位置,这样您就可以从一个独立于本地站点的位置执行导入。
云访问操作从不引用本地站点或 Active Directory,因此您可以在任何位置执行云访问操作。
直接文件共享
有两种方法可以执行此操作:
- (#direct-file-share):要从直接文件共享导入、合并或添加,您必须决定要从哪台计算机执行云访问操作。
- 文件共享引用(使用
SiteMerging.yml)(#file-share-reference-using-sitemergingyml):此方法使用站点前缀集中的SiteRootFolder成员,并降低了在导出、导入、合并或添加时定位到错误文件夹的可能性。
如果您不使用中央文件共享方法,则从各个 Delivery Controller 执行导入、合并或添加。在迁移到云的每个 Delivery Controller 上创建并复制 SiteMerging.yml 文件。默认位置是 %HOMEPATH%\Documents\Citrix\AutoConfig。您必须指定 –SiteName 参数以选择正确的站点前缀。
直接文件共享
导出、导入、合并和新建/添加操作提供了一个参数,用于指定目标文件夹或源文件夹,而不是默认文件夹 %HOMEPATH%\Documents\Citrix\AutoConfig。以下示例使用位于 \\share.central.net 的中央文件共享,管理员已通过提供必要的凭据访问该共享。
要将导出目标设置为特定于站点的文件夹,请使用 –TargetFolder 参数:
来自东部交付控制器™::
mkdir \\share.central.net\AutoConfig\SiteEast
Export-CvadAcToFile –TargetFolder \\share.central.net\AutoConfig\SiteEast
来自西部交付控制器::
mkdir \\share.central.net\AutoConfig\SiteWest
Export-CvadAcToFile –TargetFolder \\share.central.net\AutoConfig\SiteWest
导出完成后,创建 CustomerInfo.yml 和 SiteMerging.yml 文件并将其放置在 \\share.central.net\AutoConfig 中。
注意:
使用此直接文件共享引用方法时,在创建
SitePrefixes.yml时请勿使用SiteRootFolder参数。
要从直接文件共享导入、合并或添加,您必须决定要从哪台计算机执行云访问操作。选项包括:
- 在其中已安装了该工具的本地部署的交付控制器之一。
- 托管文件共享的计算机。
- 另一台计算机。
Automated Configuration 必须安装在访问云的机器上。既不使用本地 PowerShell SDK、交付控制器,也不使用 Active Directory,因此云访问执行要求比导出要求更简单。
要将 East 交付控制器合并到云中:
Merge-CvadAcToSite –SiteName East –SourceFolder \\share.central.net\AutoConfig\SiteEast -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
要将 West 交付控制器合并到云中:
Merge-CvadAcToSite –SiteName West –SourceFolder \\share.central.net\AutoConfig\SiteWest -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
以下是上一个示例中使用的 SitePrefixes.yml 示例文件。
East:
SiteRootFolder: "" # Important: leave this empty
AdminScopePrefix: "East_"
AdminRolePrefix: "East_"
ApplicationAdminPrefix: "East_"
ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
ApplicationFolderRoot: "East"
ApplicationGroupPrefix: "East_"
ApplicationUserPrefix: "East_"
DeliveryGroupPrefix: "East_"
GroupPolicyPrefix: "East_"
HostConnectionPrefix: "East_"
MachineCatalogPrefix: "East_"
StoreFrontPrefix: "East_"
TagPrefix: "East_"
AdminScopeSuffix: "_east"
AdminRoleSuffix: "_east"
ApplicationAdminSuffix: "_east"
ApplicationFolderSuffix: "_east"
ApplicationGroupSuffix: "_east"
ApplicationUserSuffix: "_east"
DeliveryGroupSuffix: "_east"
GroupPolicySuffix: "_east"
HostConnectionSuffix: "_east"
MachineCatalogSuffix: "_east"
StoreFrontSuffix: "_east"
TagSuffix: "_east"
West:
SiteRootFolder: "" # Important: leave this empty
AdminScopePrefix: "Western "
AdminRolePrefix: "Western "
ApplicationAdminPrefix: "Western "
ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
ApplicationFolderRoot: "Western"
ApplicationGroupPrefix: "Western "
ApplicationUserPrefix: "Western "
DeliveryGroupPrefix: "Western "
GroupPolicyPrefix: "Western "
HostConnectionPrefix: "Western "
MachineCatalogPrefix: "Western "
StoreFrontPrefix: "Western "
TagPrefix: "Western "
AdminScopeSuffix: ""
AdminRoleSuffix: ""
ApplicationAdminSuffix: ""
ApplicationFolderSuffix: ""
ApplicationGroupSuffix: ""
ApplicationUserSuffix: ""
DeliveryGroupSuffix: ""
GroupPolicySuffix: ""
HostConnectionSuffix: ""
MachineCatalogSuffix: ""
StoreFrontSuffix: ""
TagSuffix: ""
<!--NeedCopy-->
通过 SiteMerging.yml 文件进行文件共享引用
此方法使用站点前缀集中的 SiteRootFolder 成员。虽然此方法比直接文件共享方法更复杂,但它降低了在导出、导入、合并或添加时定位错误文件夹的可能性。
首先,在 SiteMerging.yml 文件中为每个站点设置 SiteRootFolder。您必须在共享位置执行此操作。
New-CvadAcSiteMergingInfo –SiteName East –SiteRootFolder \\share.central.net\AutoConfig\SiteEast -SitePrefixesFolder \\share.central.net\AutoConfig
New-CvadAcSiteMergingInfo –SiteName West –SiteRootFolder SiteWest -SitePrefixesFolder \\share.central.net\AutoConfig
在此示例中,East 是完全限定的文件夹规范,West 是相对文件夹规范。
要使用 SiteMerging.yml 文件将导出目标设定为特定于站点的文件夹:
从 East 交付控制器:
mkdir \\share.central.net\AutoConfig\SiteEast
Export-CvadAcToFile -SiteName East -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
从西侧的交付控制器:
mkdir \\share.central.net\AutoConfig\SiteWest
Export-CvadAcToFile -SiteName West -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
导出 cmdlet 使用 CustomerInfo.yml 文件夹位置来查找 SiteMerging.yml 文件。对于 East,SiteRootFolder 是完全限定的。它按原样使用。对于 West,SiteRootFolder 不是完全限定的。它与 CustomerInfo.yml 文件夹位置结合使用,以检索 West 的完全限定文件夹位置。
要将东交付控制器合并到云端:
Merge-CvadAcToSite –SiteName East -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
要将西交付控制器合并到云端:
Merge-CvadAcToSite –SiteName West -CustomerInfoFileSpec \\share.central.net\AutoConfig\CustomerInfo.yml
以下是上一个示例中使用的 SitePrefixes.yml 示例文件。
East:
SiteRootFolder: "\\\\share.central.net\\AutoConfig\\SiteEast"
AdminScopePrefix: "East_"
AdminRolePrefix: "East_"
ApplicationAdminPrefix: "East_"
ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
ApplicationFolderRoot: "East"
ApplicationGroupPrefix: "East_"
ApplicationUserPrefix: "East_"
DeliveryGroupPrefix: "East_"
GroupPolicyPrefix: "East_"
HostConnectionPrefix: "East_"
MachineCatalogPrefix: "East_"
StoreFrontPrefix: "East_"
TagPrefix: "East_"
AdminScopeSuffix: "_east"
AdminRoleSuffix: "_east"
ApplicationAdminSuffix: "_east"
ApplicationFolderSuffix: "_east"
ApplicationGroupSuffix: "_east"
ApplicationUserSuffix: "_east"
DeliveryGroupSuffix: "_east"
GroupPolicySuffix: "_east"
HostConnectionSuffix: "_east"
MachineCatalogSuffix: "_east"
StoreFrontSuffix: "_east"
TagSuffix: "_east"
West:
SiteRootFolder: "\\\\share.central.net\\AutoConfig\\SiteWest"
AdminScopePrefix: "Western "
AdminRolePrefix: "Western "
ApplicationAdminPrefix: "Western "
ApplicationFolderPrefix: "" # Note that a new parent root folder is used instead
ApplicationFolderRoot: "Western"
ApplicationGroupPrefix: "Western "
ApplicationUserPrefix: "Western "
DeliveryGroupPrefix: "Western "
GroupPolicyPrefix: "Western "
HostConnectionPrefix: "Western "
MachineCatalogPrefix: "Western "
StoreFrontPrefix: "Western "
TagPrefix: "Western "
AdminScopeSuffix: ""
AdminRoleSuffix: ""
ApplicationAdminSuffix: ""
ApplicationFolderSuffix: ""
ApplicationGroupSuffix: ""
ApplicationUserSuffix: ""
DeliveryGroupSuffix: ""
GroupPolicySuffix: ""
HostConnectionSuffix: ""
MachineCatalogSuffix: ""
StoreFrontSuffix: ""
TagSuffix: ""
<!--NeedCopy-->
如果未使用中央文件共享方法,并且从各个 Delivery Controller 执行导入、合并或添加操作,则在每个迁移到云中的 Delivery Controller 上创建并复制 SiteMerging.yml 文件。默认位置是 %HOMEPATH%\Documents\Citrix\AutoConfig。您必须指定 –SiteName 参数以选择正确的站点前缀。
合并站点
Citrix® 建议分步执行云操作,并在执行下一个云操作之前对每个结果进行完整审查。例如,如果将三个站点合并到一个云站点:
- 使用适当的
SiteName值将初始站点合并到云中。 - 在 Studio 中查看结果。
- 如果结果不正确,请确定问题及其原因,进行更正,然后重新运行合并。如有必要,请移除云组件,并使用
Remove-CvadAcFromSite针对所选组件和成员从头开始。如果结果正确,请继续。 - 如果初始合并正确,请将第二个站点合并到单个云站点。
- 重复步骤 2 和 3。
- 如果第二次合并正确,请将第三个站点合并到单个云站点。
- 重复步骤 2 和 3。
- 从用户的角度审查资源,并验证视图是否处于所需状态。
使用站点前缀移除组件
您可以通过在 Remove-CvadAcFromSite cmdlet 的 –IncludeByName 参数上使用前缀来选择性地移除单个站点组件。在以下示例中,West Delivery Controller 交付组不正确。要仅移除 West 站点的交付组,请执行以下操作:
Remove-CvadAcFromSite –DeliveryGroups –IncludeByName “Western *”
要移除所有 West 组件,请按顺序运行以下 cmdlet。
-
Remove-CvadAcFromSite –GroupPolicies –IncludeByName “Western *” -
Remove-CvadAcFromSite –Applications –IncludeByName “Western *” -
Remove-CvadAcFromSite – ApplicationGroups –IncludeByName “Western *” -
Remove-CvadAcFromSite –DeliveryGroups –IncludeByName “Western *” -
Remove-CvadAcFromSite –MachineCatalogs –IncludeByName “Western *” -
Remove-CvadAcFromSite –HostConnections –IncludeByName “Western *” -
Remove-CvadAcFromSite –Tags –IncludeByName “Western *”
要删除 East 组件的组策略,请使用以下后缀:
Remove-CvadAcFromSite –GroupPolicies –IncludeByName “*_east”