Pacemaker With RHEL7 Part 06 - Cluster Resources/Group Management

원본출처 : http://www.unixarena.com/2015/12/rhel-7-pacemaker-cluster-resource-group-management.html

Pacemaker / Corosync 클러스터 (RHEL 7 HA)에서 리소스 관리 및 리소스 그룹 관리는 중요한 작업입니다. 클러스터 HA 서비스에 따라 N 개의 리소스를 구성해야 할 수도 있습니다. 대부분의 경우, 리소스 세트를 순차적으로 시작하고 역순으로 중지해야 할 수도 있습니다. 이 구성을 단순화하기 위해 Pacemaker는 그룹 개념을 지원합니다 (리소스 그룹). 예를 들어 HA 모델에서 웹 서비스를 제공하려면 파일 시스템 (웹 사이트 데이터 저장), IP (웹 사이트 액세스를위한 클러스터 IP) 및 Apache (웹 서비스 제공)와 같은 리소스가 필요합니다. Apache 서비스를 시작하려면 웹 사이트 데이터를 저장하는 파일 시스템이 필요합니다. 따라서 리소스는 다음 순서로 시작해야합니다.

  1. IP
  2. 파일 시스템
  3. 아파치 서비스

Redhat 클러스터 (Pacemaker / Corosync)에서 고 가용성 Apache 서비스 (웹 사이트)를 구성하는 방법을 살펴 보겠습니다.

[root@UA-HA ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 18:24:10 2015          Last change: Mon Dec 28 18:09:30 2015 by root via crm_resource on UA-HA
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 1 resource configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
ClusterIP  (ocf::heartbeat:IPaddr2):       Started UA-HA
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA ~]# pcs resource show ClusterIP
 Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.203.190 cidr_netmask=24
  Operations: start interval=0s timeout=20s (ClusterIP-start-interval-0s)
              stop interval=0s timeout=20s (ClusterIP-stop-interval-0s)
              monitor interval=30s (ClusterIP-monitor-interval-30s)
[root@UA-HA ~]#

파일 시스템

  • 공유 LUN - / dev / sdc
  • 볼륨 그룹 - webvg
  • 볼륨 - webvol1
  • 파일 시스템 유형 - ext4

파일 시스템 자원에 대한 빠른 설정

[root@UA-HA2 ~]# vgcreate webvg /dev/sdc
[root@UA-HA2 ~]# lvcreate -L 90M -n /dev/webvg/webvol1
[root@UA-HA2 ~]# mkfs.ext4 /dev/webvg/webvol1

아파치

  • httpd

빠른 설치:

[root@UA-HA www]# yum install -y httpd

(두 클러스터 노드 모두에서 다음 변경 사항을 수행하십시오.)
1. “use_lvmetad”매개 변수가 “0”으로 설정되어 있는지 확인하십시오. 이것은 “Pacemaker”를 사용할 때 필수입니다.

[root@UA-HA ~]# grep use_lvmetad /etc/lvm/lvm.conf |grep -v "#"
    use_lvmetad = 0
[root@UA-HA ~]#

2. 자동 볼륨 그룹 활성화를 방지하려면 volume_list 매개 변수를 자동으로 활성화해야하는 로컬 VG로 업데이트하십시오.

[root@UA-HA ~]# grep volume_list /etc/lvm/lvm.conf |grep -v "#"
        volume_list = [ "nfsvg", "rhel" ]
[root@UA-HA ~]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree
  nfsvg   2   1   0 wz--n-  1.94g 184.00m
  rhel    1   2   0 wz--n- 19.51g      0
  webvg   1   1   0 wz--n- 92.00m      0
[root@UA-HA ~]#

내 경우, “webvg”는 클러스터를 통해 관리됩니다.

3. “/var/www”에 볼륨을 마운트하고 다음 디렉토리와 파일을 작성하십시오.

[root@UA-HA2 ~]# mount /dev/webvg/webvol1 /var/www
[root@UA-HA2 ~]# cd /var/www
[root@UA-HA2 www]# mkdir errror html cgi-bin
total 3
drwxr-xr-x 2 root root 1024 Dec 28 20:26 cgi-bin
drwxr-xr-x 2 root root 1024 Dec 28 20:26 errror
drwxr-xr-x 2 root root 1024 Dec 28 20:27 html
[root@UA-HA2 www]# cd html/
[root@UA-HA2 html]# vi index.html
Hello, Welcome to UnixArena 
 
[root@UA-HA2 html]#

3. 부트 이미지가 클러스터가 제어하는 ​​볼륨 그룹을 활성화하지 않도록 “initramfs”부트 이미지를 작성하십시오. 다음 명령을 사용하여 initramfs 장치를 업데이트하십시오.

[root@UA-HA ~]# dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
[root@UA-HA ~]#

4. 노드를 리부팅 하십시오.

1. 클러스터 볼륨 그룹 리소스를 작성하십시오.

[root@UA-HA ~]# pcs resource create vgres LVM volgrpname=webvg exclusive=true
[root@UA-HA ~]# pcs resource show vgres
 Resource: vgres (class=ocf provider=heartbeat type=LVM)
  Attributes: volgrpname=webvg exclusive=true
  Operations: start interval=0s timeout=30 (vgres-start-interval-0s)
              stop interval=0s timeout=30 (vgres-stop-interval-0s)
              monitor interval=10 timeout=30 (vgres-monitor-interval-10)
[root@UA-HA ~]#

vgres - 리소스 이름 (모든 고유 이름)
webvg - 볼륨 그룹

2. 클러스터 마운트 리소스를 작성하십시오.

[root@UA-HA ~]# pcs resource create webvolfs Filesystem  device="/dev/webvg/webvol1" directory="/var/www" fstype="ext4"
[root@UA-HA ~]# pcs resource show webvolfs
 Resource: webvolfs (class=ocf provider=heartbeat type=Filesystem)
  Attributes: device=/dev/webvg/webvol1 directory=/var/www fstype=ext4
  Meta Attrs: 
  Operations: start interval=0s timeout=60 (webvolfs-start-interval-0s)
              stop interval=0s timeout=60 (webvolfs-stop-interval-0s)
              monitor interval=20 timeout=40 (webvolfs-monitor-interval-20)
[root@UA-HA ~]#

3. 리소스를 추가하기 전에 다음 내용으로 로컬 /etc/httpd/conf/httpd.conf를 수정해야합니다. 이 항목은 웹 서버 상태를 얻기 위해 Pacemaker에 필요합니다.
apache conf 변경

4. 아파치 서버 상태를 확인하십시오. (httpd.service). 두 클러스터 노드에서 httpd.service가 중지 및 비활성화되었는지 확인하십시오. 이 서비스는 클러스터에 의해 관리됩니다.

[root@UA-HA ~]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd(8)
           man:apachectl(8)
 
Dec 27 13:55:52 UA-HA systemd[1]: Starting The Apache HTTP Server...
Dec 27 13:55:55 UA-HA httpd[2002]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.203.134. Set the...is message
Dec 27 13:55:55 UA-HA systemd[1]: Started The Apache HTTP Server.
Dec 27 15:16:02 UA-HA httpd[11786]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.203.134. Set th...is message
Dec 27 15:16:02 UA-HA systemd[1]: Reloaded The Apache HTTP Server.
Dec 28 18:06:57 UA-HA systemd[1]: Started The Apache HTTP Server.
Dec 28 20:30:56 UA-HA systemd[1]: Stopping The Apache HTTP Server...
Dec 28 20:30:57 UA-HA systemd[1]: Stopped The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@UA-HA ~]#

3. Apache 클러스터 리소스를 작성하십시오.

[root@UA-HA ~]# pcs resource create webres apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status"
[root@UA-HA ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 20:11:51 2015          Last change: Mon Dec 28 20:11:44 2015 by root via cibadmin on UA-HA
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 4 resources configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
 vgres  (ocf::heartbeat:LVM):   (target-role:Stopped) Stopped
 webvolfs       (ocf::heartbeat:Filesystem):    (target-role:Stopped) Stopped
 ClusterIP      (ocf::heartbeat:IPaddr2):       Started UA-HA2
 webres (ocf::heartbeat:apache):        Stopped
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA ~]#

정상적인 경우 종속성 트리를 만들기 위해 첫 번째 클러스터 리소스를 추가 할 때 리소스 그룹이 만들어집니다 (명령 줄 끝에 -group을 지정하여). 클러스터 리소스 및 리소스 그룹 관리 개념을 이해하기 위해 마지막에 리소스 그룹을 작성합니다.

리소스가 시작된 것을 확인한 후에는 오류를 피하기 위해 중지하십시오.

[root@UA-HA ~]# pcs resource disable vgres webvolfs webres stop ClusterIP      
[root@UA-HA ~]# pcs resource
 vgres  (ocf::heartbeat:LVM):                    Stopped
 webvolfs       (ocf::heartbeat:Filesystem):     Stopped
 ClusterIP      (ocf::heartbeat:IPaddr2):        Stopped
 webres (ocf::heartbeat:apache):                 Stopped
[root@UA-HA ~]#

4. 리소스 그룹을 작성하여 리소스 종속성을 형성하여 리소스를 순서대로 중지 및 시작하십시오.

[root@UA-HA ~]# pcs resource group add WEBRG1 ClusterIP vgres webvolfs webres

위의 명령에 따라 다음은 리소스 시작 순서입니다

  1. ClusterIP - 웹 사이트 URL
  2. vgres - 볼륨 그룹
  3. webvolfs - 마운트 리소스
  4. webres - httpd 리소스

정지 순서는 시작과 반대입니다.

  1. webres - httpd 리소스
  2. webvolfs - 마운트 리소스
  3. vgres - 볼륨 그룹
  4. ClusterIP - 웹 사이트 URL

5. 리소스 상태를 점검하십시오. 모든 리소스가 “WEBRG1”과 함께 하나의 리소스 그룹으로 묶여 있음을 볼 수 있어야합니다.

[root@UA-HA ~]# pcs resource
 Resource Group: WEBRG1
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started UA-HA2
     vgres      (ocf::heartbeat:LVM):            Stopped
     webvolfs   (ocf::heartbeat:Filesystem):     Stopped
     webres     (ocf::heartbeat:apache):         Stopped
[root@UA-HA ~]#

6. 사용 불가능한 리소스를 다음 순서로 사용 가능하게하십시오.

[root@UA-HA ~]# pcs resource enable ClusterIP
[root@UA-HA ~]# pcs resource enable vgres
[root@UA-HA ~]# pcs resource enable webvolfs
[root@UA-HA ~]# pcs resource enable webres

7. 클러스터 상태를 확인하십시오.

[root@UA-HA ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 20:54:43 2015          Last change: Mon Dec 28 20:51:30 2015 by root via crm_resource on UA-HA2
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 4 resources configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
 Resource Group: WEBRG1
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started UA-HA2
     vgres      (ocf::heartbeat:LVM):   Started UA-HA2
     webvolfs   (ocf::heartbeat:Filesystem):    Started UA-HA2
     webres     (ocf::heartbeat:apache):        Started UA-HA2
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA ~]#

8. UA-HA2에서 UA-HA로 리소스를 이동합시다. 이 경우 수동으로 각 리소스를 이동할 필요가 없습니다. 우리는 필요한 리소스를 번들에 묶어 놓기 때문에 리소스 그룹을 이동해야합니다.

[root@UA-HA ~]# pcs resource move WEBRG1 UA-HA
[root@UA-HA ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 20:58:55 2015          Last change: Mon Dec 28 20:58:41 2015 by root via crm_resource on UA-HA
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 4 resources configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
 Resource Group: WEBRG1
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started UA-HA
     vgres      (ocf::heartbeat:LVM):   Started UA-HA
     webvolfs   (ocf::heartbeat:Filesystem):    Started UA-HA
     webres     (ocf::heartbeat:apache):        Started UA-HA
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA ~]#

다음과 같이 웹 페이지를 볼 수 있어야합니다.
웹 사이트 포털

9. Pacemaker 리소스 그룹을 중지하는 방법은 무엇입니까? → 리소스 그룹을 비활성화하십시오.

[root@UA-HA2 ~]# pcs resource disable WEBRG1
[root@UA-HA2 ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 21:12:18 2015          Last change: Mon Dec 28 21:12:14 2015 by root via crm_resource on UA-HA2
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 4 resources configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
 Resource Group: WEBRG1
     ClusterIP  (ocf::heartbeat:IPaddr2):       (target-role:Stopped) Stopped
     vgres      (ocf::heartbeat:LVM):   (target-role:Stopped) Stopped
     webvolfs   (ocf::heartbeat:Filesystem):    (target-role:Stopped) Stopped
     webres     (ocf::heartbeat:apache):        (target-role:Stopped) Stopped
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA2 ~]#

10. 리소스 그룹을 시작하는 방법은 무엇입니까? → 리소스 그룹에 대해 enable 옵션을 사용하십시오.

[root@UA-HA2 ~]# pcs resource enable WEBRG1
[root@UA-HA2 ~]# pcs status
Cluster name: UABLR
Last updated: Mon Dec 28 21:14:04 2015          Last change: Mon Dec 28 21:14:01 2015 by root via crm_resource on UA-HA2
Stack: corosync
Current DC: UA-HA2 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 4 resources configured
 
Online: [ UA-HA UA-HA2 ]
 
Full list of resources:
 
 Resource Group: WEBRG1
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started UA-HA2
     vgres      (ocf::heartbeat:LVM):   Started UA-HA2
     webvolfs   (ocf::heartbeat:Filesystem):    Started UA-HA2
     webres     (ocf::heartbeat:apache):        Started UA-HA2
 
PCSD Status:
  UA-HA: Online
  UA-HA2: Online
 
Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@UA-HA2 ~]#

참고 :
Redhat 클러스터 (pacemaker / corosync)에는 리소스 stickiness 및 실패 횟수와 같은 많은 매개 변수가 있습니다. 이러한 속성은 리소스를 시작할 시점에서 역할을 수행합니다.

오류를 지우려면 다음 명령을 사용하십시오.

# pcs resource cleanup 

리소스 실패 횟수를 지우려면 다음 명령을 사용하십시오.

[root@UA-HA2 ~]# pcs resource clear ClusterIP
[root@UA-HA2 ~]# pcs resource clear vgres
[root@UA-HA2 ~]# pcs resource clear webvolfs
[root@UA-HA2 ~]# pcs resource clear webres
[root@UA-HA2 ~]#
로그인하면 댓글을 남길 수 있습니다.
  • pacemaker_with_rhel7_part_06_-_cluster_resources_group_management.txt
  • 마지막으로 수정됨: 2017/03/17 16:11
  • 저자 koov