11.4. CTDB 配置
CTDB 配置文件位于
/etc/sysconfig/ctdb
。以下是必须为 CTDB 操作配置的字段:
CTDB_NODES
CTDB_PUBLIC_ADDRESSES
CTDB_RECOVERY_LOCK
CTDB_MANAGES_SAMBA
(必须启用)CTDB_MANAGES_WINBIND
(如果在成员服务器中云系则必须启用)
以下示例演示了使用示例参数为 CTDB 操作设置强制字段的配置文件:
CTDB_NODES=/etc/ctdb/nodes CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses CTDB_RECOVERY_LOCK="/mnt/ctdb/.ctdb.lock" CTDB_MANAGES_SAMBA=yes CTDB_MANAGES_WINBIND=yes
这些参数的含义如下:
CTDB_NODES
- 指定包含该集群节点列表文件的位置。
CTDB_NODES
参考只列出该集群节点 IP 地址的/etc/ctdb/nodes
文件,例如:192.168.1.151 192.168.1.152 192.168.1.153
在这个示例中,每个节点中只有一个接口/IP 可用于集群/CTDB 沟通并为客户端提供服务。但强烈建议每个集群节点都有两个网络接口,这样一个接口设置可专门用于集群/CTDB 沟通,而另一个接口设置可专门用于公用客户端访问。在此使用正确的集群网络 IP 地址,并保证在cluster.conf
文件中使用同一主机名/IP 地址。同样,在public_addresses
文件中为客户端访问使用正确的公共网络接口。/etc/ctdb/nodes
文件在所有节点中的一致性至关重要,因为顺序很重要,同时如果 CTDB 在不同节点中找到的信息不同就会失败。 CTDB_PUBLIC_ADDRESSES
- 指定列出用来访问由这个集群导出的 Samba 共享的 IP 地址的文件位置。这些是您要在 DNS 中为集群的 Samba 服务器名称配置的 IP 地址,也是 CIFS 客户端将要连接的地址。将集群 Samba 服务器名称配置为有多个 IP 地址的 DNS 类型 A 记录,并在该集群的客户端中发布轮询 DNS 。在这个示例中,我们在所有
/etc/ctdb/public_addresses
文件列出的地址中配置轮询 DNS 条目csmb-server
。DNS 将发布那些在集群中以轮询方式使用这个条目的客户端。每个节点中/etc/ctdb/public_addresses
文件的内容如下:192.168.1.201/0 eth0 192.168.1.202/0 eth0 192.168.1.203/0 eth0
这个示例使用目前在该网络中使用的三个地址。在您自己的配置中,请选择预期客户端可访问的地址。另外,这个示例显示了集群中/etc/ctdb/public_addresses
文件的内容,其中三个节点,但却有四个公共地址。在这个示例中,IP 地址 198.162.2.1 可由节点 0 和节点 1 托管,只要有一个节点可用,客户端就可以访问这个地址。只有节点 0 和节点 1 都失败的时候,客户端才不能访问这个公共地址。所有其他公共地址只能分别由一个节点提供,因此如果只有在相应的节点可用时该公共地址方可用。节点 0 中的/etc/ctdb/public_addresses
文件包含以下内容:198.162.1.1/24 eth0 198.162.2.1/24 eth1
节点 1 中的/etc/ctdb/public_addresses
文件包含以下内容:198.162.2.1/24 eth1 198.162.3.1/24 eth2
节点 2 中的/etc/ctdb/public_addresses
文件包含以下内容:198.162.3.2/24 eth2
CTDB_RECOVERY_LOCK
- 指定 CTDB 内部用来恢复的锁定文件。这个文件必须位于共享存储中,这样所有集群节点都可访问。本小节中的示例使用 GFS2 文件系统,该文件系统会挂载于所有节点的
/mnt/ctdb
。这与将要导出 Samba 共享的 GFS2 文件系统不同。这个恢复锁定文件的目的是防止出现裂脑(split-brain)。使用 CTDB 较新的版本(1.0.112 及之后的版本)时,可自选是否指定这个文件,只要有防止裂脑的机制即可。 CTDB_MANAGES_SAMBA
- 当将其设定为
yes
启用它时,如果需要提供服务迁移/故障切换,则指定允许 CTDB 启动和停止 Samba 服务。启用CTDB_MANAGES_SAMBA
时,应禁用smb
和nmb
守护进程的自动init
启动,方法为执行以下命令:[root@clusmb-01 ~]#
chkconfig snb off
[root@clusmb-01 ~]#chkconfig nmb off
CTDB_MANAGES_WINBIND
- 当将其设定为
yes
启用它时,则指定 CTDB 可根据需要启动和停止winbind
守护进程。当您在 Windows 域或在 active directory 安全模式中使用 CTDB 时应该启用它。启用CTDB_MANAGES_WINBIND
时,应禁用winbind
守护进程的自动init
启动,方法为执行以下命令:[root@clusmb-01 ~]#
chkconfig windinbd off