차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

pacemaker_with_rhel7_part_06_-_cluster_resources_group_management [2017/03/17 16:11] (현재)
koov 만듦
줄 1: 줄 1:
 +====== 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 서비스를 시작하려면 웹 사이트 데이터를 저장하는 파일 시스템이 필요합니다. 따라서 리소스는 다음 순서로 시작해야합니다.
 +
 +  - IP
 +  - 파일 시스템
 +  - 아파치 서비스
 +
 +Redhat 클러스터 (Pacemaker / Corosync)에서 고 가용성 Apache 서비스 (웹 사이트)를 구성하는 방법을 살펴 보겠습니다. ​
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 +===== 파일 시스템 및 Apache 자원을 빠르게 작성하십시오. =====
 +
 +==== 파일 시스템 ====
 +
 +  * 공유 LUN - / dev / sdc
 +  * 볼륨 그룹 - webvg
 +  * 볼륨 - webvol1
 +  * 파일 시스템 유형 - ext4
 +
 +
 +==== 파일 시스템 자원에 대한 빠른 설정 ====
 +
 +<WRAP prewrap>
 +<code bash>
 +[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
 +</​code>​
 +</​WRAP>​
 +
 +==== 아파치 ====
 +
 +  * httpd
 +
 +빠른 설치:
 +<WRAP prewrap>
 +<code bash>
 +[root@UA-HA www]# yum install -y httpd
 +</​code>​
 +</​WRAP>​
 +
 +===== LVM의 사전 요구 사항 =====
 +(두 클러스터 노드 모두에서 다음 변경 사항을 수행하십시오.)
 +1. "​use_lvmetad"​매개 변수가 "​0"​으로 설정되어 있는지 확인하십시오. 이것은 "​Pacemaker"​를 사용할 때 필수입니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +[root@UA-HA ~]# grep use_lvmetad /​etc/​lvm/​lvm.conf |grep -v "#"​
 +    use_lvmetad = 0
 +[root@UA-HA ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +2. 자동 볼륨 그룹 활성화를 방지하려면 volume_list 매개 변수를 자동으로 활성화해야하는 로컬 VG로 업데이트하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 +내 경우, "​webvg"​는 클러스터를 통해 관리됩니다.
 +
 + 
 +
 +3. "/​var/​www"​에 볼륨을 마운트하고 다음 디렉토리와 파일을 작성하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +3. 부트 이미지가 클러스터가 제어하는 ​​볼륨 그룹을 활성화하지 않도록 "​initramfs"​부트 이미지를 작성하십시오. 다음 명령을 사용하여 initramfs 장치를 업데이트하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[root@UA-HA ~]# dracut -H -f /​boot/​initramfs-$(uname -r).img $(uname -r)
 +[root@UA-HA ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +4. 노드를 리부팅 하십시오.
 +
 + 
 +
 + 
 +
 +===== LVM 클러스터 리소스 (vg 및 lv) 만들기, 파일 시스템 클러스터 리소스 =====
 + 
 +
 +1. 클러스터 볼륨 그룹 리소스를 작성하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 +vgres - 리소스 이름 (모든 고유 이름) ​
 +webvg - 볼륨 그룹
 +
 + 
 +
 +2. 클러스터 마운트 리소스를 작성하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +3. 리소스를 추가하기 전에 다음 내용으로 로컬 /​etc/​httpd/​conf/​httpd.conf를 수정해야합니다. 이 항목은 웹 서버 상태를 얻기 위해 Pacemaker에 필요합니다.
 +{{:​rhcs:​rhcs7:​61-update-apache-conf.jpg|apache conf 변경}}
 + 
 +
 +4. 아파치 서버 상태를 확인하십시오. (httpd.service). 두 클러스터 노드에서 httpd.service가 중지 및 비활성화되었는지 확인하십시오. 이 서비스는 클러스터에 의해 관리됩니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +3. Apache 클러스터 리소스를 작성하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +정상적인 경우 종속성 트리를 만들기 위해 첫 번째 클러스터 리소스를 추가 할 때 리소스 그룹이 만들어집니다 (명령 줄 끝에 -group을 지정하여). 클러스터 리소스 및 리소스 그룹 관리 개념을 이해하기 위해 마지막에 리소스 그룹을 작성합니다.
 +
 +리소스가 시작된 것을 확인한 후에는 오류를 피하기 위해 중지하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +4. 리소스 그룹을 작성하여 리소스 종속성을 형성하여 리소스를 순서대로 중지 및 시작하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[root@UA-HA ~]# pcs resource group add WEBRG1 ClusterIP vgres webvolfs webres
 +</​code>​
 +</​WRAP>​
 +
 +
 +위의 명령에 따라 다음은 리소스 시작 순서입니다
 +
 +  - ClusterIP - 웹 사이트 URL
 +  - vgres - 볼륨 그룹
 +  - webvolfs - 마운트 리소스
 +  - webres - httpd 리소스
 + 
 +
 +정지 순서는 시작과 반대입니다.
 +
 +  - webres - httpd 리소스
 +  - webvolfs - 마운트 리소스
 +  - vgres - 볼륨 그룹
 +  - ClusterIP - 웹 사이트 URL
 + 
 +
 +5. 리소스 상태를 점검하십시오. 모든 리소스가 "​WEBRG1"​과 함께 하나의 리소스 그룹으로 묶여 있음을 볼 수 있어야합니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +6. 사용 불가능한 리소스를 다음 순서로 사용 가능하게하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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
 +</​code>​
 +</​WRAP>​
 +
 +
 +7. 클러스터 상태를 확인하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +8. UA-HA2에서 UA-HA로 리소스를 이동합시다. 이 경우 수동으로 각 리소스를 이동할 필요가 없습니다. 우리는 필요한 리소스를 번들에 묶어 놓기 때문에 리소스 그룹을 이동해야합니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +다음과 같이 웹 페이지를 볼 수 있어야합니다.
 +{{:​rhcs:​rhcs7:​62-website-portal.jpg|웹 사이트 포털}}
 +
 + 
 +
 +9. Pacemaker 리소스 그룹을 중지하는 방법은 무엇입니까?​ -> 리소스 그룹을 비활성화하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +10. 리소스 그룹을 시작하는 방법은 무엇입니까?​ -> 리소스 그룹에 대해 enable 옵션을 사용하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +참고 :
 +Redhat 클러스터 (pacemaker / corosync)에는 리소스 stickiness 및 실패 횟수와 같은 많은 매개 변수가 있습니다. 이러한 속성은 리소스를 시작할 시점에서 역할을 수행합니다.
 +
 +
 +오류를 지우려면 다음 명령을 사용하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +# pcs resource cleanup ​
 +</​code>​
 +</​WRAP>​
 +
 + 
 +
 +리소스 실패 횟수를 지우려면 다음 명령을 사용하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +[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 ~]#
 +</​code>​
 +</​WRAP>​
 +
 + 
  • pacemaker_with_rhel7_part_06_-_cluster_resources_group_management.txt
  • 마지막으로 수정됨: 2017/03/17 16:11
  • 저자 koov