理解IBMLotusDomino服务器集群.docx

上传人:苏美尔 文档编号:6122725 上传时间:2020-09-11 格式:DOCX 页数:69 大小:685.55KB
返回 下载 相关 举报
理解IBMLotusDomino服务器集群.docx_第1页
第1页 / 共69页
理解IBMLotusDomino服务器集群.docx_第2页
第2页 / 共69页
理解IBMLotusDomino服务器集群.docx_第3页
第3页 / 共69页
理解IBMLotusDomino服务器集群.docx_第4页
第4页 / 共69页
理解IBMLotusDomino服务器集群.docx_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《理解IBMLotusDomino服务器集群.docx》由会员分享,可在线阅读,更多相关《理解IBMLotusDomino服务器集群.docx(69页珍藏版)》请在三一文库上搜索。

1、理解 IBM Lotus Domino 服务器集群简介集群是 IBM? Lotus? Domino? Server 提供的最重要特性之一。 对于任何使用 Domino 服务器的组织,让用户能够持续访问它们的数据库是至关重要的。如果拥有成千上万用户的服务器停机了,用户的生产力将受到阻碍, 并导致负面的业务影响。这份白皮书的目标帮助您理解集群, 以及如何利用集群带来的好处,比如重要数据库的高可用性、工作负载平衡、可伸缩性和数据同步。我们解释如何设置和管理集群, 并提供关于错误消息和使用集群时遇到的其他问题的信息。注意,这份白皮书的大部分材料都来自IBM Lotus Domino 8.5 Admin

2、istrator information center,您可以参考它获得更多信息。什么是 Lotus Domino集群?Domino 集群是由两个以上的服务器组成的服务器组,它的功能包括为用户提供持续的数据访问、平衡服务器之间的负载、改善服务器性能,以及随着企业的增长维护性能。集群中的服务器包含需要对用户随时可用的数据库的副本。如果用户试图访问集群中不可用的数据库, Lotus Domino 将在集群的另一个服务器上打开该数据库的一个副本, 如果存在它的副本的话。 Lotus Domino 不断地同步数据库,这样用户打开的所有副本的信息都是一样的。Lotus Notes 客户端可以访问所有 D

3、omino 集群服务器,而 HTTP 客户端(Internet 浏览器)仅能访问 Domino 集群中的 Domino Web 服务器。Domino集群的好处现在,我们讨论Domino 集群的主要好处:? 重要数据库的高可用性。当集群中的某个服务器发生硬件或软件问题时, 它就会将数据库打开请求重定向到其他服务器, 让用户能够随时访问重要的数据库。 这个过程称为故障转移。集群为业务关键型数据库和服务器提供故障转移,包括将故障服务器的负载转移到集群中的其他服务器。 故障转移还允许您进行服务器维护, 比如硬件和软件升级, 但对用户的负面影响非常小。? 工作负载平衡。当用户试图访问繁忙的服务器时, L

4、otus Domino 能够将用户请求重定向到集群中不繁忙的服务器中, 从而使工作负载在整个集群中得到平衡。集群服务器的工作负载平衡能够帮助系统实现最佳的性能,加快数据访问速度。? 数据同步。实现高效集群的关键是在两个或多个集群服务器上设置副本, 从而让用户可用在某个服务器出现故障或比较繁忙时访问其他服务器。 集群复制确保所有更改, 不管是针对数据库还是集群成员本身, 都即时传递到其他数据库或集群中的其他服务器。因此,持续地同步数据库实现了信息的高可用性。? 改变操作系统、 硬件或 Lotus Domino 版本比较容易。当您想要更变硬件、 操作系统或Domino 版本时,您可以将集群服务器设

5、置为 RESTRICTED,从而将针对这些服务器的请求故障转移到其他包含副本的集群服务器中。这允许您在进行变更时不影响用户的生产力。服务器需求在计划设立一个集群时, 考虑硬件的性能和能力是非常重要的。集群必须具备足够的 CPU 处理能力、内存和磁盘空间来处理集群流量和数据库备份等。向集群添加服务器能够增加集群处理工作负载平衡的能力,从而保证所有服务器的负载水平适中,实现较高的性能。不过,如果服务器使用过多的任务、需要大量 CPU 的应用程序和副本,那么添加服务器会损害性能, 因为增加的集群流量时要保持在所有服务器上同步数据库。服务器需求如下:? 集群中的所有服务器都必须运行在 LotusDom

6、ino Enterprise 服务器或 Domino Uti lity 服务器之上。? 集群中的所有服务器都必须通过高速局域网( LAN)或高速广域网( WAN)连接起来。您可以为集群通信设置私有 LAN。? 集群中的所有服务器都必须使用 TCP/IP协议,并且在同一个以 IBM Lotus Notes命名的网络上。o集群中的所有服务器都必须在同一个 D omino 域中,并共享相同的 Domino Di rectory 。o必须在包含集群的域中为 Domino Dire ctory 指定一个管理服务器。 如果没有指定管理服务器, Administration Pro cess (AdminP

7、) 就不能更改集群成员。管理服务器可以不是集群成员。o 集群中的每个服务器都必须拥有一个分级的服务器 ID 。如果存在使用水平 ID的服务器,必须将其转换为使用分级ID。ooo一个服务器仅能是一个集群的成员。每个服务器都必须拥有足够的磁盘空间来完成集群成员的任务。 因为集群通常需要多个数据库副本, 因此集群服务器比非集群服务器需要更多磁盘空间。每个服务器都必须拥有足够的 CPU 处理能力和内存容量。总体而言,集群服务器比非集群服务器需要更多的 CPU 处理能力和内存。设置集群在这个小节中, 我们讨论如何创建集群, 以及如何验证正确创建了集群。 您可以选择直接向集群添加服务器,或使用 Admin

8、P 向集群添加服务器。使用 AdminP如果您使用 AdminP 向集群添加服务器, LotusDomino 将向 Administration Requests数据库提交一个请求, 要求将集群的名称添加到集群中的每个服务器的 Server 文档。如果您使用管理服务器创建集群, AdminP 将立即运行并将集群名称添加到 Server 文档。直接添加集群如果您选择直接向集群添加服务器, Lotus Dom ino 将在马上在您用于创建集群的服务器上的Domino Directory中更改 Server文档。如果该服务器是集群的成员, 它就会立即启动下面列出的集群流程, 并将其 Domino D

9、irectory 与集群中的另一个服务器同步, 从而让其他集群服务器知道它们是集群的成员。如果您不是使用集群成员创建集群, 这个流程将在您使用的服务器的 Domino Directory 与集群中的服务器的 Domino Directory 同步时开始。创建集群要创建一个集群,需要遵循以下步骤(注意,不能使用 Web Administrator 创建集群):1.在 Domino Administrator上确保管理服务器或其他服务器是最新的。2.单击 Configuration选项卡,并在 Tasks 面板中展开 Server ,然后选择 All Server Documents (见图 1

10、)。3. 在 Results 面板上,选择需要添加到集群的服务器。图 1. All Server Documents(查看大图)4.单击 Add to Cluster ;这时将出现一个确认对话框(见图 2 )。图 2. Add to Cluster确认对话框(查看大图)5. 在 Cluster Name 对话框中选择 Create New Cluster ,然后单击 OK。6. 输入新集群的名称, 然后单击 OK(见图3)。图 3. New Cluster Name对话框(查看大图)7. 选择 Yes 立即将服务器添加到集群,或选择 No 向 Administration Process提交一

11、个向集群添加服务器的请求(见图4-6)。图 4. Immediate 或 Administration Pro cess 选项( 查看大图 )图 5. 选择 Yes 立即将服务器添加到集群(查看大图 )图 6.选择 No 向 Administration Process 提交一个请求( 查看大图 )8. (可选)如果您在步骤 8 选择 No,并且没有通过管理服务器添加服务器, 那么需要在您使用的服务器和管理服务器之间进行复制,让管理服务器尽快收到请求的更改。9. (可选)如果您在步骤 8 选择 No,那么需要在管理服务器和集群服务器之间进行复制,让管理服务器尽快收到请求的更改。10. (可选)

12、如果您在步骤 8 选择 Yes ,那么集群信息将立即添加到用于创建集群的服务器上的 Domino Directory 。如果该服务器不是新集群的成员, 那么将更改复制到添加到集群的服务器之一。注意:如果可能的话, 使用管理服务器创建集群会更快。管理服务器可以不是集群的成员。 如果一个服务器属于另一个不同的集群, 那么在您将其添加到新的集群之前, 不需要把它从原来的集群删除。 Cluster Administration Process会自动从原来的集群中删除该服务器, 然后再把它添加到新的集群中。为集群设置私有LAN为集群设置私有 LAN 可以将服务器探查和集群复制与其他网络通信隔离开, 从而

13、防止集群流量影响主要网络的速度。遵循以下步骤为您的集群设置一个私有网络:1. 在集群的每个服务器中安装一个额外的网卡。这些网卡必须通过私有的集线器或交换机连接起来。2. 配置 LAN 以使用 TCP/IP 。3. 为每个服务器分配第二个 IP 地址。例如,在使用两个服务器的集群中, 您可以使用地址 192.168.64.1和 192.168.64.2。4. 为新的 IP 地址分配主机名,并将它们存放到 HOSTS 文件或 DNS 中。例如,在使用两个服务器的集群中, 您可以将主机名指定为 Acme_ 和 Acme2_clu.acm 。在 HOSTS 文件中的条目应该为:Acme_Acme2_5

14、.6. 确保每个集群服务器都能够 ping 通两个 IP 地址和另一个集群服务器的主机名,从而保证私有 LAN 是有效的。此外,确保其他服务器能够使用常规的 LAN 地址 pin g 通集群服务器。7. 在集群中的每个服务器上,为私有 LAN添加一个新的网络端口, 然后通过编辑 Ser ver 文档启用该端口。 例如,添加一个名为CLUSTER的端口,然后通过在 Server 文档的 Ports - Notes Network Ports 选项卡中添加表 1 的信息启用该端口。表 1. Notes Network Ports选项卡信息字段名示例PortCLUSTERProtocolTCPNot

15、es Network Cluster NetworkNet Address Acme_EnabledENABLED8. 从相应的子网中为每个端口分配一个 IP 地址,然后按照以下方式将该信息放到 Notes.ini文件中:PORT1_TcpIPAddress=0,a.b.c.d: 1352PORT2_Tcp I PAdd ress=0, e.f.g.h: 13529.10. 其中 PORT1 和 PORT2 是端口名,a.b.c. d 和 e.f.g.h 是端口的 IP 地址。11. 如果使用名为 TCPIP 和 CLUSTER的端口,那么结果应该为:TCPIP_TcpIPAddress=0,

16、192.1 14.32.5:1352CLUSTER_TcpIPAddress=0,1 92.168.64.1:135212.13. 现在,执行以下操作之一:o 对端口进行重新排序,让集群端口排在首位。这确保所有集群流量都使用这个端口。确保所有其他流量被指定为使用其他端口。o 向 NOTES.INI 文件添加以下行:Server_Cluster_Default_Port=Cluster Portoo其中 Cluster Port是您为集群创建的端口。在这个例子中,该行应该为:Server_Cl uster_Default_Port=CLUSTERoo 这确保在集群进行通信时所有集群流量都使用该端

17、口,而不管端口的顺序如何。14. 注意:使用 Server_Cluster_Default_P ort 设置为集群流量分配私有 LAN 端口有一个缺点。如果集群服务器在连接到这个端口时遇到问题, 它就不再尝试其他端口。 这将导致该服务器不能与其他集群服务器通信。您必须解决网络问题或从 Notes.ini文件删除该设置才能恢复该服务器与集群的通信。15. 最后,重启服务器 。确保 LotusDomino使用私有LAN要确保 Lotus Domino使用私有 LAN,您需要:1. 在服务器控制台输入show cluster 。2. 在生成的结果中,找到“ Server cluster defaul

18、t port:Cluster Port”,其中Cluster Port是以下之一:o 如果您没有使用 Server_Cluster_Defa ult_Port 设置为私有 LAN 指定端口,那么 Cluster Port应该为 *(星号),这表示私有 LAN 能够使用任意端口(见图 7 )。图 7.服务器集群的默认端口:*o如果您使用 Server_Cluster_Default_ Port 设置为私有 LAN 指定端口,那么Cluster Port 应该为指定的端口的名称,比如 CLUSTER(见图 8 )。图 8.服务器集群默认端口:cluster确保集群复制使用私有LAN此外,最好确保集

19、群复制使用私有 LAN。为此,您可以查看一些集群统计数据:1.从 Domino Administrator或 Web Administrator单击 Server - Statistics选项卡。2. 在列出的统计数据中,展开 NET。3. 展开您为集群指定的端口名。4. 查看私有 LAN 端口的以下统计数据:BytesReceivedBytesSent5.6. 展开 Replica ,然后展开 Cluster 。7. 展开 Session Bytes ,然后查找集群的以下复制统计数据:InOut8.9.将 NET. portname.BytesReceived值与Replica.Cluste

20、r.SessionBytes.In值进行比较。这些值应该非常接近, 尽管不完全一致。10. 将 NET. portname.BytesSentlica.Cluster.SessionBytes.Out值与 Rep值进行比较。这些值应该非常接近, 尽管由于私有网络不仅仅用于集群复制而导致一些差异。确保集群正确创建使用表 2 列出的操作,检查是否正确创建了集群。表2.检查点操作应该看到的结果从 Lotus Domino Administrator或Web Administrator的 Se集群名后面跟着集群服务器名。rver面板中展开Clusters。从 Domino Administrator或

21、 Web Administrator单击 Configuration选项卡。在Task面板中,展开Cluster,然后单击 Clusters 。在 Results面板中,打开您向集群添加的服务器的Server文档。集群名后面跟着显示在Results面板中的集群服务器名。在 Basics选项卡上的Cluster name字段的集群名。出现在 Tasks面板中的标题 “Cluster从Domino Administrator或Web Administrator在 Server面Directory”。这表明Lotus Domino创板中单击一个集群服务器,然后单击Files选项卡。建了Cluster

22、 Database Directory。在每个集群服务器上比较Cluster Database Directories的副在每个服务器上都相同的副本ID。本 ID 。集群名、当前服务器的一些统计数据和从服务器控制台发出命令:show cluster所有集群服务器的名称。您还可以使用 Cluster Analysis生成报告,显示集群是否存在配置问题。 要了解更多信息, 请从 Domino 8.5 Administration Help数据库查看主题“Using Cluster Analysis to checkthe cluster configuration ”和“ Runni ng Cl

23、uster Analysis ”。集群复制现在,我们将查看两种类型的集群复制, 即调度复制和流复制。调度复制在集群中,调度复制用于在集群中复制:? 当集群服务器出现故障时可能丢失的更改。因为集群复制事件仅存储在内存中, 如果这些事件没有被复制, 服务器失败时将丢失它们。服务器失败不会丢失任何数据, 但是要等到您运行标准的 Lotus Domino 复制时,才会复制未完成的集群复制事件。? 禁用集群复制的数据库。您可能希望复制某些数据库, 但并不是每次更新时都复制。您可以对这些数据库禁用集群复制。技巧:要查看是否禁用了数据库的集群复制功能,请查看 Cluster Database Directo

24、ry 中的信息。 在左列包含字母 “X”的数据库禁用了集群复制。另一种方法是在 Cluster Database Directory中查看每个数据库的文档的 Cluster Replication字段。? 基于选择性的复制公式。Cluster Replicator 将复制公式的处理交给标准的复制器处理。 在集群中使用复制公式之前,应该先了解复制在集群中的工作方式。? 在相同服务器上的副本。Cluster Replicator 将更改发送到其他包含副本的服务器,但不在它的服务器上更新其他副本。注意:如果一个服务器上有多个副本, Clu ster Manager 在故障转移期间为用户提供选择打开副

25、本的路径。 如果您在一个服务器上存放多个副本,一定要确保集群中拥有相同路径的所有副本使用相同的选择性复制公式。否则,用户用于执行故障转移的副本包含的数据可能与预期不同。您应该经常运行标准的复制。在大多数情况下,每天运行一两次就足够, 但是每天运行标准复制的次数取决于保持所有副本同步的重要性。 如果必须随时保持所有数据同步, 那么每一两个小时就要运行一次标准复制。另外,您应该在每次启动服务器时运行复制, 以确保所有数据库都是最新的。为此,您可以在 Domino Directory 中创建一个 Program 文档。流集群复制流集群复制(Streaming Cluster Replication,

26、SCR)是 Lotus Domino 8 中的新特性。它利用了集群的完全连接特性和数据流, 生成低开销的集群复制器。 SCR 减少了集群的调度复制器开销,并显著减少了集群复制器的延迟性。变更一旦发生 (比如记录更改、 未读更改和文件夹更改)就会被捕捉到, 然后同步到同一集群中的其他副本。这样能够实现更高效的集群复制。为了使用 SCR,集群必须至少包含2个 Domino8 服务器。如果您的集群包含 Domino 8 服务器和比 Domino 8 更早的服务器,那么将在 Domino 8 服务器和以前版本的服务器之间执行常规集群复制。当发生以下事件时, Domino 将启用 SCR:1. 打开数据

27、库。2. 集群复制将更改复制到另一个 Domino 8集群副本。3. 关闭所有指向数据库的引用。4. 未来需要复制数据库中的更改, SCR 将这些更改复制到其他 Domino 8 服务器。如果 SCR 在复制期间遇到任何错误,它就将数据库的控制权返回给标准集群复制器, 以复制更改并同步数据库。当集群服务器的数据库发生变更时, 特定的变更将被捕捉,并立即同步到拥有该数据库的副本的源 Domino 8 集群服务器。当目标集群服务器收到变更之后,它们就将变更应用到自己的副本。SCR 的性能好处如下:? SCR 没有在整个网络中执行操作,比如打开数据库或记录; 相反,数据库变更被发送到副本,并假设数据

28、库副本需要这些变更。? 在数据库发生变更时, SCR 不需要在所有集群服务器之间进行一对一的复制。? 复制延迟非常短。Domino 集群环境中的故障转移Domino 集群中的所有服务器彼此之间持续通信,以随时更新每个服务器的状态并保持数据库副本同步。集群将针对一个服务器的请求重定向到另一个服务器称为故障转移。当用户试图访问服务器上比较繁忙或不可用的数据库时, Lotus Domino 将把用户的请求重定向到集群中具有该数据库的副本的另一个服务器。为了利用故障转移和工作负载平衡的优势,应该将数据库和副本分布到整个集群中。需要为某个数据库创建多少个副本取决于该数据库的繁忙程度, 以及用户对它的可用

29、性的依赖程度。对于某些数据库, 甚至不需要创建任何副本;而对于另一些数据库, 则需要创建多个副本。当用户试图打开一个不可用的数据库时, Clust er Manager 将从 Cluster Database Directory 查找该数据库的副本。为了查找副本,Cluster Manager将搜索其副本 ID与原始数据库相同的数据库。 此外,它还确保该副本没有标记为Out of Service或 Pending Delete。如果服务器上存在该数据库的多个副本,那么 Cluster Manager 将假设使用选择性复制来复制这些数据库。为了确保故障转移到正确的副本,Cluster Manag

30、er 选择路径与原始数据库相同的副本。因此,如果您在同一个服务器上存放多个副本,请确保集群中使用相同选择性复制公式的所有副本拥有相同的路径。 否则,用户可能会故障转移到错误的副本。故障转移示例场景这个例子描述了 Domino 执行故障转移的流程。例子中的集群包含 3 个服务器。Server 1 目前不可用,并且 Server 2 和 Server 3 上的 Cl uster Manager 知道 Server 1 不可用(见图9)。图 9.包含 3个服务器的例子现在,我们看看这个场景的流程:1. 一个 Lotus Notes 用户尝试打开 Serve r 1 上的数据库。2.Lotus Not

31、es发现 Server 1没有响应。3. Lotus Notes 并没有显示一条表示服务器不响应的消息, 而是查找集群缓存, 看看这个服务器是不是集群成员, 并查找集群中其他服务器的名称。(在 Notes 客户端首次访问集群中的一个服务器时,该集群的所有服务器的名称都被添加到该客户端的集群缓存中。该缓存每15 分钟更新一次)。4. Notes 访问集群缓存列出的下一个服务器上的 Cluster Manager 。5.Cluster Manager查找 Cluster Database Directory,以找到集群中的哪个服务器包含有不可用服务器的副本。6. Cluster Manager 将

32、通过查看服务器缓存确定每个包含副本的服务器的可用性。(服务器集群缓存包含集群中所有服务器的信息。当集群服务器向其他集群服务器发送探针时,它们将获得该信息)。7. Cluster Manager 为集群中包含数据库副本的服务器创建一个列表, 并根据可用性对列表进行排序,然后将其发送给 Lotus Notes。8. Lotus Notes 打开列表中第一个服务器(可用性最强的服务器) 上的副本。如果该服务器不再可用,将继续打开列表中的下一个服务器。在这个例子中, Server 2 是可用机会最大的服务器。当 Notes 客户端关闭时,它将把集群缓存的内容储存到 CLUSTER.NCF文件中。该客户

33、端每次启动时都用 CLUSTER.NCF文件中的信息填充集群缓存。Domino 集群中的工作负载平衡为 Lotus Domino 服务器创建集群还提供活动的负载平衡, 从而更好地利用资源。 我们可以通过以下步骤在 Domino 服务器之间实现工作负载平衡:? 限制每个服务器的工作负载(更改服务器可用性阈值)? 更改可以同时访问某个服务器的最大用户数? 将数据库移动(分发)到其他服务器? 在集群中计划和放置副本,为繁忙的数据库创建更多的副本? 向集群添加一个或多个服务器?使用 Activity Trends况并提供建议工具分析集群的情一定要记住,工作负载平衡并不能解决企业的总体计算能力匮乏问题。

34、 如果您的 Domino 服务器目前已经不堪重负, 并且没有额外的服务器处理更多的负载,那么启用工作负载平衡也不能解决问题。要平衡工作负载, 必须能够将超载的服务器的过剩负载发送到其他服务器。 如果没有接受过剩负载的服务器,那么这些负载还得由原来的服务器处理。不过要注意,为每个请求查找另一个可用的服务器增加了服务器的工作负载。 如果您的企业没有足够的计算能力,可以考虑增加处理器或内存,或者升级设备以处理更多的负载。如果您的集群的负载一般都比较平均分布, 那么可以仅考虑配置故障转移, 而不需配置工作负载平衡。服务器可用性指数服务器可用性指数是管理工作负载平衡的重要设置;因此,为了实现高效的工作负

35、载平衡,我们需要了解什么是工作负载平衡以及如何计算它。集群中的每个服务器都定期根据服务器最近处理请求的响应时间确定其工作负载。工作负载由0 至 100 的数字表示,0 表示服务器的负载非常繁忙,而 100 表示服务器的负载很轻松。这个数字称为服务器可用性指数。 服务器可用性指数随着响应时间的变长而下降。服务器可用性指数大约等于服务器可用计算能力百分比。例如,如果服务器可用性指数为 65,那么您的服务器大约有 65% 的计算能力是可用的。尽管企业中的各个服务器在计算能力上可能不同,但可用性指数在每个服务器上都表示相同的含义 服务器中仍然可用的计算能力。膨胀系数服务器的可用性指数基于一个表示服务器

36、的当前工作负载的膨胀系数。 膨胀系数取决于特定类型的事务的最近响应时间与服务器以前处理该事务时所用的最小时间之比。例如,如果服务器当前执行 Database Open 事务的平均响应时间为 12 微秒,但是服务器以前处理 Database Open 事务的最小时间为 3 微秒,那么 Database Open 事务的膨胀系数应该为 4 (用当前的 12 微秒除以最快响应时间 3 微秒)。换句话说,膨胀系数决定当前完成某个事务比最佳条件下完成该事务要延长多少时间。Lotus Domino 将每种类型事务的最小完成时间储存在内存和 LOADMON.NCF文件中,服务器每次启动时都会读取该文件中的信息。 当服务器关闭时, Lotus Domino 将使用最新的信息更新 L OADMON.NCF文件。为了确定当前的膨胀系数, Lotus Domino 在一段特定的时间内跟踪最常用的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1