20.4. 替换 bootstrap Controller 节点
如果要替换用于 bootstrap 操作的 Controller 节点并保留节点名称,请完成以下步骤,以在替换过程后设置 bootstrap Controller 节点的名称。
目前,当替换 bootstrap Controller 节点时,OVN 数据库集群将分区为北向和南向数据库的两个数据库集群。这种情形使得实例变得不可用。
要查找 bootstrap Controller 节点的名称,请运行以下命令:
ssh tripleo-admin@<controller_ip> "sudo hiera -c /etc/puppet/hiera.yaml ovn_dbs_short_bootstrap_node_name"
临时解决方案:不要为新 Controller 节点重复使用原始 bootstrap 节点主机名和 IP 地址。RHOSP director 对主机名进行排序,然后选择列表中的第一个主机名作为 bootstrap 节点。为新 Controller 节点选择一个名称,使其在排序后不会成为第一个主机名。
您可以在 BZ 2222543 中跟踪此已知问题的修复进度。
步骤
运行以下命令,查找 bootstrap Controller 节点的名称:
ssh tripleo-admin@<controller_ip> "sudo hiera -c /etc/puppet/hiera.yaml pacemaker_short_bootstrap_node_name"
-
将
<controller_ip
> 替换为任何活跃 Controller 节点的 IP 地址。
-
将
检查您的环境文件是否包含
ExtraConfig
部分。如果ExtraConfig
参数不存在,请创建以下环境文件~/templates/bootstrap-controller.yaml
并添加以下内容:parameter_defaults: ExtraConfig: pacemaker_short_bootstrap_node_name: NODE_NAME mysql_short_bootstrap_node_name: NODE_NAME
将
NODE_NAME
替换为在替换过程后您要在 bootstrap 操作中使用的现有 Controller 节点的名称。如果您的环境文件已经包含
ExtraConfig
参数,请只添加设置pacemaker_short_bootstrap_node_name
和mysql_short_bootstrap_node_name
参数的行。
有关对 bootstrap Controller 节点替换进行故障排除的信息,请参阅文章如果相同的主机名用于新节点,则第 1 步中替换第一个 Controller 节点会失败。