资源

集群服务由一种或者多种资源组成。
资源可以是 IP 地址、文件系统或者 httpd 等服务。
向消费者提供服务所需的所有位都是一种资源。

借助红帽高可用性添加组件,所有资源都可以相互独立地进行监控。
为了实现这一点,资源由资源代理控制。
Pacemaker 可以管理不同类型的资源代理:

Agent作用
LSB驻留在 /etc/init.d/ 中的 Linux Standard Base 兼容初始化脚本。
OCF打开与集群框架兼容的脚本,这些脚本是扩展的 LSB 初始化脚本,可以处理另外的输入参数以提供对集群资源的另外控制。
SystemdSystemd 单元文件,这是在 Red Hat Enterprise Linux 7 上定义和管理服务的标准。

配置集群资源

Red Hat High Availability Add-on 为集群资源提供广泛的支持。
集群资源由称为代理的脚本管理。
代理需要启动。
停止,并监控配置的集群资源。

显示资源代理

对于集群管理员来说,了解 Red Hat High Availability Add-on 提供的所有可用资源代理的概述非常重要。
命令 pcs resource list 列出了 Pacemaker 已知的所有资源代理。

# pcs resource list 
ocf:heartbeat:CTDB - CTDB Resource Agent 
ocf: heartbeat: Delay - Waits for a defined timespan 
ocf:heartbeat:Dummy - Example stateless resource agent 
ocf:heartbeat:Filesystem - Manages filesystem mounts 
...

显示资源代理参数

每个资源代理都提供一个可调参数列表。
命令 pcs resource describe resource_name 显示给定集群资源的描述和可调参数列表。
要显示文件系统资源的信息和参数,请执行:

# pcs resource describe Filesystem 
ocf:heartbeat:Filesystem - Manages filesystem mounts
...
Resource options: 
    device (required): The name of block device 
    for the filesystem, or -U, -L options for mount, or NFS mount specification. 
    directory (required): The mount point 
    for the filesystem. fstype (required): The type of filesystem to be mounted. 
    options: Any extra options to be given as -o options to mount. For bind mounts, add "bind" here and set fstype to "none". we will do the right thing for options such as "bind,ro". 
...

创建集群资源

创建集群资源时,可以通过 pcs resource create resource_name resource_provider 资源参数 -group group_name 立即将其添加到资源组中。
如果使用 -group 选项提供的组不存在,则会自动创建。
如果资源组已存在,则该资源将作为最后一项添加到现有组中。
可以省略 -group 选项以创建不属于任何资源组的独立资源。
要使用文件系统资源代理创建 myfs 资源,该文件系统资源代理使用安装在 /var/www/html 上的 XFS 格式的 /dev/sdb1 设备作为 mygroup 资源组的一部分,请执行:

# pcs resource create myfs Filesystem device=/dev/sdb1 directory=/var/www/ html fstype=xfs --group mygroup

注意:配置资源时,重要的是所有可能使用该资源的节点都可以访问该资源。
比如配置apache资源时,所有集群节点都必须安装httpd包。

显示配置的集群资源

可以使用 pcs resource show 命令查看已配置集群资源和资源组的概览以及资源状态:

# pcs resource show
Resource Group: mygroup 
myip     ( ocf::heartbeat:IPaddr2):       started
myfs     ( ocf::heartbeat:Filesystem):    started
myserv   (ocf::heartbeat:apache):         started

pcs resource show 命令后跟定义的集群资源作为参数,显示有关配置资源的详细信息,例如资源属性和操作设置:

# pcs resource show myfs
Resource: myfs (class=ocf provider=heartbeat type=Filesystem) 
   Attributes: device=/dev/sdbl directory=/var/www/html fstype=xfs 
   Operations: start interval=0s timeout=60 (myfs-start-timeout-60)
       stop interval=0s timeout=60 '(myfs-stop-timeout-60) 
       monitor interval=20 timeout=40 (myfs-monitor-interval-20)

注意: pcs 资源显示显示已配置为在集群上运行的所有资源和资源组。
pcs 资源列表显示所有可用的资源代理。

更改资源参数

有时,可能希望微调已创建的集群资源或者更改选项以优化现有配置。
Red Hat High Availability Add-on 允许使用 pcs resource update 命令更改集群资源配置。
要将集群资源 myfs 的设备更改为使用 /dev/sda1 作为设备,请执行:

# pcs resource update myfs device=/dev/sda1

移除集群资源

如果不再需要集群资源和资源组配置,则可以从集群中删除它们。
pcs 资源删除名称允许删除单个资源以及添加到它的所有资源的资源组。

# pcs resource delete myfs
之路 on it Road.com

资源组

一项服务通常由多个资源组成。
例如,典型的 Web 服务由 IP 地址资源、Apache 资源和用于 Web 服务器文档根目录的共享文件系统资源组成。
所有 Web 服务资源都需要在同一个集群节点上运行才能提供工作服务。
将这些资源联系在一起的一种便捷方法是将它们添加到同一资源组中。
同一资源组中的所有服务按照添加到资源组的顺序启动,以相反的顺序停止。
当集群节点发生故障时,集群会将整个资源组迁移到不同的节点,并在新节点上启动资源。

如何在 Pacemaker 集群中创建和配置资源

常用资源

下表列出了一些常用资源:

Agent作用
Filesystem用于挂载文件系统。这可以是本地文件系统、iSCSI 或者光纤通道设备上的文件系统,也可以是 NFS 导出或者 SMB 共享等远程文件系统。
IPaddr2此资源用于为资源组分配浮动 IP 地址。还有一个单独的 IPaddr 资源,它使用旧的分配 IP 地址的方法。在 Red Hat Enterprise Linux 7 上,IPaddr 是指向 IPaddr2 的符号链接。
apache此资源启动 apache httpd 服务。除非另有配置,否则将使用 /etc/httpd.conf 中的配置。
mysql该资源控制一个 mysql 数据库。数据库可以配置为独立操作、具有外部复制的克隆集或者作为完整的主/从设置。
日期:2020-09-17 00:13:27 来源:oir作者:oir