4 配置 DIVAnet 服务

在配置 DIVAnet 服务之前,请参见第 2 章以了解 DIVAnet 服务的说明以及它们如何与 DIVArchive 交互和彼此交互。

配置 ClientAdapter 服务

配置 ClientAdapter 服务涉及配置客户机连接到 DIVAnet 的方式。它还涉及配置 DIVAnet 连接到 DIVArchive 的方式。

配置 DIVArchive 站点名称

DIVAnet 站点定义为一个 DIVArchive 系统以及一个或多个 DIVAnet 服务(ManagerAdapter、ClientAdapter、DbSync)。为每个站点分配了唯一的站点名称。在配置 ClientAdapter 之前,必须在 DIVAnet 数据库中配置站点名称(通过 addSites.bat 实用程序)。应该创建易于读取且反映站点物理位置或功能的站点名称。这些站点名称将在每个站点上使用。

注:

站点名称区分大小写。

配置客户机 API 端口

DIVAnet 允许配置客户机 API 应用程序用于连接到 DIVAnet 的套接字端口。ClientAdapter 允许配置多个 API 端口。每个 API 端口通过以下两种模式之一进行配置:直接模式或 MultiDiva 模式。可以为每个端口分配工作流配置文件。

  • 直接模式-在直接模式中,传入 API 连接直接路由到单个 DIVArchive 系统而不加以处理。DIVAnet 路由到的特定站点在 ClientAdapter 中基于每个端口进行配置。此功能允许本地客户机连接到远程 DIVArchive 系统,就像它是本地的那样。向其路由消息的 DIVA 站点必须在 ClientAdapter 配置文件的 <DivaManagers> 部分中进行配置。另请注意,只有在直接模式下才能将站点指定为正在运行(有关更多信息,请参见配置 DIVArchive 站点名称)。

    处于直接模式的请求不会显示在 DIVAnetUI 中,且只能在路由请求的 DIVA 站点上进行监视。

    有些 DIVAnet 工作流不需要 DIVAnet 数据库、DIVAnet UI 或 MultiDiva 模式处理。要仅为直接模式配置 ClientAdapter 服务,请确保仅定义直接模式端口,并确保未定义 <WebServicePort>。这样会有效地禁止 DIVAnet UI 的使用。以下位置中的文件包含一个示例配置:

    Program\conf\divanet\templates\ClientAdapterConfig.xml.ProxyOnly.ini

  • MultiDiva 模式-在 MultiDiva 模式下,DIVAnet 使所有的 DIVA 站点看起来是一个大的归档系统。在此模式下,传入 API 请求直接路由到 DIVAnet。通过根据需要查询其他 DIVArchive 系统,DIVAnet 满足高级别请求。此功能允许(例如)将内容从一个站点复制到另一个站点,进行恢复而无需知道哪个特定站点具有内容,以及当第一个站点上的内容无法访问时在其他站点上重试。此外,它提供了所有站点上内容的全局视图。

    可以在 DIVAnetUI 中监视在 MultiDiva 模式下执行的请求的进度。DIVAnet 将创建自身的请求级事件,以通知用户:

    • DIVAnet 将如何处理请求

    • DIVA 站点发出的请求

    • 进展中遇到的任何错误或警告

配置客户机 Web 连接

DIVAnetUI 应用程序和 DivanetAdmin 工具都建立与 ClientAdapter 的 Web 连接。可以在 ClientAdapter 配置文件中配置可用于这些连接的端口。

配置工作流配置文件

工作流配置文件是定义 DIVAnet 如何处理传入请求的一组参数。工作流配置文件提供了一种方法,对以类似方式使用 DIVAnet 的用户和系统进行逻辑分组。

DIVAnet 允许在 ClientAdapter 内创建一个或多个配置文件。这些配置文件包含特定用户集或应用程序集所需的参数。基于接收请求的位置(接收它的端口-请参见下一节)分配工作流配置文件。

在工作流配置文件中,可以定制诸如已接受的有效消息列表、重试参数、站点到站点复制方法和其他属性之类的信息。

配置文件和 API 端口

在 API 端口部分中,可以为每个已定义的端口分配工作流配置文件名称。使用已分配的工作流配置文件,处理在 API 端口上收到的请求。如果未定义名称,则假定配置文件为 default。MultiDiva 模式下的端口可以具有工作流配置文件名称,该名称引用 ClientAdapter 配置中更深入的工作流配置文件主体部分。

如果端口处于直接模式,则工作流配置文件名称只是一个标签-没有适合直接模式连接的工作流配置文件主体。但是,此名称在访问规则中可以很有用(请参见下一节)。

在 MultiDiva 模式和直接模式下,如果未分配名称,则连接使用名为 default 的工作流配置文件。每个工作流配置文件的主体部分是在 ClientAdapterConfig.xml 中配置的。以下各节列出了在每个工作流配置文件中可配置的信息类型。

重试次数和超时

可以重试 DIVAnet 内的一些命令(例如,恢复、复制和删除请求)。用于重试的参数(包括重试的持续时间和重试时间间隔)可在此处配置。许多命令都具有自身的重试设置(例如,复制命令的重试参数与删除命令的重试参数完全不同)。还可以在工作流配置文件中配置消息超时和连接限制。重试和超时设置特定于定义它们的工作流配置文件。

有效消息

在每个工作流配置文件中,配置了消息列表。这表示此工作流配置文件可以接受的有效 API 消息的列表。例如,如果 <Archive> 消息未出现在列表中,则无法通过 API 将归档消息发送到 DIVAnet(至少对于此工作流配置文件)。

站点到站点的映射

DIVAnet 提供了一种灵活的方式来配置如何执行站点到站点的传输。在每个工作流配置文件中,配置每个传输路径的映射参数(一个路径用于从站点 A 传输到站点 B,另一个路径用于从站点 A 传输到站点 C,以此类推)。收到复制、恢复或部分文件恢复命令时,会查询此表。

default 工作流配置文件中定义站点到站点的映射是很有用的,因为其他工作流配置文件可以从 default 工作流配置文件加载其映射。这可以减少配置中的映射数。

参数-DIVAnet 支持几种不同的传输类型。站点到站点的传输方法介绍了不同的类型。RestoreAndArchive 是默认的传输类型。RestoreAndMonitor 需要 Drop Folder Monitor (DFM) 或执行类似功能的其他应用程序。其他参数包括:

  • Source/Destination-传输的公共存储位置(在源站点和目标站点上都可访问)。

  • Default Media-在目标站点上归档时使用的默认归档介质。启动临时复制(如通过恢复)或者用户启动了复制并指示 DIVAnet 应该选择介质时,可以使用默认介质。

  • Options-在恢复、归档和传输请求中使用的参数。

  • FilePathRoot-用于存储内容的父目录

目录位置-DIVAnet 构建一个相对于所选 Source/Destination 的目录路径来存储文件。此相对路径的构建如下所示:

<FilePathRoot> \ <Media (options)> \ <UniqueDirName> \

FilePathRoot 在站点到站点的映射中指定。仅当在映射中 AppendMediaToPath 选项设置为 true(默认值为 false)时,介质才会嵌入到路径中。最后,DIVAnet 生成唯一的目录名称,该名称作为路径的一部分包括在内。此唯一名称前加上了已启动请求的站点名称。

重新加载工作流配置文件

可以更改和重新加载在工作流配置文件中指定的参数,而无需重新启动 ClientAdapter。应该避免重新启动 ClientAdapter 服务,因为它将停止所有正在执行的请求并关闭所有的客户机连接。可以在 DivanetAdmin 工具内执行重新加载(有关 DivanetAdmin 的更多信息,请参见下文)。

注:

重新加载不仅更新所有的工作流配置文件,而且更新所有的访问规则。

修改 ClientAdapter 配置文件

下表介绍了可以出现在 ClientAdapter 配置文件中的参数。文件采用 XML 格式。默认值列指出在配置文件中未指定参数时参数将具有的值。该列还指出参数是必需的还是可选的。

要创建一个新的配置文件,请执行以下步骤:

  1. 导航到 DIVAnet 主目录(其中安装了 DIVAnet)。

  2. 导航到 Program\conf\divanet\templates 文件夹。

  3. ClientAdapterConfig.xml.ini 复制到父目录,但是省去 .ini 扩展名 (..\ClientAdapterConfig.xml)。

  4. 将下表用作参考,编辑 ClientAdapterConfig.xml 文件中的参数以配置 ClientAdapter。

有关 ClientAdapter 配置文件样例,请参见附录 A

顶层参数

表 4-1 ClientAdapter 顶层参数

参数
说明
默认值

<LocalSitename>

本地 DIVAnet 站点的站点名称。

无(必需)

<LogDirectory>

将在其中生成日志文件的文件夹。

log\divanet\ClientAdapter 目录

<LogLevel>

发生跟踪文件日志记录的详细信息级别(ERROR、WARN、INFO、DEBUG、TRACE)。

INFO

<SyncTimeoutSecs>

等待对象同步的秒数。

60

<WorkerThreads>

DIVAnet 线程池中的工作线程数。用于优化大型配置。如果您不确定,请勿设置此值。

25

<AbortAllOnStartup>

DIVAnet 启动时,停止所有未完成的 DIVAnet 请求-即使该请求在 DIVArchive 级别上已完成。新请求不受影响。

false

<MaxClientConnections>

允许的 API 连接的最大总数。

200

<GlobalDivanetRequestLimit>

系统中可以接受的暂挂的和正在运行的 DIVAnet 请求的最大数。达到此限制时,DIVAnet 将开始拒绝新请求。

5000

<InternalPollingRateMillis>

轮询站点以查找信息的基本速率。仅当遇到慢速网络和(或)系统时才更改此参数。

4000

<WebServicePort>

用于将管理消息发送到 ClientAdapter 的端口。

无(可选)

<SSLWebServicePort>

如果应该为 Web 服务请求强制实施 SSL,则为 True。

true

<WebDefaultWorkflowProfile>

用于 Web 请求的工作流配置文件(包括 DivanetUI)。

default 配置文件

<AccessRulesFilename>

访问规则文件名。此文件名相对于客户机适配器配置文件所在的目录。

无(如果未配置,则不会应用任何访问规则)。


API 端口部分

<ApiPorts> 标记的内部,可以出现多个 <ApiPort> 定义。表 4-2显示了可以作为 <ApiPort> 定义的一部分出现的参数。

表 4-2 <API Port> 参数

参数
说明
默认值

<ListenPort>

这是要监听的端口套接字。

无(必需)

<RoutingMode>

这标识如何路由请求(直接或 MultiDiva)。

  • 直接-仅路由到一个管理器(在这种情况下,需要 <Sitename> 参数)。

  • MultiDiva-使用 DIVAnet 工作流命令进行路由。已提交的请求将通过 DIVAnet 接收唯一的请求 ID。

MultiDiva

<Sitename>

使用直接模式时要路由到的站点。站点在 <DivaManagers> 部分(在下表中介绍)中定义。此参数仅在直接模式下才是必需的。如果已定义,则它必须与在 <DivaManagers> 部分中定义的站点名称之一匹配。

无(在直接模式下是必需的)

<LocalAddress>

用于发送到此管理器的本地地址(通常为要使用的网卡)。如果您不确定,请勿指定它。

无(可选)

<WorkflowProfile>

用于经过此端口的请求的工作流配置文件名称(请参见工作流配置文件一节)。如果未提供它,则将使用 default 工作流配置文件。

default

(MultiDiva 模式下的默认配置文件)。


DIVArchive 管理器部分

<DivaManagers> 标记的内部,可以出现多个 <DivaManager> 定义。表 4-3 显示了可以作为 <DivaManager> 定义的一部分出现的参数。

表 4-3 <DivaManagers> 配置参数

参数
说明
默认值

<Sitename>

安装有管理器的站点的名称。列出的站点名称必须与在 DIVAnet 数据库中配置的和在 ManagerAdapter.xml 文件中配置的名称匹配。

无(必需)

<ConnectionType>

它标识如何连接到管理器(有效值:SocketWebService)。

Socket

<Address>

管理器的网络地址(IP 或 Internet 名称)

localhost

<Port>

客户机连接到管理器所用的端口。

无(必需)

<LocalAddress>

用于发送到此管理器的本地地址(通常为要使用的网卡)。如果您不确定,请勿指定它。

无(可选)

<LocalPort>

所用的本地端口。如果您不确定,请勿指定它。

0

<BaseURL>

如果 ConnectionType 设置为 WebService; required,则为 ManagerAdapter 的 url。

无(可选)

<TotalThrottleThreshold>

在发送更多的请求之前,DIVAnet 将一直等待,直到管理器请求的总数降至此限制之下。这在 ConnectionType 设置为 Socket 时使用。如果在不考虑源(例如,DIVAnet、SPM、本地 API 连接)的情况下管理器超过正在运行的请求数,DIVAnet 将不再发送任何请求,直到管理器上正在运行的请求数低于此阈值。

400

<SubmittedThrottleThreshold>

在发送更多的请求之前,DIVAnet 将一直等待,直到 DIVAnet 自身在管理器上运行的请求数降至此限制之下。当管理器超过仅从 DIVAnet 自身发送的运行请求数时,DIVAnet 将不再发送任何请求,直到管理器上仅从 DIVAnet 发送的运行请求数降至此阈值之下。

0 是一个有效值,可导致所有消息在 DIVAnet 的内部排队。值 -1 表示没有限制。

100


DIVAnet 数据库部分

表 4-4显示了可以出现在 <DivanetDatabase> 部分中的参数。

表 4-4 <DIVAnetDatabase> 参数

参数
说明
默认值

<Address>

数据库的 IP 地址。

localhost

<Port>

用于访问数据库的端口。

1521

<User>

方案的用户名。

无(必需)

<Password>

方案的密码。

无(必需)

<DbSiteId>

Oracle SID。

lib5

<DbServiceName>

Oracle 服务名。可以提供它来代替 <DbSiteId>

无(可选)


工作流配置文件部分

表 4-5显示了可以出现在 <WorkflowProfile> 部分中的参数。

表 4-5 <WorkflowProfile> 参数

参数
说明
默认值

<Name>

工作流配置文件的名称

default

<AllowDirectRemoteRestores>

允许从远程 DIVA 直接传输(到 Source/Destination)。将此参数设置为 false 可在恢复之前始终创建内容的本地副本。

true

<MessageTimeoutMillis>

发送到管理器的消息的默认超时。

15000

(15 秒)

<TotalRequestTimeoutHours>

使请求超时之前保留它们的时间(以小时为单位)。

72

<PreventArchiveIfInDirectory>

如果对象存在于任何站点上,则阻止新的归档请求。如果设置为 true,且对象存在于任何站点上,则归档该对象的请求将被拒绝(即使该对象不存在于您归档到的站点上也是如此)。

true

<DeleteRetryIntervalMins>

重试删除工作流的时间间隔

5 分钟

<DeleteRetryLimitMins>

删除工作流重试将继续的总分钟数。删除重试每隔 DeleteRetryIntervalMins 尝试一次,直到达到 DeleteRetryLimitMins,或者直到删除成功。

0 分钟(不进行重试)

<IntersiteCopyRetryIntervalMins>

在重试复制请求之前等待的时间。此参数仅适用于复制请求。

5 分钟

<IntersiteCopyRetryLimitMins>

一直重试复制,直到达到此总时间限制(或者它们成功)。此参数仅适用于复制请求。

0 分钟(不进行重试)

<RestoreRetryAttempts>

出现故障时,应该尝试的最大重试次数(通常,使用存在于其他站点的内容进行重试)。

3 次

<RestoreRetryIntervalMins>

DIVAnet 对同一站点执行重试时的重试时间间隔。

5 分钟

<SiteDownRequeueWaitMins>

(高级)将已排队的请求路由到其他站点之前站点关闭的最长时间。

30

<BackupArchiveSite>

如果本地站点长期关闭(在 <SiteDownRequeueWaitMins> 中配置),则该站点将代替本地站点用于归档。如果在本地站点上提交归档但出现故障,则将不在备用站点上重试归档。

无(无备用站点)

<ForceGlobalDeleteToSite>

将全局删除请求转换为指定站点上的站点删除。

无(可选)

<Messages>

一个或多个消息列表,每个列表都具有工作流配置文件的有效消息列表。

<Message>

一个或多个有效的消息名称:

  • AllInfo

  • Archive

  • Cancel

  • CloseObjectsList(旧)

  • Copy

  • Delete

  • GetArchiveSystemInfo

  • GetArrayList

  • GetFilesAndFolders

  • GetGroupsList

  • GetObjectDetailsList

  • GetObjectInfo

  • GetObjectsList(旧)

  • GetRequestInfo

  • GetSourceDestinationList

  • InitObjectsList(旧)

  • PartialRestore

  • Restore

必须指定至少一个 <Message> 标记。

<AllInfo> 允许发送所有的信息性请求消息。

(需要一个)

<UseDefaultMappings>

如果工作流配置文件应该包括在 default 工作流配置文件中定义的所有映射,则为 True。

False


站点到站点的传输映射(工作流配置文件)

<Mappings> 标记包含多个站点到站点的传输映射。站点到站点的映射定义如何将对象从一个站点复制到另一个站点。每个映射都包含 <FromSitename><ToSitename> 参数。每个映射定义如何执行从 <FromSitename><ToSitename> 的复制。

每个映射都包含 <Type> 参数,该参数表示用于执行传输的方法(有关更多信息,请参见恢复工作流)。其他参数是在执行站点间复制的过程中使用的默认参数。

DIVAnet 将 <FromSrcDest> 用作临时存储区,(可选)使用 <ToSrcDest> 推送到目标 DIVA。存储内容时,DIVAnet 提供了附加到 <FilePathRoot> 的唯一文件夹名称。在 <FromSrcDest> 中存储内容后,DIVAnet 将(基于 <Type> 参数)执行以下操作之一:

  • 将内容归档到目标站点

  • 一直等待,直到内容在目标站点上成功归档

  • 完成,但没有进一步操作

注:

为避免在配置中多次指定同一映射,可以设置工作流配置文件参数 <UseDefaultMappings>。工作流配置文件将使用 default 工作流配置文件中的映射。

表 4-6 <SitetoSiteTransfer> 工作流配置文件参数

参数
说明
默认值

<FromSitename>

从其复制对象的原始站点名称。输入的值必须与在 <DivaManagers> 部分中定义的站点名称之一匹配。

无(必需)

<ToSitename>

向其复制对象的目标站点名称。输入的值必须与在 <DivaManagers> 部分中定义的站点名称之一匹配。

无(必需)

<Type>

传输的类型:

  • Restore-执行恢复并标记为已传输。

  • RestoreAndArchive-恢复,然后归档到目标 DIVArchive。

  • RestoreAndMonitor-恢复,然后监视目标(用于 DFM 删除文件夹)。

RestoreAndArchive

<FromSrcDest>

在复制的恢复步骤中使用的 Source/Destination

:Oracle 建议不要使用默认值。

MISSING_MAPPING_TO + <FromSitename>

<ToSrcDest>

在复制的归档步骤中使用的 Source/Destination

MISSING_MAPPING_TO + <ToSitename>

<TempDefaultMedia>

制作对象的临时或暂时副本时要分配的目标介质(在某些恢复操作上执行)。

当 API 或 UI 用户希望 DIVAnet 确定要使用的介质(any 关键字将用作介质)时,也使用此值(取决于配置)。

RestoreAndMonitor 与此变量一起使用时,决定是否需要 <AppendMediaToPath> 选项。

无(对 RestoreAndArchive 是必需的)

<FilePathRoot>

相对于 Source/Destination 根的路径段。添加到 DIVAnet 生成的唯一文件夹名称之前。

Remote

<AdditionalOptions>

在恢复/归档操作中使用的 DIVA 选项。

-axf -rm -delete_fpr

-allow_delete_on_source

<AssignDefaultMediaOption>

API 或 UI 用户决定让 DIVAnet 选择用于复制的介质时要使用的策略。将 any 关键字用作介质时调用它。

StoragePlan-将源对象的存储路径名称用作默认介质。

StoragePlanAndSitename-在存储计划前加上源站点名称(由下划线分隔)。

TempMedia-将值 <TempDefaultMedia> 用作介质。

TempMedia

<AppendMediaToPath>

如果应该在 <FilePathRoot> 后(和唯一文件夹名称前)将目标介质作为子目录附加,则为 True。结果将如下所示:

<FilePathRoot> \ ToMedia \ UniqueFolderName

RestoreAndMonitor 类型与 DFM 一起使用时此选项很有用,因为 DFM 可以解析以此方式传递的介质名称。

false

<Weighting>

基于性能、首选项,对此传输路径与其他传输路径进行比较。在选择用于复制和恢复的站点时使用。有效范围为 0-40。使用大于 20 的值时要小心,因为将开始忽略其他因素,如磁盘与磁带、站点状态等。误用此选项可导致恢复操作中出现性能问题,且可促成 WAN 网络拥堵。

默认值为 10,处于本地时加上 10。


首选的源/目标映射

当 DIVAnet 计算用于恢复操作的站点时,如果使用本地站点可到达 Source/Destination,则 DIVAnet 通常首选本地站点。但是,在一些情况下,其他站点更为可取。

<Mappings> 标记可以包含 <SrcDest> 标记。在 <SrcDest> 标记内,<Name> 标记定义 Source/Destination 名称。<PreferredSitename> 标记表示在恢复操作中请求 Source/Destination 时要使用的首选站点。可以存在多个 <SrcDest> 部分。

配置 ManagerAdapter 服务

ManagerAdapterConfig.xml 配置文件包含 ManagerAdapter 服务的配置。使用以下步骤以及 ManagerAdapter 配置中每个参数的说明(下面的每个表都具有此信息)可配置 ManagerAdapter 服务。

按类别同步过滤

DIVAnet 可以在 DIVAnet DbSync 服务提取的对象信息上放置过滤器。此过滤器使站点可以选择要与下游 DIVAnet 系统同步的对象记录的子集。过滤在 ManagerAdapter 服务中配置并由其执行。

注:

对象过滤器和类别前缀替代是高级功能,需要仔细测试才能在生产工作流中实施。请勿随意添加或更改对象过滤器。

例如,位于纽约的 DIVAnet 系统已配置为使用和存储位于洛杉矶的站点的资产。洛杉矶的站点管理员希望确保,纽约的用户将仅看到与以下三种类别之一匹配的对象:AVIDPOST1POST2。通过洛杉矶站点的 ManagerAdapter 配置文件中实施以下过滤器可实现以下目的:

<LocalSitename>LosAngeles</LocalSitename>
<ObjFilter>
<RequestingSitename>NewYork</RequestingSitename>
<Category>AVID</Category>
<Category>POST1</Category>
<Category>POST2</Category>
</ObjFilter>

通过此过滤器,与指定类别匹配的对象将同步到纽约的 DIVAnet 数据库。具有其他类别的对象将不进行同步。从纽约站点用户的角度来看,存在于洛杉矶的对象记录仅属于与配置的类别过滤器匹配的对象。在 ManagerAdapter 中可以出现多个 <ObjFilter> 标记,每个标记都具有特定于请求站点的一组类别。

注:

类别对象过滤器不会自动阻止 ManagerAdapter 接受与过滤器不匹配的对象的请求。ManagerAdapter 访问规则可阻止没有特定类别的对象上的操作。

要阻止与过滤器不匹配的对象上的操作,请在 ManagerAdapter 访问规则文件中创建以下访问规则:

<Include>
<SourceSitename>NewYork</SourceSitename>
<Operation>*</Operation>
<ReqObjectCategory>AVID</ReqObjectCategory>
<ReqObjectCategory>POST1</ReqObjectCategory>
<ReqObjectCategory>POST2</ReqObjectCategory>
</Include>

此规则将仅允许与以下三种类别之一匹配的对象的来自纽约的请求:AVIDPOST1POST2。如果未定义其他包括规则,则其他类别将被拒绝。如果在 ManagerAdapter 中定义访问规则,请确保 ClientAdapter 配置为与处于 WebService 模式的站点进行通信。

配置类别前缀替代

使用按类别同步过滤时,可能存在问题。继续该示例,如果纽约创建一个类别未存在于过滤器中的对象,且将此对象复制到洛杉矶,则可能出现命名冲突。具有该名称的对象可能已存在于洛杉矶,因为纽约的 DIVAnet 系统不了解这些对象。一个解决方案是提供纽约的访问规则,以限制可以归档的潜在类别。

使用类别前缀替代,可以实现更灵活的解决方案。此功能不仅过滤已同步的条目,而且为每个传入请求添加类别前缀。这将为站点上的已归档对象提供类似名称空间的功能。

在一些 DIVAnet 工作流中,单个站点必须接受从多个站点复制的对象。这会导致为系统中的所有对象建立一组独特的类别变得很困难。使用类别前缀替代可解决此状况。以下 ManagerAdapter 对象过滤器将确保,只有洛杉矶中类别以 NY001. 开头的对象才会同步到纽约的 DIVAnet 数据库。

<LocalSitename>LosAngeles</LocalSitename>
<ObjFilter>
<RequestingSitename>NewYork</RequestingSitename>
<CategoryPrefix>NY001.</CategoryPrefix>
</ObjFilter>

在应用过滤器之后,但在对象到达目标(纽约)之前,会剥离前缀-剩余字符充当纽约 DIVAnet 数据库中的类别。例如,如果洛杉矶中对象的类别是 NY001.POST1,则发送到纽约的生成类别将是 POST1。同样,每当纽约 DIVAnet ClientAdapter 将命令发送到洛杉矶时,将重新添加前缀。

这样,洛杉矶就可以存储来自纽约的所有对象的副本,且没有命名冲突。此方法允许洛杉矶充当多个站点的灾难恢复站点。纽约不需要更改其命名策略。纽约始终如一地引用对象,因此在纽约重命名是不必要的。每个请求站点仅允许一个类别前缀。

为了使其正常工作,DIVAnet ClientAdapter 服务必须配置为在 WebService 模式下连接到远程站点。由于在复制到已启用前缀替代的站点时实质上已重命名对象,因此之前已复制到站点的对象将没有前缀,这可能会带来问题。一个解决方案涉及提供未转换的其他类别的列表。另一个解决方案涉及让 Oracle DIVA 安装专家重命名已过滤站点中对象的子集(即,将类别前缀添加到 DIVA 数据库中每个受影响对象的类别)。如果使用类别前缀替代,则(很可能需要)在 DIVArchive Actor 配置中禁用类别检查(请与 Oracle 支持人员联系以获取说明)。

注:

如果更改对象过滤器,则下游 DIVAnet 系统执行站点的重新同步几乎始终都是必要的。通过使用 DIVAnetAdmin 工具,可以完成此操作(请参阅第 6 章)。

可以将两种类型的类别过滤混合在一起。下面的第二个过滤器 (to Dallas) 在除类别 POST2POST3 之外的所有类别上执行类别前缀替代(使用 DAL01)。只有具有类别前缀或者具有类别 POST2POST3 的对象记录才会同步到 Dallas。

<LocalSitename>LosAngeles</LocalSitename>
<ObjFilter>
<RequestingSitename>NewYork</RequestingSitename>
<CategoryPrefix>NY001.</CategoryPrefix>
</ObjFilter>

<ObjFilter>
<RequestingSitename>Dallas</RequestingSitename>
<CategoryPrefix>DAL01.</CategoryPrefix>
<Category>POST2</Category>
<Category>POST3</Category>
<ObjFilter>

如果使用此混合方法,请确保其类别(例如 POST2)出现在列表中的对象名称不再添加有前缀(例如 NY001.POST2)。可以通过访问规则强制实施此策略。

修改 ManagerAdapter 配置文件

下表介绍了可以出现在 ManagerAdapter 配置文件中的参数。文件采用 XML 格式。默认值列指出在配置文件中未指定参数时参数将具有的值。该列还指出参数是必需的还是可选的。

要创建一个新的配置文件,请执行以下步骤:

  1. 导航到 DIVAnet 主目录(其中安装了 DIVAnet)。

  2. 导航到 Program\conf\divanet\templates 文件夹,将 ManagerAdapterConfig.xml.ini 复制到父目录,但是省去 .ini 扩展名 (..\ManagerAdapterConfig.xml)。

  3. 将以下各表用作参考,编辑 ManagerAdapterConfig.xml 文件中的参数以配置 ManagerAdapter。

附录 A 中包含 ManagerAdapter 配置文件样例。

表 4-7 ManagerAdapter 顶层参数

参数
说明
默认值

<LocalSitename>

本地站点的名称。列出的站点名称必须与在 DIVAnet 数据库中配置的名称匹配(本地和远程),且必须与在 ClientAdapterConfig.xmlDBSyncConfig.xml 文件中配置的名称匹配。此配置使 ClientAdapter 和 DbSync 可以与 ManagerAdapter 进行通信。

无(必需)

<ManagerAddress>

DIVArchive 管理器的网络地址(IP 或 Internet 名称)。

localhost

<ManagerPort>

客户机连接到 DIVArchive 管理器所用的端口。

无(必需)

<WebServicePort>

用于接收 Web 消息的端口。

无(可选)

<SSLWebServicePort>

如果应该在传入 Web 服务连接上强制实施 SSL,则为 True。

true

<AccessRulesFilename>

访问规则文件名。此文件名相对于 ManagerAdapter 配置文件所在的目录。

无(如果未配置,则不会应用任何访问规则)

<WorkerThreads>

DIVAnet 线程池中的工作线程数。用于优化大型配置。如果您不确定,请勿设置此值。

50

<LogDirectory>

将在其中生成日志文件的文件夹。

log\divanet\ManagerAdapter 文件夹。

<LogLevel>

发生跟踪文件日志记录的详细信息级别(ERRORWARNINFODEBUGTRACE)。

INFO


表 4-8 <ManagerDatabase> 参数

参数
说明
默认值

<Address>

DIVArchive 管理器数据库的 IP 地址。

localhost

<Port>

用于访问数据库的端口。

1521

<User>

方案的用户名。

无(必需)

<Password>

方案的密码。

无(必需)

<DbSiteId>

Oracle SID

lib5

<DbServiceName>

Oracle 服务名。可以提供它来代替 <DbSiteId>

无(可选)


可以在 ManagerAdapter 中为每个请求站点名称定义 <ObjFilter>。下表显示了对象过滤器的有效参数:

表 4-9 <ObjectFilter> 参数

参数
说明
默认值

<RequestingSitename>

请求对象的站点的站点名称

无(必需)

<Category>

具有提供的类别的对象将同步到请求站点名称。可以出现多个类别。

无(如果出现 <CategoryPrefix>,则是可选的)

<CategoryPrefix>

前缀将附加到通过 ManagerAdapter 接收的每个请求。只有具有类别前缀的对象才会同步到请求站点名称。

无(如果出现 <Category>,则是可选的)


配置 DbSync 服务

DBSyncConfig.xml 配置文件包含 DbSync 服务的配置。使用以下步骤以及每个参数的说明可配置 DbSync 服务。

在使用 ClientAdapter 时,请确保 DbSync 服务正在运行。如果 DbSync 服务没有运行,则通常会成功的一些请求可能会失败。例如,即使新 DIVAnet 归档请求可能成功,新归档对象的 DIVAnet 恢复也可能会失败。

修改 DbSync 配置文件

下表介绍了可以出现在 DbSync 配置文件中的参数。文件采用 XML 格式。默认值列指出在配置文件中未指定参数时参数将具有的值。该列还指出参数是必需的还是可选的。

要创建一个新的配置文件,请执行以下步骤:

  1. 导航到 DIVAnet 主目录(其中安装了 DIVAnet)。

  2. 导航到 Program\conf\divanet\templates 文件夹,将 DBSyncConfig.xml.ini 复制到父目录,但是省去 .ini 扩展名 (..\DBSyncConfig.xml)。

  3. 将下面的参数说明表用作参考,编辑 DBSyncConfig.xml 文件中的参数以配置 DbSync。

附录 A中包含 DbSync 配置文件样例。

表 4-10 DbSync 顶层参数

参数
说明
默认值

<LocalSitename>

本地 DIVAnet 站点(正在运行 DbSync)的站点名称。列出的站点名称必须与在 DIVAnet 数据库中配置的名称以及在 ClientAdapterConfig.xmlManagerAdapter.xml 中配置的名称匹配。此配置使 DbSync 可以与 ManagerAdapter 进行通信。

无(必需)

<LogDirectory>

将在其中生成日志文件的文件夹。

log\divanet\Dbsync 文件夹。

<LogLevel>

发生跟踪文件日志记录的详细信息级别(ERROR、WARN、INFO、DEBUG、TRACE)。

INFO

<InternalPollingRateMillis>

轮询站点以查找信息的基本速率。仅当遇到慢速网络和(或)系统时才更改此参数。

2000

<WebServicePort>

用于将管理消息发送到 DbSync 的端口。

无(可选)

<SSLWebServicePort>

如果应该在传入 Web 服务连接上强制实施 SSL,则为 True。

true


DivaManager 部分

<DivaManagers> 标记的内部,可以出现多个 <DivaManager> 定义。表 4-11显示了可以作为 <DivaManager> 部分的一部分出现的参数。

表 4-11 DbSync 的 <DivaManagers> 参数

参数
说明
默认值

<BaseUrl>

DIVA 管理器平台上用于同步的服务的 URL。默认情况下,这对应于远程 ManagerAdapter 的网络地址,由 ManagerAdapter 所用的 WebServicePort 限定。

无(可选)

<Sitename>

要从其同步对象信息的站点的官方名称。列出的站点名称必须与在 DIVAnet 数据库中配置的名称以及在 ClientAdapterConfig.xmlManagerAdapter.xml 中配置的名称匹配。

无(必需)


DIVAnet 数据库

配置 DIVAnet 数据库参数,如表 4-12所示。

表 4-12 <DIVAnetDatabase> 参数

参数
说明
默认值

<Address>

数据库的 IP 地址。

localhost

<Port>

用于访问数据库的端口。

1521

<User>

方案的用户名。

无(必需)

<Password>

方案的密码。

无(必需)

<DbSiteId>

Oracle SID(站点标识符)。

lib5

<DbServiceName>

Oracle 服务名。可以提供它来代替 <DbSiteId>

无(可选)


配置访问规则

在 DIVAnet 中,使用访问规则控制客户机应用程序和用户对 DIVAnet 操作和资源进行的访问。访问规则可通过以下三种方式运行:

  • 在 ClientAdapter 服务内的 DIVAnet 请求上(在 MultiDiva 模式下)

  • 在 ManagerAdapter 服务内的 DIVArchive 请求上

  • 在通过直接模式端口进入 ClientAdapter 的 DIVArchive 请求上

要运行访问规则,必须在 ClientAdapter 和(或) ManagerAdapter 配置文件中定义 <AccessRulesFilename> 参数。必须提供不带路径的文件名-DIVAnet 假定文件与 ClientAdapter 配置文件位于同一目录中。

运行访问规则的方法

在 ClientAdapter(MultiDiva 模式)中定义的访问规则集对(在本地接收的)DIVAnet 请求强制实施访问控制。在 ManagerAdapter 配置中定义的访问规则集对 DIVArchive 请求(为满足 DIVAnet 请求而提交)强制实施访问控制。两个级别的访问控制允许在发出请求处配置服务级规则,并将站点特定的规则作为服务级策略的例外强制实施。

在 ClientAdapter(直接模式)中定义的访问规则集对 DIVAnet 请求或 DIVArchive 请求强制实施访问控制,具体取决于远程系统是其他 DIVAnet 实例还是 DIVArchive 系统。在此模式下,其他操作类型可供在规则集中使用。这些操作对应于 DIVArchive 特定的请求,将在下面详细介绍。

归档示例

让我们快速转到一个示例,以便更熟悉规则本身。以下规则对以 adminoperator 身份从 Source/Destination DATA_EXP_PDAT1VID_FTP_3 连接的用户允许归档操作,并归档到介质 HDFeaturesspm(您会发现,属性的顺序并不重要),并用包含 POST 一词的类别进行命名。

<Include>
        <Operation>Archive</Operation>
     <Username>admin</Username>
     <Username>operator</Username>
     <ReqMedia>spm</ReqMedia>
     <ReqObjectCategory>*POST*</ReqObjectCategory>
     <ReqSourceDest>DATA_EXP_PDAT1</ReqSourceDest>
     <ReqSourceDest>VID_FTP_3</ReqSourceDest>
     <ReqMedia>HDFeatures</ReqMedia>
</Include>

复制示例

在下面的两个规则中,不允许 GUI 工作流配置文件中的来宾用户从 diva2 复制到 diva3,反之亦然。

<Exclude>
<WorkflowProfile>GUI</WorkflowProfile>
<Username>guest</Username>
<Operation>Copy</Operation>
<SourceSitename>diva2</SourceSitename>
<TargetSitename>diva3</TargetSitename>
</Exclude>
<Exclude>
<Username>guest</Username>
<WorkflowProfile>GUI</WorkflowProfile>
<Operation>Copy</Operation>
<SourceSitename>diva3</SourceSitename>
<TargetSitename>diva2</TargetSitename>
</Exclude>

此处使用了两个规则,因为您不希望显式限制在同一站点内出现的复制操作。例如,站点 diva2 上有人可能要将对象(使用 DIVAnet)复制到新磁带-在这种情况下,源和目标站点名称都是 diva2!如果具有一个包含了所有 <SourceSitename><TargetSitename> 属性的规则,则可以排除从 diva2 复制到 diva2 以及从 diva3 复制到 diva3

您仍未完成。除非具有至少一个匹配的包括规则,否则复制不会成功。

<Include>
<Operation>Copy</Operation>
<WorkflowProfile>GUI</WorkflowProfile>
<Username>guest</Username>
<Operation>ApiConnect</Operation>
</Include>

在这种情况下,涵盖面很广的包括规则满足了您的需要,能够复制到任何地方,但从 diva2 复制到 diva3(反之亦然)除外。实际上,您根本不需要 Exclude 规则。但是,有时使用 Exclude 规则更为方便。请牢记,如果 Exclude 规则与操作匹配,则该操作将被拒绝,即使一个或多个 Include 规则与其匹配也是如此。

Include 和 Exclude 规则

总而言之,有两种类型的规则:Include 和 Exclude。除非至少一个 Include 规则与即将执行的操作匹配,否则对所有请求拒绝访问。但是,如果任何 Exclude 规则是匹配的,则操作将自动被拒绝,而不管匹配的任何 Include 规则如何。

属性类型

在诸如删除、复制、恢复、部分文件恢复、取消和归档之类的请求上,DIVAnet 运行访问规则集的完整集以查看操作是否被允许。它检查变量,例如:

  • 发起人属性-连接的工作流配置文件、发送消息的用户名、发起人的 IP 地址。

  • 请求属性Source/Destination、源/目标站点名称、请求的介质、注释等。这些都派生自请求本身。其中许多带有前缀 Req

  • 对象属性-在其上存储对象的介质、存储计划、对象大小等。这些派生自操作所处理的对象。其中许多带有前缀 Obj

以下规则将所有三种属性类型组合在一起。仅当对象存在于洛杉矶时,它才允许用户 diva 对纽约执行站点删除。

<Include>
<Username>diva</Username>
<Operation>Delete</Operation>
<SubType>SiteDelete</SubType>
<TargetSitename>NewYork</TargetSitename>
<ObjOnSite>LosAngeles</ObjOnSite>
</Include>

DIVAnet 请求的规则 (ClientAdapter)

在 MultiDiva 模式下接收请求时,生成 DIVAnet 请求。可以对这些 DIVAnet 操作创建访问规则。以下详细介绍了特定于 DIVAnet 请求的一些属性。

连接操作

ApiConnect 和 WebConnect 操作是特殊的操作,必须包括它们才能建立与 ClientAdapter 的连接。

  • ApiConnect-此操作决定是否能够通过 API 客户机套接字连接来连接到 ClientAdapter。这是 DIVA API 连接所必需的。

  • WebConnect-此操作决定应用程序是否能够通过 Web 连接(DIVAnetUI 和 DivanetAdmin)进行连接。这是 DIVAnetUI 连接所必需的。

将这些操作与您的规则匹配时,请牢记将仅存在要与之匹配的发起人属性。例如,在 ApiConnect 操作期间运行访问规则时不会与 <TargetSitename> 匹配,因为客户机连接时该属性根本不存在。

SubType(用于删除)

删除操作具有 <SubType> 字段,该字段表示操作的子类型。可以将 <SubType> 字段连同删除操作一起包括在规则中,提供多个 <SubType> 参数(如果需要)。用于删除的 <SubType> 的值有:

  • GlobalDelete-如果执行的删除操作是所有站点上对象的全局删除,则匹配。这还与碰巧删除 DIVAnet 中所有剩余对象的站点删除操作匹配。

  • SiteDelete-如果删除操作将删除特定站点上的所有实例,则匹配(使用 <TargetSitename> 参数,可以在规则中与站点名称匹配)。此外,如果请求者删除单个实例,但是该实例是该站点上对象的最后一个实例,则操作将具有此 <SubType>

  • InstanceDelete-此删除操作将删除站点上的单个实例,该站点上还有其他实例。

对于强制实施允许的删除操作的范围,在规则中指定此参数是很有用的。

DIVArchive 请求的规则 (ManagerAdapter)

DIVAnet 还允许对 DIVArchive 请求运行访问规则。在 ManagerAdapter 中定义的访问规则指定允许哪些 DIVArchive 操作(为满足 DIVAnet 请求而发送)。在规则集中只能指定对 DIVAnet 请求有效的操作。在 ManagerAdapter 规则集中,WorkflowProfile、TargetSitename 和 SubType 属性无效。

与 ClientAdapter 规则集类似,必须准许 WebConnect 操作才能建立与 ManagerAdapter 的连接。这还扩展到 DbSync 操作。SourceSitename 属性对应于要发出请求的特定站点。ApiConnect 操作在 ManagerAdapter 访问规则中不可用。

规则匹配

与规则进行匹配涉及将规则中的属性与每个请求中、匹配对象中或请求发起人中的实际值进行比较。允许使用通配符(将星号 (*) 用作通配符)。标记名称不区分大小写,但是大多数值区分大小写。在每个规则中都需要 <Operation> 标记。可以提供包含星号 (*) 的 <Operation> 标记,以表示规则适用于所有操作。但是,执行此操作时应该小心,因为并非所有的属性对所有的操作都有效。

在匹配过程中,对规则(Include 或 Exclude 规则)中的不同属性执行逻辑 AND 运算。但是,在规则中多次指定单个属性可导致,那些属性将按逻辑 OR 组合到单个表达式中。

将请求的操作与访问规则进行匹配时,DIVAnet 确定规则中的属性是否适用于所执行的操作。如果不适用,则在比较时不使用该属性。

规则集和默认值

可以将规则组合到规则集中。每个 Include-Exclude 规则都必须包含在 <Ruleset> 标记的内部。会将每个传入 DIVAnet 操作与所有的规则集进行匹配。规则集很有用,因为它们可以具有充当其中包含的所有规则的默认属性的属性。在匹配过程中,每个规则集默认属性都包含在每个子规则中-就像直接在规则内指定属性那样。通常将工作流配置文件用作规则集的默认属性,因为在每个请求的 DIVAnet 操作上都填充了工作流配置文件。

在规则集中以下属性可以设为默认:

  • Username

  • NetAddress

  • WorkflowProfile(在 ClientAdapter 规则中)

另一个示例

以下示例允许通过 GUI<WorkflowProfile> 连接的用户查看请求和资产,并执行站点 diva1 上单个实例的删除。请记住,InstanceDelete<SubType> 将拒绝会移除站点上特定对象的最后一个实例的任何删除。

示例的第二部分禁止从子网 172.53 发起的所有连接(Web 或 API 连接)。对于任何操作,它都会这样做,而不管其工作流配置文件如何。

<Ruleset>
        <WorkflowProfile>GUI</WorkflowProfile>
        <Include>
            <Operation>WebConnect</Operation>
                        <Operation>Delete</Operation>
                        <SubType>InstanceDelete</SubType>
                        <TargetSitename>diva1</TargetSitename>
        </Include>
</Ruleset>
<Ruleset>
        <NetAddress>172.53*</NetAddress>
        <Exclude>
                        <Operation>ApiConnect</Operation>
                        <Operation>WebConnect</Operation>
        </Exclude>
</Ruleset>

规则集参数

表 4-13显示了可以出现在 <Ruleset> 部分下的参数。

表 4-13 规则集参数

参数
说明
默认值

<WorkflowProfile>

在 ClientAdapter 配置中定义的此属性是访问 DIVAnet 的工作组或应用程序集的名称。会将此属性作为规则集中每个规则的一部分。

无(可选)

<Username>

在 API 中传递的或者在 Web 请求中指定的用户名。会将此属性作为规则集中每个规则的一部分。

无(可选)

<NetAddress>

远程连接的网络地址(IP 或 Internet 名称)。这可以是网关或路由器的地址,而不是发起人的地址。会将此属性作为规则集中每个规则的一部分。

无(可选)

<Exclude>

一个规则,如果权限与 DIVAnet 操作匹配,则拒绝该权限。

无(可选)

<Include>

一个规则,如果权限与 DIVAnet 操作匹配,则允许该权限。

无(可选)


Include/Exclude 规则参数

可以指定出现在请求中的规则属性。例如,<ReqMedia> 将与在请求(操作)中指定的介质和(或)存储计划匹配。

同样,可以指定与请求正在处理的归档对象匹配的规则属性。例如,如果在删除操作中指定了某个对象,则 <ObjHasMedia> 将与当前是该已归档对象一部分的任何介质匹配,而不管在请求中传递的介质如何。

表 4-14显示了可以出现在 <Include><Exclude> 规则部分中的参数。

表 4-14 规则操作参数(Include 或 Exclude)

参数
说明
默认值

<Operation>

要匹配的 DIVAnet 操作的名称:

  • Archive

  • Copy

  • Restore

  • PartialRestore

  • Delete

  • Cancel

  • ApiConnect

  • WebConnect

  • ChangeConfig

在直接模式下还有可用于 DIVArchive 操作的其他操作:

  • CopyToNew

  • InsertTape

  • EjectTape

  • AssociativeCopy

  • TranscodeArchived

  • TransferFiles

  • ServerDelete

  • ChangePriority

无(可选)

<Username>

已连接的 API 用户和(或)服务用户的用户名。

无(可选)

<WorkflowProfile>

ClientAdapter 配置文件名称。

无(可选)

<NetAddress>

API 应用程序和(或)用户的 IP 地址。

无(可选)

<SourceSitename>

操作的源站点名称。有些操作没有源站点名称(例如,归档将 Source/Destination 作为源)。如果在其他站点上重试请求,则此值将更改,并将重新评估整个规则。当此属性出现在 ManagerAdapter 规则中时,这将与已提交请求的站点进行匹配。

无(可选)

<TargetSitename>

操作的目标站点名称。有些操作没有目标站点名称(例如,恢复将 Source/Destination 作为目标,而不是站点)。如果在其他站点上重试请求,则此值将更改,并将重新评估整个规则。

无(可选)

<SubType>

Multi DIVA 模式操作类型(删除命令具有 GlobalDelete、SiteDelete 和 InstanceDelete)。

无(可选)


表 4-15 规则请求参数(Include 或 Exclude)

参数
说明
默认值

<ReqObjectName>

所处理的对象的名称。

无(可选)

<ReqObjectCategory>

对象的类别(在 DIVArchive 中,这是对象的正式名称的一部分)。

无(可选)

<ReqSourceDest>

在请求中指定的 Source/Destination

无(可选)

<ReqComments>

请求中的注释字段。

无(可选)

<ReqMedia>

作为操作/请求的一部分请求的介质(不应附加站点名称)。请牢记,存储计划可以作为所请求的介质进行传递。

无(可选)

<ReqOptions>

请求中的选项字段。

无(可选)


表 4-16 规则对象参数(Include 或 Exclude)

参数
说明
默认值

<ObjOnSite>

如果对象存在于指定的站点上,则匹配。

无(可选)

<ObjNotOnSite>

如果对象不在指定的站点上,则匹配。

无(可选)

<ObjHasMedia>

与任何站点上的任何介质匹配。

无(可选)

<ObjHasStoragePlan>

与任何站点上的存储计划匹配(<ObjStoragePlanSite> 可以限制到一个站点)。

无(可选)

<ObjStoragePlanSite>

将指定的存储计划限制到特定的站点。

无(可选)

<ObjHasSizeGbLessThan>

如果对象总大小(以 GB 为单位的小数)小于指定值,则匹配。

无(可选)

<ObjHasSizeGbGreaterThan>

如果对象总大小(以 GB 为单位的小数)大于指定值,则匹配。

无(可选)


将脚本变量添加到配置文件

DIVAnet 允许配置文件中的变量替代,以便配置多个脚本文件更为容易。如果在 XML 值中遇到模式 ${variable_name}(变量在标记名称中无效),则 DIVAnet 读取脚本时以变量的值替代。该值可以从环境变量中提取或者直接在脚本内分配。

如果脚本中的变量名称与环境变量的相同,则在脚本中将以该变量的值替代。或者,可以使用 <Variable> 标记,在每个脚本的顶部定义变量值。语法如下:<Variable name="LocalSitename" value="diva1"/>。DIVAnet 读取配置脚本时,通过检查以确定脚本内使用的任何变量是否已在顶部设置。如果未设置,它将查找与变量同名的环境变量。

为便于使用,在 DIVAnet 主目录内的 Program\conf\divanet\wrapper 子文件夹中已创建名为 divanetEnv.conf 的脚本文件。变量可以在此配置文件中进行集中定义,并可用于所有的 DIVAnet 服务。如果值已更改且服务已重新启动,则将重新读取更改。有关变量样例,请参阅 divanetEnv.conf 文件。