搜索

4.2. 在 overcloud 上部署隔离

download PDF

要在 overcloud 上部署隔离,首先查看 STONITH 和 Pacemaker 的状态并配置 fence.yaml 文件。然后,部署 overcloud 并配置其他参数。最后,测试是否在 overcloud 上正确部署隔离。

先决条件

  • 为您的部署选择正确的隔离代理。有关支持的隔离代理列表,请参阅 第 4.1 节 “支持的隔离代理”
  • 确保您可以访问 director 中注册节点时创建的 nodes.json 文件。此文件是您在部署期间生成的 fence.yaml 文件所需的输入。
  • nodes.json 文件必须包含节点上其中一个网络接口(NIC)的 MAC 地址。有关更多信息,请参阅为 Overcloud 注册节点
  • 如果您使用 Red Hat Virtualization (RHV)隔离代理,请使用具有管理虚拟机权限的角色,如 UserVMManager

流程

  1. heat-admin 用户身份登录每个 Controller 节点。
  2. 验证集群是否正在运行:

    $ sudo pcs status

    输出示例:

    Cluster name: openstackHA
    Last updated: Wed Jun 24 12:40:27 2015
    Last change: Wed Jun 24 11:36:18 2015
    Stack: corosync
    Current DC: lb-c1a2 (2) - partition with quorum
    Version: 1.1.12-a14efad
    3 Nodes configured
    141 Resources configured
  3. 验证 STONITH 是否已禁用:

    $ sudo pcs property show

    输出示例:

    Cluster Properties:
    cluster-infrastructure: corosync
    cluster-name: openstackHA
    dc-version: 1.1.12-a14efad
    have-watchdog: false
    stonith-enabled: false
  4. 根据您要使用的隔离代理,选择以下选项之一:

    • 如果使用 IPMI 或 RHV 隔离代理,请生成 fence.yaml 环境文件:

      (undercloud) $ openstack overcloud generate fencing --output fencing.yaml nodes.json
      注意

      此命令将 ilodrac 电源管理详情转换为 IPMI 等效。

    • 如果您使用不同的隔离代理,如 STONITH 块设备(SBD)、fence_kdump 或 Redfish,或者使用预置备节点,请手动创建 fence.yaml 文件。
  5. 仅限 SBD 隔离 :在 fence.yaml 文件中添加以下参数:

    parameter_defaults:
      ExtraConfig:
        pacemaker::corosync::enable_sbd: true
    注意

    此步骤仅适用于初始 overcloud 部署。有关如何在现有 overcloud 上启用 SBD 隔离的更多信息,请参阅 在 RHEL 7 和 8 中启用 sbd 隔离

  6. 仅多层隔离:将特定于 level 的参数添加到生成的 fence.yaml 文件中:

    parameter_defaults:
      EnableFencing: true
      FencingConfig:
        devices:
          level1:
          - agent: [VALUE]
            host_mac: aa:bb:cc:dd:ee:ff
            params:
              <parameter>: <value>
          level2:
          - agent: fence_agent2
            host_mac: aa:bb:cc:dd:ee:ff
            params:
              <parameter>: <value>

    < parameter& gt; 和 <value > 替换为隔离代理所需的实际参数和值。

  7. 运行 overcloud deploy 命令,并包含 fence.yaml 文件以及与部署相关的任何其他环境文件:

    openstack overcloud deploy --templates \
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
    -e ~/templates/network-environment.yaml \
    -e ~/templates/storage-environment.yaml --ntp-server pool.ntp.org --neutron-network-type vxlan --neutron-tunnel-types vxlan \
    -e fencing.yaml
  8. 仅 SBD 隔离:设置 watchdog 计时器设备间隔,并检查间隔是否已正确设置。

    # pcs property set stonith-watchdog-timeout=<interval>
    # pcs property show

验证

  1. heat-admin 用户身份登录 overcloud,并确保 Pacemaker 配置为资源管理器:

    $ source stackrc
    $ openstack server list | grep controller
    $ ssh heat-admin@<controller-x_ip>
    $ sudo pcs status | grep fence
    stonith-overcloud-controller-x (stonith:fence_ipmilan): Started overcloud-controller-y

    在本例中,Pacemaker 配置为对 fence.yaml 文件中指定的每个 Controller 节点使用 STONITH 资源。

    注意

    您不能在它控制的同一节点上配置 fence-resource 进程。

  2. 检查隔离资源属性。STONITH 属性值必须与 fence.yaml 文件中的值匹配

    $ sudo pcs stonith show <stonith-resource-controller-x>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.