Sun Java System Directory Server Enterprise Edition 6.1 管理指南

第 22 章 目录代理服务器分配

有关目录代理服务器分配的概述和示例使用案例的描述,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的第 17  章 “Directory Proxy Server Distribution”

本章包含以下主题:

创建和配置 LDAP 数据视图

有关如何创建和配置 LDAP 数据视图的信息,请参见以下过程:

Procedure创建 LDAP 数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 创建 LDAP 数据视图。


    $ dpconf create-ldap-data-view -h host -p port view-name pool-name suffix-DN
    

    有关如何修改 LDAP 数据视图的属性的信息,请参见配置 LDAP 数据视图

  2. 查看 LDAP 数据视图的列表。


    $ dpconf list-ldap-data-views -h host -p port
    

Procedure配置 LDAP 数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 查看 LDAP 数据视图的属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name
    

    如果在创建数据视图时未配置任何属性,则数据视图具有以下配置:


    alternate-search-base-dn               :  ""
    attr-name-mappings                          :  none
    base-dn                                     :  suffix-DN
    contains-shared-entries                     :  false
    custom-distribution-algorithm-class         :  none
    description                                 :  -
    distribution-algorithm                      :  none
    dn-join-rule                                :  none
    dn-mapping-attrs                            :  none
    dn-mapping-source-base-dn                   :  none
    excluded-subtrees                           :  -
    filter-join-rule                            :  none
    is-enabled                                  :  true
    is-read-only                                :  false
    is-routable                                 :  true
    ldap-data-source-pool                       :  pool-name
    lexicographic-attrs                         :  all
    lexicographic-lower-bound                   :  none
    lexicographic-upper-bound                   :  none
    non-viewable-attr                           :  none
    non-writable-attr                           :  none
    numeric-attrs                               :  all
    numeric-default-data-view                   :  false
    numeric-lower-bound                         :  none
    numeric-upper-bound                         :  none
    pattern-matching-base-object-search-filter  :  all
    pattern-matching-dn-regular-expression      :  all
    pattern-matching-one-level-search-filter    :  all
    pattern-matching-subtree-search-filter      :  all
    process-bind                                :  -
    replication-role                            :  master
    viewable-attr                               :  all except non-viewable-attr
    writable-attr                               :  all except non-writable-attr

    注 –

    除代理管理员外,所有用户都会看到后端服务器中的 cn=configcn=monitor 后缀。默认情况下,后端服务器中的数据对于代理管理员不可用。对于代理管理员可用的 cn=configcn=monitor 子树就是代理服务器自身的这些子树。

    创建目录代理服务器实例时,将使用空数据视图策略创建代理管理员的连接处理程序。如果代理管理员需要访问后端数据,则必须向代理管理员连接处理程序的数据视图策略中添加数据视图。默认情况下,在此类数据视图上将排除 cn=configcn=monitor 子树。


  2. 更改步骤 1 中列出的一个或多个属性。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     property:value [property:value ... ]

    例如,要访问数据源上的 dc=example,dc=com 子树,请在数据视图中指定 base-dn


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView base-dn:dc=example,dc=com

    要在多值属性中添加值,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name property+:value
    

    要从多值属性中删除值,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name property-:value
    
  3. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

Procedure配置自定义分配算法

可以为所有类型的数据视图配置自定义分配算法,即 ldap-data-viewjdbc-data-viewldif-data-viewjoin-data-view。在下面的过程中,仅为 ldap-data-view 设置算法。

  1. extension-jar-file-url 属性设置为包含 Java 归档 (Java Archive, JAR) 文件的路径,该文件中包含您的分配算法类。


    $ dpconf set-server-prop -h host -p port extension-jar-file-url:jar file path
    

    可以将 jar file path 替换为有效的 JAR 文件路径,如 file:/expt/dps/custom_plugin/myjar.jar

  2. 在配置 custom-distribution-algorithm 之前,将 distribution-algorithm 设置为 none


    $ dpconf set-ldap-data-view-prop view name distribution-algorithm:none
  3. custom-distribution-algorithm 属性设置为您的自定义分配算法类。


    $ dpconf set-ldap-data-view-prop view name custom-distribution-algorithm:PackageName.AlgoClassName
    

重命名属性和 DN

目录中的每个条目都是由 DN 和一组属性及其值标识的。通常,在客户端上定义的 DN 和属性不会映射到在服务器端定义的 DN 和属性。可以定义数据视图以重命名 DN 和属性。客户端发出请求后,将对 DN 和属性进行重命名,以便与服务器端的名称相匹配。结果返回到客户端后,DN 和属性将会恢复原来的名称,以便与客户端的名称相匹配。

有关属性重命名和 DN 重命名的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Attribute Renaming and DN Renaming”。有关如何重命名属性和 DN 的信息,请参见以下过程:

Procedure配置属性重命名

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 在要配置属性映射的数据视图上设置一个或多个 attr-name-mappings 属性。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     attr-name-mappings:client-side-attribute-name#server-side-attribute-name
      [attr-name-mappings:client-side-attribute-name#server-side-attribute-name ...]

    例如,将客户端的 surname 重命名为服务器端的 sn


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \
     attr-name-mappings:surname#sn

    要在现有映射列表中添加属性映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     attr-name-mappings+:client-side-attribute-name#server-side-attribute-name
    

    要从现有映射列表中删除属性映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     attr-name-mappings-:client-side-attribute-name#server-side-attribute-name
    

Procedure配置 DN 重命名

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 查看要重命名 DN 的数据视图的 base-dn 属性和 DN 映射属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs

    这些属性的含义如下:

    • base-dn 是客户端子树的 DN,相当于数据视图的基 DN。

    • dn-mapping-source-base-dn 是服务器端子树的 DN。

    • dn-mapping-attrs 用于定义包含条目 DN 的属性的列表。

    例如,未定义 DN 重命名时,客户端 dc=example,dc=com 数据库的数据视图具有以下值:


    $ dpconf get-ldap-data-view-prop myDataView base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs
     base-dn                    :  dc=example,dc=com
     dn-mapping-attrs           :  none
     dn-mapping-source-base-dn  :  none
  2. 将客户端的 DN 映射到服务器端的 DN。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
      dn-mapping-source-base-dn:server-side-dn
    

    例如,将客户端的 dc=example,dc=com 数据库映射到服务器端的 dc=example,dc=org


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \
     dn-mapping-source-base-dn:dc=example,dc=org
  3. 重命名受步骤 2 影响的 DIT 部分中的属性(如果这些属性包含 DN)。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
      dn-mapping-attrs:attribute-name [dn-mapping-attrs:attribute-name ...]

    例如,如果 group 属性包含 DN,并且所在的名称空间受步骤 2中重命名操作的影响,请按如下方式重命名该属性:


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView dn-mapping-attrs:group

    要在现有映射列表中添加 DN 映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name dn-mapping-attrs+:attribute-name
    

    要从现有映射列表中删除 DN 映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name dn-mapping-attrs-:attribute-name
    
  4. 查看已重命名 DN 的数据视图的 base-dn 属性和 DN 映射属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs

    例如,客户端 dc=example,dc=com 数据库的数据视图在 DN 重命名后具有以下值:


    $ dpconf get-ldap-data-view-prop -h host1 -p 1389 myDataView base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs
     base-dn                    :  dc=example,dc=com
     dn-mapping-attrs           :  group
     dn-mapping-source-base-dn  :  dc=example,dc=org

配置 excluded-subtreesalternate-search-base-dn

创建从属数据视图后,目录代理服务器会自动从上级数据视图中排除该从属数据视图。当请求针对从属数据视图时,该请求将被发送到从属数据视图,而不是上级数据视图。

在从属数据视图中指定备用搜索基后,还会在从属数据视图中执行针对上级数据视图的搜索操作。

默认情况下,目录代理服务器将自动配置 excluded-subtreesalternate-search-base-dn 属性。以下过程将介绍如何手动配置这些属性。

Procedure手动配置 excluded-subtreesalternate-search-base-dn 属性

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 将目录代理服务器配置为手动路由请求。


    $ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:manual

    data-view-automatic-routing-modemanual 时,目录代理服务器不会生成 excluded-subtreesalternate-search-base-dn 属性。您必须手动设置这些属性的值。目录代理服务器不会检查此处设置的值。请注意,错误地设置这些值可能会破坏管理路径。

    或者,将目录代理服务器配置为手动路由部分请求。


    $ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:limited

    data-view-automatic-routing-modelimited 时, 目录代理服务器不会生成 excluded-subtreesalternate-search-base-dn 属性。但是,目录代理服务器会检查此处设置的值是否与管理路径冲突。

  2. 配置视图排除基。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name excluded-subtrees:suffix-DN
    

    视图排除基用于确定数据视图不公开其条目的 DIT 分支。

  3. 配置备用搜索基。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     alternate-search-base-dn:search-base-DN
    

    备用搜索基用于确定 DIT 的其他分支,属于此数据视图的条目可能位于这些分支中。默认情况下,在所有数据视图中都将基 DN 定义为备用搜索基。

为示例使用案例创建和配置数据视图

本部分包含以下有关数据视图以及如何创建和配置数据视图的信息:

本部分中的示例假定连接处理程序允许目录代理服务器处理所有客户端连接。

默认数据视图

如果创建数据视图而不配置任何属性,则数据视图将具有以下配置:


alternate-search-base-dn                    :  ""
alternate-search-base-dn                    :  base-DN
attr-name-mappings                          :  none
base-dn                                     :  suffix-DN
contains-shared-entries                     :  -
description                                 :  -
distribution-algorithm                      :  -
dn-join-rule                                :  -
dn-mapping-attrs                            :  none
dn-mapping-source-base-dn                   :  none
excluded-subtrees                           :  -
filter-join-rule                            :  -
is-enabled                                  :  true
is-read-only                                :  false
is-routable                                 :  true
ldap-data-source-pool                       :  pool-name
lexicographic-attrs                         :  all
lexicographic-lower-bound                   :  none
lexicographic-upper-bound                   :  none
non-viewable-attr                           :  -
non-writable-attr                           :  -
numeric-attrs                               :  all
numeric-default-data-view                   :  false
numeric-lower-bound                         :  none
numeric-upper-bound                         :  none
pattern-matching-base-object-search-filter  :  all
pattern-matching-dn-regular-expression      :  all
pattern-matching-one-level-search-filter    :  all
pattern-matching-subtree-search-filter      :  all
process-bind                                :  -
replication-role                            :  master
viewable-attr                               :  all except non-viewable-attr
writable-attr                               :  all except non-writable-attr

路由所有请求(不考虑请求的目标 DN)的数据视图

本部分将显示将所有请求(不考虑请求的目标 DN)路由到数据源池的数据视图的配置。此数据视图称为根数据视图。默认情况下,在创建目录代理服务器实例时将创建根数据视图。有关根数据视图的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views to Route All Requests, Irrespective of the Target DN of the Request”

根数据视图具有以下配置:


alternate-search-base-dn                    :  -
attr-name-mappings                         :  none
base-dn                                    :  ""
contains-shared-entries                    :  -
description                                :  Automatically-generated data view 
                                              able to route client operations 
                                              independently of the operation base dn
distribution-algorithm                     :  -
dn-join-rule                               :  -
dn-mapping-attrs                           :  none
dn-mapping-source-base-dn                  :  none
excluded-subtrees                          :  ""
excluded-subtrees                          :  cn=config
excluded-subtrees                          :  cn=monitor
excluded-subtrees                          :  cn=proxy manager
excluded-subtrees                          :  cn=virtual access controls
excluded-subtrees                          :  dc=example,dc=com
filter-join-rule                           :  -
is-enabled                                 :  true
is-read-only                               :  false
is-routable                                :  true
ldap-data-source-pool                      :  defaultDataSourcePool
lexicographic-attrs                        :  all
lexicographic-lower-bound                  :  none
lexicographic-upper-bound                  :  none
non-viewable-attr                          :  -
non-writable-attr                          :  -
numeric-attrs                              :  all
numeric-default-data-view                  :  false
numeric-lower-bound                        :  none
numeric-upper-bound                        :  none
pattern-matching-base-object-search-filter :  all
pattern-matching-dn-regular-expression     :  all
pattern-matching-one-level-search-filter   :  all
pattern-matching-subtree-search-filter     :  all
process-bind                               :  -
replication-role                           :  master
viewable-attr                              :  all except non-viewable-attr
writable-attr                              :  all except non-writable-attr

当子树列表存储到多个数据相等的数据源时路由请求的数据视图

本部分介绍如何配置数据视图,以将目标为子树列表的请求路由到一组数据相等的数据源。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views to Route Requests When a List of Subtrees Are Stored on Multiple, Data-Equivalent Data Sources”

本部分中的示例具有多个包含相同子树集的数据源。这些数据源具有相等的数据,并被集中在一个数据源池中以便实现负载平衡。每个子树都会配置一个数据视图,以便向客户端请求公开该子树。下图显示了样例部署。

图 22–1 当子树列表存储到多个数据相等的数据源时路由请求的样例部署

图中显示的示例部署将针对子树列表的请求路由到一组数据相等的数据源。

Procedure配置当子树列表存储到多个数据相等的数据源时路由请求的数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源中所述。

  2. 创建数据源池,如创建和配置 LDAP 数据源池中所述。

  3. 将数据源连接到数据源池,如将 LDAP 数据源连接到数据源池中所述。

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example1,dc=com 且指向该数据源池的数据视图。


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \
      base-dn:dc=example1,dc=com ldap-data-source-pool:data-source-pool-1
  6. 创建基 DN 为 dc=example2,dc=com 且指向该数据源池的另一个数据视图。


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \
      base-dn:dc=example2,dc=com ldap-data-source-pool:data-source-pool-1

    数据视图的其他属性与默认数据视图中的默认数据视图相同。

  7. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

当不同子树存储到不同数据源时提供单一访问点的数据视图

本部分介绍如何配置数据视图,以便为存储在多个数据源中的不同子树提供单一访问点。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views to Provide a Single Point of Access When Different Subtrees Are Stored on Different Data Sources”

本部分中的示例包含每个子树的数据视图。每组数据相等的数据源都会配置一个数据源池。下图显示了示例部署。

图 22–2 当不同子树存储到不同数据源时提供单一访问点的样例部署

图中显示的样例部署向存储到多个数据源的不同子树提供单一访问点。

Procedure配置当不同子树存储到不同数据源时提供单一访问点的数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源中所述。

  2. 创建两个数据源池,如创建和配置 LDAP 数据源池中所述。

  3. 将包含 dc=example1,dc=com 的数据源连接到 data-source-pool-1,将包含 dc=example2,dc=com 的数据源连接到 data-source-pool-2,如将 LDAP 数据源连接到数据源池中所述。

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example1,dc=com 且指向 data-source-pool-1 的数据视图。


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \
      base-dn:dc=example1,dc=com ldap-data-source-pool:data-source-pool-1
  6. 创建基 DN 为 dc=example2,dc=com 且指向 data-source-pool-2 的另一个数据视图。


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \
      base-dn:dc=example2,dc=com ldap-data-source-pool:data-source-pool-2

    数据视图的其他属性与默认数据视图中的默认数据视图相同。

  7. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

当子树的不同部分存储到不同数据源时提供单一访问点的数据视图

本部分介绍如何配置数据视图,以便为子树的不同部分提供单一访问点。此示例包含两个具有相同基 DN 的数据视图。可使用数字分配算法将条目分配到不同的数据视图中。每组数据相等的数据源都会配置一个数据源池。下图显示了示例部署。

有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views to Route Requests When Different Parts of a Subtree Are Stored in Different Data Sources”

图 22–3 当子树的不同部分存储到不同数据源时提供单一访问点的样例部署

图中显示的样例部署向存储到多个数据源的不同子树部分提供单一访问点。

Procedure配置当子树的不同部分存储到不同数据源时提供单一访问点的数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源中所述。

  2. 创建两个数据源池,如创建和配置 LDAP 数据源池中所述。

  3. 将包含部分子树的数据源连接到 data-source-pool-1,将包含子树其他部分的数据源连接到 data-source-pool-2,如将 LDAP 数据源连接到数据源池中所述。

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建具有分配算法的数据视图,以选择 ou=people,dc=example,dc=comuid 介于 099 之间的条目,并将该数据视图配置为将请求指向 data-source-pool-1


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-1 \
     ldap-data-source-pool:data-source-pool-1 base-dn:ou=people,dc=example,dc=com \
     distribution-algorithm	:numeric numeric-attrs:uid numeric-lower-bound	:0 \
     numeric-upper-bound	:99
  6. 创建另一个具有分配算法的视图,以选择 ou=people,dc=example,dc=comuid 介于 100199 之间的条目,并将该数据视图配置为将请求指向 data-source-pool-2


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 dataview-2 \
     ldap-data-source-pool:data-source-pool-2 base-dn:ou=people,dc=example,dc=com \
     distribution-algorithm:numeric numeric-attrs:uid numeric-lower-bound:100
     numeric-upper-bound	:199

    数据视图的其他属性与默认数据视图中的默认数据视图相同。

  7. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

当上级子树和从属子树存储到不同数据源时提供单一访问点的数据视图

本部分介绍如何配置数据视图,以便在将子树的上级分支和从属分支存储到不同数据源时提供单一访问点。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views to Route Requests When Superior and Subordinate Subtrees Are Stored in Different Data Sources”

本部分中的示例包含三个数据视图。数据视图 1 的基 DN 级别高于数据视图 2 和数据视图 3 的基 DN。或者,换句话说,数据源 2 和数据源 3 包含的子树从属于数据源 1 的子树。下图显示了示例部署。

图 22–4 当上级子树和从属子树存储到不同数据源时路由请求的样例部署

图中显示的样例部署在上级子树和从属子树存储到不同数据源时路由请求。

将从属分支配置为单独数据视图的基 DN 时,目录代理服务器将自动从数据视图中排除子树的从属分支。

Procedure配置当上级子树和从属子树存储到不同数据源时提供单一访问点的数据视图

您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源中所述。

  2. 创建三个数据源池,如创建和配置 LDAP 数据源池中所述。

  3. 按照将 LDAP 数据源连接到数据源池中的说明将数据源连接到数据源池。

    • 将包含 dc=example,dc=com 的数据源连接到 data-source-pool-1

    • 将包含 ou=computer,dc=example,dc=com 的数据源连接到 data-source-pool-2

    • 将包含 ou=people,dc=example,dc=com 的数据源连接到 data-source-pool-3

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example,dc=com 且数据源池为 data-source-pool-1 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \
     data-source-pool-1 dc=example,dc=com
  6. 创建基 DN 为 ou=computer,dc=example,dc=com 且数据源池为 data-source-pool-2 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \
     data-source-pool-2 ou=computer,dc=example,dc=com
  7. 创建基 DN 为 ou=people,dc=example,dc=com 且数据源池为 data-source-pool-3 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-3 \
     data-source-pool-3 ou=people,dc=example,dc=com
  8. 通过查看 excluded-subtrees 参数,验证子树 ou=computer,dc=example, dc=comou=people,dc=example, dc=com 是否已从 dataview-1 中排除。


    $ dpconf get-ldap-data-view-prop -h host1 -p 1389 dataview-1 excluded-subtrees

    将返回已排除的子树的列表。

  9. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

具有分层结构和分配算法的数据视图

本部分介绍如何配置数据视图以合并分层结构和分配算法。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.1 Reference》中的“Data Views With Hierarchy and a Distribution Algorithm”

本部分中的示例包含四个数据视图。数据视图 1 的基 DN 级别高于其他数据视图的基 DN。数据视图 3 和数据视图 4 具有相同的基 DN,但数字分配算法将条目分配到不同的数据视图中。

将从属分支配置为单独数据视图的基 DN 时,目录代理服务器将自动从数据视图中排除子树的从属分支。数字分配算法可将相同子树中的条目分配到不同的数据视图中。每组数据相等的数据源都会配置一个数据源池。

下图显示了示例部署。

图 22–5 具有分层结构和分配算法的样例数据视图

图中显示了结合使用分层结构和分配算法的数据视图样例。

Procedure配置具有分层结构和分配算法的数据视图

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源中所述。

  2. 创建四个数据源池,如创建和配置 LDAP 数据源池中所述。

  3. 按照将 LDAP 数据源连接到数据源池中的说明将数据源连接到数据源池。

    • 将包含 dc=example,dc=com 的数据源连接到 data-source-pool-1

    • 将包含 ou=computer,dc=example,dc=com 的数据源连接到 data-source-pool-2

    • 将包含 ou=people,dc=example,dc=comuid 介于 099 之间的条目的数据源连接到 data-source-pool-3

    • 将包含 ou=people,dc=example,dc=comuid 介于 100199 之间的条目的数据源连接到 data-source-pool-4

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example,dc=com 且指向 data-source-pool-1 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \
     data-source-pool-1 dc=example,dc=com
  6. 创建基 DN 为 ou=computer,dc=example,dc=com 且指向 data-source-pool-2 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \
     data-source-pool-2 ou=computer,dc=example,dc=com
  7. 创建基 DN 为 ou=people,dc=example,dc=com 且指向 data-source-pool-3 的数据视图。在数据视图上配置分配算法,以选择 uid 介于 099 之间的条目。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-3 \
     data-source-pool-3 ou=people,dc=example,dc=com
    $ dpconf set-ldap-data-view-prop dataview-3 distribution-algorithm:numeric \
     numeric-attrs:uid numeric-lower-bound:0 numeric-upper-bound:99
  8. 创建基 DN 为 ou=people,dc=example,dc=com 且指向 data-source-pool-4 的数据视图,并在该数据视图上配置分配算法,以选择 uid 介于 100199 之间的条目。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-4 \
     data-source-pool-4 ou=people,dc=example,dc=com
    $ dpconf set-ldap-data-view-prop dataview-4 distribution-algorithm:numeric \
     numeric-attrs:uid numeric-lower-bound:100 numeric-upper-bound:199
  9. 通过查看 excluded-subtrees 参数,验证子树 ou=computer,dc=example, dc=comou=people,dc=example, dc=com 是否已从 dataview-1 中排除。


    $ dpconf get-ldap-data-view-prop -h host1 -p 1389 dataview-1 excluded-subtrees

    将返回已排除的子树的列表。

  10. 重新启动目录代理服务器实例以使更改生效。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器