Pacemaker With RHEL7 Part 05 - Cluster Resource Agents Overview
원본출처 : http://www.unixarena.com/2015/12/rhel-7-pacemaker-cluster-resource-agents-overview.html
리소스 에이전트는 클러스터 관리에 중요한 역할을합니다. 리소스는 리소스 를 관리하는 논리를 제공하는 멀티 스레드 프로세스입니다. Pacemaker에는 리소스 유형별로 하나의 에이전트가 있습니다. 리소스 유형은 파일 시스템, IP 주소, 데이터베이스, 가상 도메인 등일 수 있습니다. 리소스 에이전트는 필요할 때마다 클러스터 리소스를 모니터, 시작, 중지, 유효성 검증, 마이그레이션, 승격 및 강등시킬 책임이 있습니다. 대부분의 리소스 에이전트는 OCF (Open Cluster Framework)를 준수합니다. 기존 클러스터에 하나의 IP 리소스를 추가 한 다음 명령 옵션에 대한 자세한 설명을 살펴 보겠습니다.
1. Redhat Cluster (Pacemaker / corosync) 클러스터 노드 중 하나에 루트 사용자로 로그인하십시오.
2. 클러스터 상태를 점검하십시오.
[root@UA-HA ~]# pcs status Cluster name: UABLR Last updated: Mon Dec 28 13:06:01 2015 Last change: Sun Dec 27 23:59:59 2015 by root via cibadmin on UA-HA Stack: corosync Current DC: UA-HA (version 1.1.13-10.el7-44eb2dd) - partition with quorum 2 nodes and 0 resources configured Online: [ UA-HA UA-HA2 ] Full list of resources: PCSD Status: UA-HA: Online UA-HA2: Online Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled [root@UA-HA ~]#
3. 고 가용성 (Clustered IP)이 필요한 IP를 추가하십시오.
[root@UA-HA ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.203.190 cidr_netmask=24 op monitor interval=30s [root@UA-HA ~]#
ClusterIP - 리소스 이름 (임의의 이름을 지정할 수 있음)
ocf : heartbeat : IPaddr2 - 리소스 에이전트 이름.
리소스 표준
첫 번째 필드 (이 경우 ocf)는 리소스 스크립트가 준수하는 표준이며 찾을 위치입니다.
사용 가능한 리소스 표준 목록을 얻으려면 다음 명령을 사용하십시오.
[root@UA-HA ~]# pcs resource standards ocf - Open cluster Framework lsb - Linux standard base (legacy init scripts) service - Based on Linux "service" command. systemd - systemd based service Management stonith - Fencing Resource standard. [root@UA-HA ~]#
리소스 제공
두 번째 필드 (이 경우 하트 비트)는 표준에 따라 다릅니다. OCF 리소스의 경우 클러스터에 리소스 스크립트가있는 OCF 네임 스페이스를 알려줍니다. 사용 가능한 OCF 리소스 공급자 목록을 얻으려면 다음 명령을 사용하십시오.
[root@UA-HA ~]# pcs resource providers heartbeat openstack pacemaker [root@UA-HA ~]#
RHEL 7.2에서 사용할 수있는 사전 빌드 된 리소스 에이전트는 무엇입니까?
세 번째 필드 (이 경우 IPaddr2)는 리소스 스크립트의 이름입니다. 특정 OCF 공급자 (하트 비트)에 사용할 수있는 모든 리소스 에이전트를 보려면 다음 명령을 사용하십시오.
[root@UA-HA ~]# pcs resource agents ocf:heartbeat CTDB Delay Dummy Filesystem IPaddr IPaddr2 IPsrcaddr LVM MailTo Route SendArp Squid VirtualDomain Xinetd apache clvm conntrackd db2 dhcpd docker ethmonitor exportfs galera iSCSILogicalUnit iSCSITarget iface-vlan mysql named nfsnotify nfsserver nginx oracle oralsnr pgsql postfix rabbitmq-cluster redis rsyncd slapd symlink tomcat [root@UA-HA ~]# pcs resource agents ocf:heartbeat |wc -l 41 [root@UA-HA ~]#
Openstack에는 다음 리소스 에이전트가 있습니다.
[root@UA-HA ~]# pcs resource agents ocf:openstack NovaCompute NovaEvacuate [root@UA-HA ~]#
다음은 Pacemaker 구성 요소를 관리하는 리소스 에이전트 목록입니다.
[root@UA-HA ~]# pcs resource agents ocf:pacemaker ClusterMon Dummy HealthCPU HealthSMART Stateful SysInfo SystemHealth controld ping pingd remote [root@UA-HA ~]#
4. 자원 상태를 확인하십시오.
[root@UA-HA ~]# pcs status Cluster name: UABLR Last updated: Mon Dec 28 13:07:33 2015 Last change: Mon Dec 28 13:07:30 2015 by root via cibadmin on UA-HA Stack: corosync Current DC: UA-HA (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
클러스터 상태에 따라 IP 자원은 노드 “UA-HA”에서 온라인 상태입니다. OS 명령 줄에서 확인해 봅시다.
[root@UA-HA ~]# ip a |grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 192.168.203.134/24 brd 192.168.203.255 scope global dynamic br0 inet 192.168.203.190/24 brd 192.168.203.255 scope global secondary br0 inet6 fe80::84ef:2eff:fee9:260a/64 scope link inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 [root@UA-HA ~]# [root@UA-HA ~]# ping 192.168.203.190 PING 192.168.203.190 (192.168.203.190) 56(84) bytes of data. 64 bytes from 192.168.203.190: icmp_seq=1 ttl=64 time=0.084 ms 64 bytes from 192.168.203.190: icmp_seq=2 ttl=64 time=0.090 ms 64 bytes from 192.168.203.190: icmp_seq=3 ttl=64 time=0.121 ms 64 bytes from 192.168.203.190: icmp_seq=4 ttl=64 time=0.094 ms ^C --- 192.168.203.190 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3006ms rtt min/avg/max/mdev = 0.084/0.097/0.121/0.015 ms [root@UA-HA ~]#
IP “192.168.203.190/24”가 실행되고 있음을 알 수 있습니다. 시스템이 실패하면이 IP는 한 노드에서 다른 노드로 자동 이동합니다.