合并配置
清单创建完成且组件配置显示在端点上后,您便可触发合并操作并创建新的配置。
系统在 MergeConfigs 目录中检测到 merge_manifest.xml 时会触发合并,该目录应包含要合并的所有配置。
如果清单列出了 MergeConfigs 目录中不包含的配置,则合并将延迟,直到所有配置全部存在为止。合并中的基础配置和所有组件配置必须采用 10.0 版本的 Environment Manager。在合并之前,应对任何旧版本配置进行升级。
要升级配置,请在所需版本的 Environment Manager 中打开该配置,然后保存。例如,在 10.0 版本的控制台中打开 8.6 版本的配置进行升级。
请注意,如果您将缓存漫游与合并配置功能一起使用,则需要在端点上设置 PreventUnapplyOnConfigChange 注册表项。如需详细信息,请参阅缓存漫游。
如果目录中未包含所有配置,则使用 -nw 标签创建的清单会导致合并失败。
在此部分:
空清单
将空清单添加到 MergeConfigs 目录会自动合并该目录中的所有 AEMP 配置。系统会按字母顺序合并所有配置,并将基础配置设置为位于以下位置的 Configuration.aemp:
%ProgramData%\AppSense\Environment Manager
如果此 AEMP 不存在,则合并将失败。
若要创建空清单,请在文本编辑器中打开一个新文件,创建零字节文件并将其另存为 merge_manifest.xml。
使用这种清单可以实现相同的合并 - 并非全空,但不包含要合并的 AEMP 文件的详细信息:
<MergeManifest UseSystemBase="true"
<MergeFiles>
</MergeFiles>
</MergeManifest>
这样便会生成与空白清单相同的结果,但您可以使用 UseSystemBase 属性。如果将此设置为 "false",合并便会使用 MergeConfigs 目录中按字母排序的第一个配置作为基础配置。
成功合并
如果清单正确且 MergeConfigs 目录中包含列出的所有配置,则系统会创建 Merged_configuration.aemp 并将其用作端点上的实时配置。
除了新配置 (Merged_Configuration.aemp) 以外,还会创建成功清单的副本,并将其重命名为 last_merge_manifest.xml,用来提供合并记录和清单备份。如果存在,则初始 merge_manifest.aemp 文件会在合并完成后删除。
在合并期间,Configuration.aemp 文件不会发生更改,也不再可供代理使用,除非该文件已更新或 Merged_Configuration.aemp 不存在。
失败合并
如果在合并期间发生错误,合并便会失败,并且不会创建新的配置文件。合并可能失败的情况如下:
- 清单中指定的校验和与实际配置的校验和不匹配,并且 WaitForConfigs 设置为 "false"
- 清单包含 -nw 命令,在添加时,MergeConfigs 目录中不存在清单中列出的一个或多个配置
- “运行身份库”中两个要合并配置的友好名称相同。
- UseSystemBase 设置为 "true",并且在触发合并时不存在基础 Configuration.aemp。
- 清单无效。
- 一个或多个配置损坏。
合并失败后,merge_manifest.xml 文件会被删除,失败清单 (failed_merge_manifest.xml) 的副本会添加到目录中。
合并的行为
下表列出了配置的区域,并解释了它们在合并期间的行为。
区域 | 已合并 | 行为 |
---|---|---|
节点 | 是 | 合并的配置包含来自每个组件配置的所有节点。如果同一触发器中存在两个影响相同应用程序的节点,那么这两个节点将并行运行。各个节点的内容不会合并。 |
操作和条件 | 是 | 不分析操作和条件 - 合并后的配置将包含被合并配置的所有操作和条件。例如,如果两个配置都包含影响同一注册表项的操作,则合并后的配置将包含这两个操作。如果发生此类冲突,则以最后写入的操作为准。这是 Environment Manager 中的标准冲突行为。 |
正在审核 | 否 | 来自基础配置的事件会在合并配置中使用,而来自组件配置的事件则会被忽略。 |
自定义设置 | 否 | 合并的配置从基础配置中继承其自定义设置。丢弃合并中任何组件配置的设置。因此,将合并配置中所需的自定义设置添加到基础配置至关重要。这包括 BaseConfigMergeBehavior 自定义设置。请参阅实时配置更新行为。 |
运行身份库 | 是 | 运行身份库中所有配置的条目均添加到合并配置中,从而创建单个列表。所有友好名称都必须是唯一的。如果合并中的两个配置包含具有相同友好名称的用户,则合并将失败。 |
阻止消息库 | 是 | 所有配置中的阻止消息库都将合并。合并后的配置包含来自基础配置和合并配置的所有消息(包括任何重复消息)。 |
预触发器 | 是 | 合并配置时,所有配置的预触发器操作均会添加到合并的配置中。系统不会验证预触发器,因此可能会合并到重复和冲突操作。 |
个性化设置 | 否 | 不合并服务器列表等个性化设置。合并后的配置将从基础配置中获取这些设置。因此,应该在基础配置中定义合并配置所需的任何个性化设置。 |