现在的位置: 首页 > 综合 > 正文

0207.Domino R8.0.x群集配置手册

2011年10月03日 ⁄ 综合 ⁄ 共 6151字 ⁄ 字号 评论关闭

1. 服务器要求

  • 集群中的所有服务器必须基于 IBM(R) Lotus(R) Domino(TM) Enterprise 服务器或 Domino Utility 服务器运行。
  • 集群中的所有服务器必须使用高速 LAN(局域网)或高速 WAN(广域网)进行连接。也可以为集群通讯设置专用局域网。
  • 集群中的所有服务器必须使用 TCP/IP 并处于相同的 IBM(R) Lotus(R) Notes(R) 命名网络中
  • 集群中所有的服务器必须在同一 Domino 域中,并且共享一个公用 Domino 目录。
  • 必须在包含集群的域中为 Domino 目录指定一个管理服务器。如果不指定管理服务器,那么管理进程便无法更改集群成员。管理服务器并非必须是集群的成员。
  • 集群中的每个服务器必须有层次服务器标识。如果任何服务器具有平级的标识,则必须将平级标识转换为层次标识,这样才能在集群中使用它们。
  • 一个服务器不能同时是多个集群的成员。
  • 每个服务器必须有足够的磁盘空间,才能承担集群成员的任务。因为集群通常需要更多的数据库副本,所以集群中的服务器比非集群服务器需要更多的磁盘空间。
  • 每个服务器必须具有足够的处理能力和内存容量。一般来说,集群的服务器比非集群的服务器需要更高的性能。

2. 硬件方面考虑

磁盘空间的大小和每台服务器的处理能力可以影响集群中包含的服务器数量。决定要在集群中使用的硬件时,请牢记以下几点:

  • 创建的副本越多,集群复制所需的磁盘空间和处理能力就越大。

  • 集群数据库目录需要的磁盘空间大约为 2M ,集群中每两千个数据库还需要 1M 额外空间。

  • 集群中的服务器越多,每台服务器就需要使用更强大的处理能力与其他集群服务器进行通信。

  • 在服务器上运行的服务器任务和占用大量 CPU 资源的应用程序越多,所需的处理能力就越大。

  • 每台服务器不但对它所包含的数据库要有足够的处理能力,而且对可能故障转移到此服务器的任何数据库都要有足够的处理能力。

  • 集群服务器需要的内存比非集群服务器更多。实际所需的内存大小取决于服务器上的活动级别。

  • 要查看计算机是否需要额外的内存或处理能力,请检查平台统计信息。

  • 当有大集群或工作负载很重的集群时,可能需要使用多个集群复制器来提高集群复制的性能。请检查集群复制器统计信息,以查看等候处理的数据库队列是否很长。如果很长,请一次添加一个集群复制器,直至统计信息提高到足够水平。

  • 因为集群复制器占用系统资源,所以添加集群复制器时,系统的整体性能可能会下降。因此,不要添加太多的集群复制器,够用即可。

3. 前期准备

3.1 确定是否为集群创建专用局域网

要使繁忙的集群更加有效,可为集群创建专用网络。为此,请在每台集群服务器上多安装一块网卡,并通过专用集线器或切换器连接这些网络接口卡。

为集群创建专用局域网的主要原因是为了将集群在使用集群复制和服务器探测信号时所产生的网络流量独立出来。专用局域网可以将可用带宽更多地留给主局域网。如果估计可能使用大量的集群复制活动,则应创建专用局域网。

另外,还可以考虑为内部集群通讯创建专用局域网,即使在出现某种网络故障时,也可以保证集群服务器之间的通讯。通过添加专用网络,集群中的所有服务器至少由两种不同的局域网段连接。因此,如果一个局域网段上的网络插头或电缆出现故障,集群中的所有服务器之间仍然具有网络连接。这样就可以确保集群服务器相互之间仍保持联系,并继续进行集群复制以保持数据库同步。

如果为集群创建专用局域网,必须将所有的集群成员同时连接到专用局域网(用于内部集群通讯)和主局域网(用于客户机访问)。

3.2 为每块网卡指定IP

输入命令smit tcpip ,出现以下图:

选择“Minimum Configuration & Startup” ,进入如下画面:

 

选择相应的网卡,如en0 或en1, 输入回车,如下图:

填写相关IP 设置信息,输入回车。返回信息如下图:

 

IP 设置完成。

使用以上方法设置其他网卡

 

设备

网卡设备名

IP 地址

主机名

服务器01

en0

10.1.177.18

dev01.acme.com

 

en1

10.1.177.28

clunode01

服务器02

en0

10.1.177.19

dev02.acme.com

 

en1

10.1.177.29

clunode02

 

3.3 测试 IP 与主机名是否生效

在每台服务器上输入以下命令

ping 10.1.177.18

ping 10.1.177.19

ping 10.1.177.28

ping 10.1.177.29

ping dev01.acme.com

ping dev02.acme.com

ping clunode01

ping clunode02

 

请确认以上在两台服务器之间均能ping 通。

4. 安装Domino Server R8.02

参考 Domino安装文档

5. 配置集群

5.1 为每台服务器添加cluster端口

 

项目

端口

CLUSTER

协议

TCP

Notes 网络

集群网络

网络地址

clunode01

clunode02

启用

ENABLED

 

DevSVR01 添加端口,打开公共地址本,相应服务器文档,如下图:

以相同的方法为DevSVR02 添加端口,网络地址为clunode02 。

5.2 从相应的子网中为每个端口分配一个 IP 地址

修改DevSVR01 notes.ini ,输入如下命令:

vi /data2/devsvr01/notes.ini

修改如下图:

从相应的子网中为每个端口分配一个 IP 地址,并且将此信息以下列格式置于 NOTES.INI 文件中:

PORT1_ TcpIPAddress=0, a.b.c.d :1352

PORT2_ TcpIPAddress=0, e.f.g.h :1352

其中 PORT1 和 PORT2 是端口名称,而 a.b.c.d 和 e.f.g.h 是这些端口的 IP 地址。

例如,如果端口名称为 TCPIP 和 CLUSTER ,则这些信息可能是:

TCPIP_TcpIPAddress=0,192.114.32.5:1352

CLUSTER_TcpIPAddress=0,192.168.64.1:1352

以相同的方法设置DevSVR02 的notes.ini 

5.3 确保所有集群通讯使用此集群通讯端口

将下列行添加到 NOTES.INI 文件中:

Server_Cluster_Default_Port= Cluster Port 

其中 Cluster Por 是为集群创建的端口。在本样例中,此行应为:

Server_Cluster_Default_Port=CLUSTER

这将确保所有集群通讯使用此集群通讯端口,而不管该端口所在的顺序。

注意:使用 Server_Cluster_Default_Port 设置将端口分配到集群通讯的专用局域网的方法存在一个缺点。如果集群服务器在此端口上连接时遇到问题,它将尝试另一个端口。因此,该服务器将能够与其他集群服务器进行通讯或复制。在该服务器可以与集群再次通讯之前,必须解决网络问题或从 NOTES.INI 文件中删除此设置。 

5.4 创建集群

打开DevSVR01/ChemChina 服务器上的names.nsf ,打开服务器视图,先中所有要加入至集群的服务器文档,单击”Add Cluster” 按钮,如下图:

出现对话框后,单击“是”,出现如下图:

选择“Create New Cluster” ,单击“确定”,弹出输入集群名称对话框,如下图:

输入集群名称:ClusterDev ,点击“确定”,出现以下图:

点击“是”,立即执行;

点击“否”,由服务器管理进程执行

Domino 集群已创建成功,在控制台使用以下命令将地址本同步至DevSVR02 上;

Repl devsvr02/chemchina names.nsf

完成后,重启所有集群中的服务器。

5.4 验证集群

重启服务后,domino 会自动启动两个服务-- Cluster Replicator Cluster Director 服务。在控制台输入show task ,如下图:

输入show cluster ,查看群集状态,如下图:

如果availability index 为无效,则说明服务器宕机我停止服务,或当前服务器无法连接至相关服务器。确认Server cluster default port 是否为你指定的集群通讯端口。

6. 其他调整

6.1 关闭Domino模板的群集复制

为了减少集群之间服务器的复制流量,标准的模板或没有在集群之间部署的数据库都应该关闭集群复功能,需要时再打开。使用Domino Administrator 进行设置,如下图:

在工具面板中选择“集群”->“ 禁用集群复制”,点击确定,即可。

6.2  用于集群复制的 Tell 命令

 

命令

显示的信息

用途

tell clrepl dump

  • 正在运行的集群复制器数目

  • 工作队列长度

  • 正在进行中的集群复制重试数

  • 上一次集群复制未成功

  • 上次使用所有其他集群服务器重试的时间

  • 重试是否正在进行

  • 仍然必须重试的每个复制的下列信息:数据库的名称、下一个重试的到期时间和重试时间间隔。

  • 当前服务器上在集群中有副本的每个数据库的一些统计信息和其他信息(只要该副本没有禁用集群复制)。另外还有那些副本的信息。

  • 查看集群复制的状态

  • 查看未复制的数据库和不是最新的数据库

  • 确定集群复制是否因为队列太长或需要重试而延迟

  • 确定是否需要对配置集群复制的方式进行更改

  • 确定是否需要更改服务器的阈值或在集群中分布副本

  • 确定是否需要强制集群复制器立即重试所有失败的复制,而不是等待日程安排的下一次重试

tell clrepl dump server

  • 正在运行的集群复制器数目

  • 工作队列长度

  • 正在进行中的集群复制重试数

  • 与集群中其他每个服务器进行的上一次不成功的集群复制

  • 与所有其他集群服务器重试的上一次复制

  • 查看集群复制的状态

  • 查看自从集群复制器上次尝试复制需要重试的每个数据库以来经过的时间

tell clrepl dump retry

  • 正在运行的集群复制器数目

  • 工作队列长度

  • 正在进行中的集群复制重试数

  • 等待复制的数据库的名称

  • 为每个数据库预定的下一次重试的时间

  • 对每个数据库的重试时间间隔

  • 查看集群复制的状态

  • 查看哪个数据库尚未复制

  • 查看特定服务器是否有问题,以便留意这些服务器

  • 确定是否需要集群复制器立即重试所有失败的复制,而不是等待日程安排的下一次重试

tell clrepl pause

暂停集群复制器

tell clrepl resume

继续集群复制器

tell clrepl retry

强制集群复制器立即重试失败的复制

tell clrepl refresh

强制集群复制器立即更新集群数据库目录信息

tell clrepl log

强制集群复制器立即记录

show stat server.cluster*

查看集群管理器事件和统计信息

show stat replica.cluster*

查看集群复制事件和统计信息

 

6.3 注意事项

集群目录数据库(cldbdir.nsf) 在所有集群服务器上必须的一致。如果不一致时,使用复制功能,手工强制复制。

7.  Domino 集群中的工作负载平衡

为 Lotus Domino 服务器创建集群还提供活动的负载平衡,从而更好地利用资源。我们可以通过以下步骤在 Domino 服务器之间实现工作负载平衡:

  • 限制每个服务器的工作负载(更改服务器可用性阈值)

  • 更改可以同时访问某个服务器的最大用户数

  • 将数据库移动(分发)到其他服务器

  • 在集群中计划和放置副本,为繁忙的数据库创建更多的副本

  • 向集群添加一个或多个服务器

  • 使用 Activity Trends 工具分析集群的情况并提供建议

一定要记住,工作负载平衡并不能解决企业的总体计算能力匮乏问题。如果您的 Domino 服务器目前已经不堪重负,并且没有额外的服务器处理更多的负载,那么启用工作负载平衡也不能解决问题。

要平衡工作负载,必须能够将超载的服务器的过剩负载发送到其他服务器。如果没有接受过剩负载的服务器,那么这些负载还得由原来的服务器处理。

不过要注意,为每个请求查找另一个可用的服务器增加了服务器的工作负载。如果您的企业没有足够的计算能力,可以考虑增加处理器或内存,或者升级设备以处理更多的负载。

如果您的集群的负载一般都比较平均分布,那么可以仅考虑配置故障转移,而不需配置工作负载平衡。

7.1 服务器可用性指数

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

7.2 膨胀系数

服务器的可用性指数基于一个表示服务器的当前工作负载的膨胀系数。膨胀系数取决于特定类型的事务的最近响应时间与服务器以前处理该事务时所用的最小时间之比。 
例如,如果服务器当前执行 Database Open 事务的平均响应时间为 12 微秒,但是服务器以前处理 Database Open 事务的最小时间为 3 微秒,那么 Database Open 事务的膨胀系数应该为 4(用当前的 12 微秒除以最快响应时间 3 微秒)。 
换句话说,膨胀系数决定当前完成某个事务比最佳条件下完成该事务要延长多少时间。 
Lotus Domino 将每种类型事务的最小完成时间储存在内存和 LOADMON.NCF 文件中,服务器每次启动时都会读取该文件中的信息。当服务器关闭时,Lotus Domino 将使用最新的信息更新 LOADMON.NCF 文件。 
为了确定当前的膨胀系数,Lotus Domino 在一段特定的时间内跟踪最常用的 Domino 事务,默认情况下每次跟踪时长为 15 秒,跟踪次数为 5 次。 
然后,Lotus Domino 确定它完成每种类型的事务所需的平均时间,然后用它以前完成相同事务的最小时间除该时间。通过这种方式可以确定每种类型的事务的膨胀系数。 
为了确定整个服务器的膨胀系数,Lotus Domino 将求取所有类型事务的膨胀系数的平均值,并且增加最常用的事务类型的权重。 
随着服务器变得越来越繁忙,添加额外的负载会对性能和可用性产生更大的影响。换句话说,向繁忙的服务器添加额外的工作负载比向不那么繁忙的服务器添加额外的工作负载得到更大的膨胀系数。 
由于服务器的速度、容量和计算能力不同,因此它们能够处理的工作负载量也不同。因此,在两个不同的服务器上,相同的膨胀系数不一定表示它们拥有相同的工作负载。 
例如,如果一个小型服务器在空闲时需要很长时间执行事务,那么膨胀系数为 40 可能表明用户需要等待很长时间。但是,在更大更快的服务器上,即使膨胀系数为 400,用户需要等待的时间可能也会少于 1 秒。
可用性指数和膨胀系数对比 
为了确定服务器的可用性指数,Lotus Domino 使用一个公式将膨胀系数转换成服务器的可用计算能力的近似值。

 

膨胀系数

可用性指数

1

100

2

83

4

67

抱歉!评论已关闭.