Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.5. 配置集群资源

本节提供了为这个用例配置集群资源的步骤。
注意
建议您使用 pcs resource create 创建集群资源时,请立即执行 pcs status 命令验证资源是否正在运行。请注意,如果您还没有如所述为集群配置隔离设备 第 1.3 节 “隔离配置”,默认情况下资源不会启动。
如果发现您配置的资源没有运行,您可以运行 pcs resource debug-start resource 命令来测试资源配置。这会在集群控制之外启动服务。当配置的资源再次运行时,运行 pcs resource cleanup resource 使集群了解更新。有关 pcs resource debug-start 命令的详情请参考 高可用性附加组件参考手册
以下步骤配置系统资源。为确保这些资源在同一节点上运行,它们都配置为资源组 nfsgroup 的一部分。资源将以您添加到组的顺序启动,并按照添加到组中的相反顺序停止。仅从集群的一个节点运行此步骤。
  1. 以下命令创建名为 my_lvm 的 LVM 资源。这个命令指定 exclusive=true 参数以确保只有集群可以激活 LVM 逻辑卷。由于资源组 nfsgroup 尚不存在,这个命令会创建资源组。
    [root@z1 ~]# pcs resource create my_lvm LVM volgrpname=my_vg \
    exclusive=true --group nfsgroup
    检查集群的状态,以验证资源是否在运行。
    root@z1 ~]#  pcs status
    Cluster name: my_cluster
    Last updated: Thu Jan  8 11:13:17 2015
    Last change: Thu Jan  8 11:13:08 2015
    Stack: corosync
    Current DC: z2.example.com (2) - partition with quorum
    Version: 1.1.12-a14efad
    2 Nodes configured
    3 Resources configured
    
    Online: [ z1.example.com z2.example.com ]
    
    Full list of resources:
     myapc  (stonith:fence_apc_snmp):       Started z1.example.com
     Resource Group: nfsgroup
         my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
    
    PCSD Status:
      z1.example.com: Online
      z2.example.com: Online
    
    Daemon Status:
      corosync: active/enabled
      pacemaker: active/enabled
      pcsd: active/enabled
    
  2. 为集群配置 Filesystem 资源。
    注意
    您可以使用 options=options 参数指定挂载选项作为 Filesystem 资源资源配置的一部分。运行 pcs resource describe Filesystem 命令获取完整配置选项。
    以下命令将名为 nfsshare 的 ext4 Filesystem 资源配置为 nfsgroup 资源组的一部分。这个文件系统使用您在中创建的 LVM 卷组和 ext4 文件系统, 第 3.2 节 “使用 ext4 文件系统配置 LVM 卷” 并将挂载到您创建的 /nfsshare 目录中 第 3.3 节 “NFS 共享设置”
    [root@z1 ~]# pcs resource create nfsshare Filesystem \
    device=/dev/my_vg/my_lv directory=/nfsshare \
    fstype=ext4 --group nfsgroup
    检查 my_lvmnfsshare 资源是否正在运行。
    [root@z1 ~]# pcs status
    ...
    Full list of resources:
     myapc  (stonith:fence_apc_snmp):       Started z1.example.com
     Resource Group: nfsgroup
         my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
         nfsshare   (ocf::heartbeat:Filesystem):    Started z1.example.com
    ...
    
  3. 创建资源组 nfsgroup 的名为 nfs-daemonnfsserver 资源。
    注意
    nfsserver 资源允许您指定一个 nfs_shared_infodir 参数,该参数是 NFS 守护进程用来存储与 NFS 相关的有状态信息的目录。建议将此属性设置为您在这个导出集合中创建的 Filesystem 资源的子目录。这样可确保 NFS 守护进程将其有状态的信息存储在需要重新定位资源组时可供另一个节点使用的设备中。在这个示例中, /nfsshare 是由 Filesystem 资源管理的共享存储目录, /nfsshare/exports/export1/nfsshare/exports/export2 是导出的目录, /nfsshare/nfsinfonfsserver 资源的共享目录。
    [root@z1 ~]# pcs resource create nfs-daemon nfsserver \
    nfs_shared_infodir=/nfsshare/nfsinfo nfs_no_notify=true \
    --group nfsgroup
    [root@z1 ~]# pcs status
    ...
    
  4. 添加 exportfs 资源来导出 /nfsshare/exports 目录。这些资源是资源组 nfsgroup 的一部分。这为 NFSv4 客户端构建了一个虚拟目录。NFSv3 客户端也可以访问这些导出。
    [root@z1 ~]# pcs resource create nfs-root exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash \
    directory=/nfsshare/exports \
    fsid=0 --group nfsgroup
    
    [root@z1 ~]# # pcs resource create nfs-export1 exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash directory=/nfsshare/exports/export1 \
    fsid=1 --group nfsgroup
    
    [root@z1 ~]# # pcs resource create nfs-export2 exportfs \
    clientspec=192.168.122.0/255.255.255.0 \
    options=rw,sync,no_root_squash directory=/nfsshare/exports/export2 \
    fsid=2 --group nfsgroup
  5. 添加 NFS 客户端用来访问 NFS 共享的浮动 IP 地址资源。您指定的浮动 IP 地址需要反向 DNS 查找,或者必须在集群中所有节点上的 /etc/hosts 中指定。这个资源是资源组 nfsgroup 的一部分。在本示例部署中,我们使用 192.168.122.200 作为浮动 IP 地址。
    [root@z1 ~]# pcs resource create nfs_ip IPaddr2 \
    ip=192.168.122.200 cidr_netmask=24 --group nfsgroup
  6. 在完成整个 NFS 部署后,添加用于发送 NFSv3 重启通知的 nfsnotify 资源。这个资源是资源组 nfsgroup 的一部分。
    注意
    为了正确处理 NFS 通知,浮动 IP 地址必须具有与其关联的主机名,在 NFS 服务器和 NFS 客户端中都一致。
    [root@z1 ~]# pcs resource create nfs-notify nfsnotify \
    source_host=192.168.122.200 --group nfsgroup
在创建资源和资源限制后,您可以检查集群的状态。请注意,所有资源都在同一个节点上运行。
[root@z1 ~]# pcs status
...
Full list of resources:
 myapc  (stonith:fence_apc_snmp):       Started z1.example.com
 Resource Group: nfsgroup
     my_lvm     (ocf::heartbeat:LVM):   Started z1.example.com
     nfsshare   (ocf::heartbeat:Filesystem):    Started z1.example.com
     nfs-daemon (ocf::heartbeat:nfsserver):     Started z1.example.com 
     nfs-root   (ocf::heartbeat:exportfs):      Started z1.example.com
     nfs-export1        (ocf::heartbeat:exportfs):      Started z1.example.com
     nfs-export2        (ocf::heartbeat:exportfs):      Started z1.example.com
     nfs_ip     (ocf::heartbeat:IPaddr2):       Started  z1.example.com
     nfs-notify (ocf::heartbeat:nfsnotify):     Started z1.example.com
...