搜索

第 6 章 为 Red Hat OpenStack Platform 上的 HA 集群配置隔离

download PDF

隔离配置确保 HA 集群上的故障节点被自动隔离。这可防止节点消耗集群的资源或影响集群的功能。

使用 fence_openstack 隔离代理为 RHOSP 上的 HA 集群配置隔离设备。您可以使用以下命令查看 RHOSP 隔离代理的选项。

# pcs stonith describe fence_openstack

先决条件

  • 在 RHOSP 上运行配置的 HA 集群
  • 使用您要用于集群配置的 RHOSP 验证方法访问 RHOSP API,如 为 RHOSP 设置身份验证方法 中所述
  • 集群属性 stonith-enabled 设置为 true,这是默认值。红帽不支持禁用了隔离功能的集群,因为它不适用于生产环境。运行以下命令确保隔离已启用。

    # pcs property config --all
    Cluster Properties:
    . . .
    stonith-enabled: true

流程

从集群中的任何节点完成以下步骤。

  1. 确定集群中每个节点的 UUID。

    以下命令显示 ha-example 项目中所有 RHOSP 实例名称的完整列表,以及标题 ID 下与该 RHOSP 实例关联的集群节点的 UUID。节点主机名可能与 RHOSP 实例名称不匹配。

    # openstack --os-cloud="ha-example" server list
    …
    | ID                                  | Name             |...
    | 6d86fa7d-b31f-4f8a-895e-b3558df9decb|testnode-node03-vm|...
    | 43ed5fe8-6cc7-4af0-8acd-a4fea293bc62|testnode-node02-vm|...
    | 4df08e9d-2fa6-4c04-9e66-36a6f002250e|testnode-node01-vm|...
  2. 创建隔离设备,使用 pcmk_host_map 参数将集群中的每个节点映射到该节点的 UUID。以下么个示例隔离设备创建命令都使用不同的身份验证方法。

    1. 以下命令使用 clouds.yaml 配置文件为 3 节点集群创建 fence_openstack 隔离设备。对于 cloud= parameter,在 clouds.yaml' 文件中指定云名称。

      # pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" cloud="ha-example"
    2. 以下命令使用 OpenRC 环境脚本创建一个 fence_openstack 隔离设备。

      # pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" openrc="/root/openrc"
    3. 以下命令使用用户名和密码进行身份验证创建 fence_openstack 隔离设备。身份验证参数(包括 username, password, project_name, 和 auth_url)由 RHOSP 管理员提供。

      # pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" username="XXX" password="XXX" project_name="rhelha" auth_url="XXX" user_domain_name="Default"

验证

  1. 从集群中的一个节点,隔离集群中的不同节点,并检查集群状态。如果隔离的节点离线,则隔离操作成功。

    [root@node01 ~] # pcs stonith fence node02
    [root@node01 ~] # pcs status
  2. 重启您隔离的节点并检查状态以验证节点是否已启动。

    [root@node01 ~] # pcs cluster start node02
    [root@node01 ~] # pcs status
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.