4 配置 DIVAnet 服务

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

配置 ClientAdapter 服务

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

配置 DIVArchive 站点名称

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

注:

站点名称区分大小写。

配置客户机 API 端口

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

  • 直接模式-在直接模式中,传入 API 连接直接路由到单个 DIVArchive 系统而不加以处理。DIVAnet 路由到的特定站点在 ClientAdapter 中按端口进行配置。此功能允许本地客户机连接到远程 DIVArchive 系统,就像它是本地系统一样。必须在 ClientAdapter 配置文件的 DivaManagers 部分中配置消息所要路由到的 DIVA 站点。另请注意,只有在直接模式下才能将站点指定为正在运行(有关更多信息,请参见配置 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。DIVAnet 通过根据需要查询其他 DIVArchive 系统来满足高级别请求。此功能允许(例如)将内容从一个站点复制到另一个站点,进行恢复而无需知道哪个特定站点具有内容,以及当第一个站点上的内容无法访问时在其他站点上重试。此外,还提供了所有站点上内容的全局视图。

    可以在 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} / {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 APIPort 参数

参数
说明
默认值

ListenPort

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

无(必需)

RoutingMode

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

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

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

MultiDiva

Sitename

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

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

LocalAddress

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

无(可选)

WorkflowProfile

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

default

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


DIVArchive Manager 部分

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

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

NA

Message

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

  • AllInfo

  • Archive

  • Cancel

  • CloseObjectsList(旧版)

  • Copy

  • Delete

  • GetArchiveSystemInfo

  • GetArrayList

  • GetFilesAndFolders

  • GetGroupsList

  • GetObjectDetailsList

  • GetObjectInfo

  • GetObjectsList(旧版)

  • GetRequestInfo

  • GetSourceDestinationList

  • GetStoragePlanList

  • InitObjectsList(旧版)

  • PartialRestore

  • Restore

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

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

(需要一个)

UseDefaultMappings

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

False


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

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

每个映射都包含 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。如果未定义其他 Include 规则,则其他类别将被拒绝。如果在 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 章)。

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

<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 Manager 的网络地址(IP 或 Internet 名称)。

localhost

ManagerPort

客户机连接到 DIVArchive Manager 所用的端口。

无(必需)

WebServicePort

用于接收 Web 消息的端口。

无(可选)

SSLWebServicePort

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

true

AccessRulesFilename

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

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

WorkerThreads

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

50

LogDirectory

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

log/divanet/ManagerAdapter 文件夹。

LogLevel

跟踪文件日志记录的详细程度(ERRORWARNINFODEBUGTRACE)。

INFO


表 4-8 ManagerDatabase 参数

参数
说明
默认值

Address

DIVArchive Manager 数据库的 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

DIVArchive Manager 平台上用于同步的服务的 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!如果只有一个包含了所有 SourceSitenameTargetSitename 属性的规则,则会排除从 diva2diva2 的复制以及从 diva3diva3 的复制!

此时您的工作仍未完成。除非至少有一个匹配的 Include 规则,否则复制不会成功。

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

在这种情况下,一个通用的 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 上删除单个实例。请注意,SubTypeInstanceDelete 时,会拒绝将移除特定对象在站点上的最后一个实例的删除操作。

示例的第二部分禁止从子网 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显示了可以出现在 IncludeExclude 规则部分中的参数。

表 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 文件。