5.4. 리소스 및 리소스 그룹 생성
다음 절차에 따라 클러스터의 리소스를 생성합니다. 이러한 리소스가 모두 동일한 노드에서 실행되도록 apachegroup
리소스 그룹의 일부로 구성됩니다. 생성할 리소스는 다음과 같으며 시작하는 순서대로 나열됩니다.
-
XFS 파일 시스템으로
LVM 볼륨 구성에서 생성한 LVM 볼륨 그룹을 사용하는
활성화합니다.my_lvm
이라는 LVM을 -
XFS
파일
시스템을 사용하여 LVM 볼륨 구성에서 생성한 파일 시스템 장치/dev/my_vg/my_lv
를 사용하는my_fs
라는 파일 시스템 리소스입니다. -
apachegroup
리소스 그룹의 유동 IP 주소인IPaddr2
리소스. IP 주소가 물리적 노드와 이미 연결되어 있지 않아야 합니다.IPaddr2 리소스의
NIC 장치가 지정되지 않은 경우 유동 IP는 노드의 정적으로 할당된 IP 주소 중 하나와 동일한 네트워크에 있어야 합니다. 그렇지 않으면 유동 IP 주소를 할당할 NIC 장치를 올바르게 탐지할 수 없습니다. -
index.html
파일 및 Apache 구성에서 정의한 Apache 구성을 사용하는website
라는apache
리소스.
다음 절차에서는 리소스 그룹 apachegroup
과 그룹에 포함된 리소스를 생성합니다. 리소스는 그룹에 추가하는 순서대로 시작되고 그룹에 추가된 역순으로 중지됩니다. 클러스터의 한 노드에서만 이 절차를 실행합니다.
절차
다음 명령은
LVM-activate
리소스my_lvm
을 만듭니다.apachegroup
리소스 그룹이 아직 존재하지 않기 때문에 이 명령은 리소스 그룹을 만듭니다.참고액티브/패시브 HA 구성에서 동일한
LVM 볼륨 그룹을 사용하는 LVM-activate
리소스를 두 개 이상 구성하지 마십시오. 이로 인해 데이터가 손상될 수 있기 때문입니다. 또한 액티브/패시브 HA 구성에서는LVM 활성화
리소스를 복제 리소스로 구성하지 마십시오.[root@z1 ~]# pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup
리소스를 생성하면 리소스가 자동으로 시작됩니다. 다음 명령을 사용하여 리소스가 생성되었으며 시작되었는지 확인할 수 있습니다.
# pcs resource status Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): Started
pcs resource
disable 및
수동으로 중지하고 시작할 수 있습니다.pcs resource enable
명령을 사용하여 개별 리소스를다음 명령은 구성에 대한 나머지 리소스를 생성하여 기존 리소스 그룹
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
리소스와 리소스 그룹을 생성한 후 클러스터의 상태를 확인할 수 있습니다. 4개의 리소스가 모두 동일한 노드에서 실행되고 있습니다.
[root@z1 ~]# pcs status Cluster name: my_cluster Last updated: Wed Jul 31 16:38:51 2013 Last change: Wed Jul 31 16:42:14 2013 via crm_attribute on z1.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 6 Resources configured Online: [ z1.example.com z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): Started z1.example.com my_fs (ocf::heartbeat:Filesystem): Started z1.example.com VirtualIP (ocf::heartbeat:IPaddr2): Started z1.example.com Website (ocf::heartbeat:apache): Started z1.example.com
클러스터의 펜싱 장치를 구성하지 않은 경우 기본적으로 리소스가 시작되지 않습니다.
클러스터가 시작되어 실행되면 브라우저에서
IPaddr2
리소스로 정의한 IP 주소를 가리켜 샘플 표시를 볼 수 있으며, 간단한 단어 "Hello"로 구성됩니다.Hello
구성한 리소스가 실행 중이지 않은 경우 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
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
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