7.2. 生成配置基本集群配置文件


如果安装了集群硬件、红帽企业版 Linux 和高可用性附加组件软件,您就可以创建一个集群配置文件(/etc/cluster/cluster.conf)并开始运行高可用性附加组件。本小节论述了如何创建没有 fencing、故障切换以及 HA 服务的配置文件框架,这只是个开始。后续的小节将论述如何在配置文件中配置那些部分。

重要

这只是创建集群配置文件的临时步骤,所生成的文件不包含任何 fencing,也不会将其视为支持的配置。
以下步骤描述了如何创建并配置集群配置文件框架。最终,您集群的配置文件在节点数、fencing 类型、HA 服务的类型及数目以及其它具体位置要求方面会有所不同。
  1. 在集群中的任意节点使用 例 7.1 “cluster.conf 示例:基本配置” 中的示例模板创建 /etc/cluster/cluster.conf
  2. (可选),如果您要配置有两个节点的集群,您可以在配置文件中添加以下行允许单节点以便维持法定数(例如:如果一个节点失败):
    <cman two_node="1" expected_votes="1"/>
    您在 cluster.conf 文件中添加或删除 two_node 选项时,必须重启该集群以便在更新配置时使更改生效。有关更新集群配置的详情请参考 第 8.4 节 “更新配置”。指定 two_node 选项的示例请参考 例 7.2 “cluster.conf 示例:基本双节点配置”
  3. 使用 cluster 属性:nameconfig_version 指定集群名称以及配置版本号(请参考 例 7.1 “cluster.conf 示例:基本配置” 或者 例 7.2 “cluster.conf 示例:基本双节点配置”)。
  4. clusternodes 部分,请使用 clusternode 属性:namenodeid 为每个节点指定节点名称和节点 ID。
  5. 保存 /etc/cluster/cluster.conf
  6. 根据集群方案(cluster.rng)通过运行 ccs_config_validate 命令验证该文件。例如:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. 将配置文件推广到每个集群节点的 /etc/cluster/。例如:您可以使用 scp 命令将该文件推广到其他集群节点中。

    注意

    在首次创建集群时需要使用这个方法推广集群配置文件。安装并运行集群后,可使用 cman_tool version -r 传推广群配置文件。可以使用 scp 推广更新的配置文件,但使用 scp 命令时必须在所有节点中停止集群软件。另外,如果您使用 scp 推广更新的配置文件,则应该运行 ccs_config_validate

    注意

    当在同一配置文件中有其他元素和属性时(例如:fencefencedevices),就不需要现在推广它们。本章后面的步骤提供有关指定其他元素和属性的信息。
  8. 启动集群。在每个集群节点中运行以下命令:
    service cman start
    例如:
    [root@example-01 ~]# service cman start
    Starting cluster: 
       Checking Network Manager...                             [  OK  ]
       Global setup...                                         [  OK  ]
       Loading kernel modules...                               [  OK  ]
       Mounting configfs...                                    [  OK  ]
       Starting cman...                                        [  OK  ]
       Waiting for quorum...                                   [  OK  ]
       Starting fenced...                                      [  OK  ]
       Starting dlm_controld...                                [  OK  ]
       Starting gfs_controld...                                [  OK  ]
       Unfencing self...                                       [  OK  ]
       Joining fence domain...                                 [  OK  ]
    
  9. 在任意集群节点中运行 cman_tool nodes,确认那些节点作为集群的成员运行(在状态列 "Sts" 中被标记为 "M")。例如:
    [root@example-01 ~]# cman_tool nodes
    Node  Sts   Inc   Joined               Name
       1   M    548   2010-09-28 10:52:21  node-01.example.com
       2   M    548   2010-09-28 10:52:21  node-02.example.com
       3   M    544   2010-09-28 10:52:21  node-03.example.com
    
  10. 如果集群正在运行,请执行 第 7.3 节 “配置 Fencing”

基本配置示例

例 7.1 “cluster.conf 示例:基本配置”例 7.2 “cluster.conf 示例:基本双节点配置”(双节点集群)提供最基本的集群配置示例。本章的后续步骤将提供有关配置 fencing 和 HA 服务的信息。

例 7.1. cluster.conf 示例:基本配置


<cluster name="mycluster" config_version="2">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>

例 7.2. cluster.conf 示例:基本双节点配置


<cluster name="mycluster" config_version="2">
   <cman two_node="1" expected_votes="1"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>

双节点集群中 totemconsensus

您创建双节点集群且不想之后为该集群添加附加节点时,您应该忽略 cluster.conf 文件 totem 标签的 consensus 值,以便根据以下规则自动计算 consensus 值:
  • 如果有两个或者少于两个节点,consensus 值将在 200 毫秒到 2000 毫秒之间(token * 0.2)。
  • 如果有三个或者三个以上节点,consensus 值为 token + 2000 毫秒。
如果 cman 工具以这种方式配置您的 consensus 超时,那么将来您从两个节点移动到三个(或者更多)节点就需要重启集群,因为 consensus 超时需要根据 token 超时改为较大的值。
如果您要配置一个双节点集群,并想要在将来升级到两个以上节点,您可以覆盖这个 consensus 超时以便当从两个节点移动到到三个(或者更多)节点时不需要重启集群。您可以在 cluster.conf 中进行如下操作以达到此目的:

<totem token="X" consensus="X + 2000" />

注:这个配置解析程序不会自动计算 X+ 2000。您在此必须使用整数而不是等式。
在双节点集群中使用优化的 consensus 超时的优点是总体上降低了双节点故障切换耗时,因为 consensus 不是 token 超时的功能。
注:在 cman 的双节点自动探测中,物理节点数是那些有用的节点而不是 cluster.conf 文件中出现的 two_node=1 指令。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.