49.4. 创建资源和资源组
使用以下流程为集群创建资源。为确保这些资源在同一节点上运行,它们都配置为资源组 apachegroup
的一部分。要创建的资源如下,按其启动顺序列出。
-
一个名为
my_lvm
的使用您在 配置一个带有 XFS 文件系统的 LVM 卷 时创建的LVM-activate
资源。 -
一个名为
my_fs
的使用您在 配置一个带有 XFS 文件系统的 LVM 卷 时创建的文件系统设备/dev/my_vg/my_lv
的Filesystem
资源。 -
IPaddr2
资源,它是apachegroup
资源组的浮动 IP 地址。IP 地址不能是一个已经与物理节点关联的 IP 地址。如果没有指定IPaddr2
资源的 NIC 设备,浮动 IP 必须与节点静态分配的 IP 地址之一位于同一个网络中,否则无法正确检测到分配浮动 IP 地址的 NIC 设备。 -
名为
Website
的apache
资源使用您在 配置 Apache HTTP 服务器 中定义的index.html
文件和 Apache 配置。
以下流程创建资源组 apachegroup
以及组包含的资源。资源将以您添加到组的顺序启动,并按照添加到组中的相反顺序停止。仅从集群的一个节点运行此步骤。
流程
以下命令创建
LVM-activate
资源my_lvm
。由于资源组apachegroup
尚不存在,这个命令会创建资源组。注意不要配置多于一个的在主动/被动 HA 配置中使用相同 LVM 卷组的
LVM-activate
资源,因为这可能导致数据崩溃。另外,不要在主动/被动 HA 配置中将LVM-activate
资源配置为克隆资源。pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup
[root@z1 ~]# pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您创建资源时,会自动启动该资源。您可以使用以下命令确认资源已创建并启动。
pcs resource status
# pcs resource status Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): Started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
pcs resource disable
和pcs resource enable
命令手动停止并启动单个资源。以下命令为配置创建剩余的资源,将它们添加到现有资源组
apachegroup
中。pcs resource create my_fs Filesystem device="/dev/my_vg/my_lv" directory="/var/www" fstype="xfs" --group apachegroup pcs resource create VirtualIP IPaddr2 ip=198.51.100.3 cidr_netmask=24 --group apachegroup pcs resource create Website apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group apachegroup
[root@z1 ~]# pcs resource create my_fs Filesystem device="/dev/my_vg/my_lv" directory="/var/www" fstype="xfs" --group apachegroup [root@z1 ~]# pcs resource create VirtualIP IPaddr2 ip=198.51.100.3 cidr_netmask=24 --group apachegroup [root@z1 ~]# pcs resource create Website apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group apachegroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建资源和包含这些资源的资源组后,您可以检查集群的状态。请注意,所有四个资源都在同一个节点上运行。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,如果您还没有为集群配置隔离设备,默认情况下资源不会启动。
当集群启动并运行后,您可以将浏览器指向定义为
IPaddr2
资源,查看示例显示,包括一个简单的单词 "Hello"。Hello
Hello
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果发现配置的资源没有运行,则您可以运行
pcs resource debug-start resource
命令来测试资源配置。当您使用
apache
资源代理来管理 Apache 时,它不会使用systemd
。因此,您必须编辑 Apache 提供的logrotate
脚本,使其不使用systemctl
重新加载 Apache。在集群中的每个节点上删除
/etc/logrotate.d/httpd
文件中的以下行:/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 RHEL 8.6 及之后的版本,将您删除的行替换为以下三行,将
/var/run/httpd-website.pid
指定为 PID 文件路径,其中 website 是 Apache 资源的名称。在本例中,Apache 资源名称是Website
。/usr/bin/test -f /var/run/httpd-Website.pid >/dev/null 2>/dev/null && /usr/bin/ps -q $(/usr/bin/cat /var/run/httpd-Website.pid) >/dev/null 2>/dev/null && /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /var/run/httpd-Website.pid" -k graceful > /dev/null 2>/dev/null || true
/usr/bin/test -f /var/run/httpd-Website.pid >/dev/null 2>/dev/null && /usr/bin/ps -q $(/usr/bin/cat /var/run/httpd-Website.pid) >/dev/null 2>/dev/null && /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /var/run/httpd-Website.pid" -k graceful > /dev/null 2>/dev/null || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 RHEL 8.5 及更早版本,将您删除的行替换为以下三行:
/usr/bin/test -f /run/httpd.pid >/dev/null 2>/dev/null && /usr/bin/ps -q $(/usr/bin/cat /run/httpd.pid) >/dev/null 2>/dev/null && /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /run/httpd.pid" -k graceful > /dev/null 2>/dev/null || true
/usr/bin/test -f /run/httpd.pid >/dev/null 2>/dev/null && /usr/bin/ps -q $(/usr/bin/cat /run/httpd.pid) >/dev/null 2>/dev/null && /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -c "PidFile /run/httpd.pid" -k graceful > /dev/null 2>/dev/null || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow