如何进行故障转移

HCL Domino®服务器集群将请求从一台服务器重定向到另一台服务器的能力被称为故障转移。当用户尝试访问一台不可用或负载过重的服务器上的数据库时,Domino® 会将此用户定向到集群中另一台服务器上的数据库副本。

每台集群服务器上的集群管理器都会向其他集群服务器发送探测信号,以确定每台服务器的可用性。集群管理器还会不间断检查每台服务器上的副本是否可用。当用户尝试访问不可用的数据库时,用户请求将被重定向到集群中其他服务器上的数据库副本。尽管用户连接的是其他服务器上的副本,但用户实际上感觉不到故障转移。

例如,考虑包含三个服务器的集群,其中服务器 1 当前不可用。服务器 2 和服务器 3 上的集群管理器知道服务器 1 不可用。

以如下方式发生故障转移事件:

  1. HCL Notes®用户尝试打开服务器 1 上的数据库。
  2. Notes® 察觉到服务器 1 没有响应。
  3. Notes®并不显示说明该服务器没有响应的消息,而是搜索它的集群高速缓存,以查看此服务器是否是某个集群的成员,并查找该集群中其他服务器的名称。(Notes® 客户机第一次访问集群中的服务器时,该集群中所有服务器的名称都会添加到客户机上的集群高速缓存中。此高速缓存每 15 分钟更新一次。)
  4. Notes® 访问集群高速高速缓存中列出的下一台服务器上的集群管理器。
  5. 集群管理器搜索集群数据库目录,以查找集群中的哪些服务器包含所需数据库副本。
  6. 集群管理器搜索服务器集群高速缓存以查找每台包含副本的服务器的可用性。(服务器集群高速缓存包含有关集群中所有服务器的信息。当集群服务器向其他集群服务器发送探测信号时就会获得此信息。)
  7. 集群管理器为集群中包含数据库副本的服务器创建一个列表,并按可用性顺序对列表排序,然后将此列表发送给 Notes®
  8. Notes® 打开列表中第一台服务器(最可用的服务器)上的副本。如果该服务器不再可用,Notes®将打开列表中下一台服务器上的副本。在本示例中,服务器 2 是最可用的服务器。

Notes®客户机关闭时,它将集群高速缓存的内容存储在 cluster.nsf 文件中。每当客户机启动时,它都会用 cluster.nsf 中的信息填充集群高速缓存。