49.4. 리소스 및 리소스 그룹 생성
다음 절차에 따라 클러스터의 리소스를 생성합니다. 이러한 리소스가 모두 동일한 노드에서 실행되도록 리소스 그룹 apachegroup
의 일부로 구성됩니다. 생성할 리소스는 다음과 같습니다.
-
XFS 파일 시스템으로
LVM 볼륨 구성에서 생성한 LVM 볼륨 그룹을 사용하는
-활성화 리소스.my_lvm
이라는 LVM -
XFS 파일 시스템을 사용하여 LVM 볼륨 구성에서 생성한 파일 시스템 장치
/dev/my_vg/my_lv
를 사용하는my_fs
라는Filesystem
리소스. -
apachegroup
리소스 그룹의 유동 IP 주소인IPaddr2
리소스입니다. IP 주소는 이미 물리적 노드와 연결되어 있지 않아야 합니다.IPaddr2
리소스의 NIC 장치를 지정하지 않으면 유동 IP가 노드의 정적으로 할당된 IP 주소 중 하나와 동일한 네트워크에 있어야 합니다. 그렇지 않으면 유동 IP 주소를 할당하는 NIC 장치를 올바르게 감지할 수 없습니다. -
index.html
파일과 Apache HTTP 서버 구성에서 정의한 Apache 구성을 사용하는website
라는apache
리소스입니다.
다음 절차에서는 리소스 그룹 apachegroup
과 그룹에 포함된 리소스를 생성합니다. 리소스는 그룹에 추가하는 순서대로 시작되고 그룹에 추가된 역순으로 중지합니다. 클러스터의 한 노드에서만 이 절차를 실행합니다.
절차
다음 명령은
LVM-activate
리소스my_lvm
을 생성합니다. 리소스 그룹apachegroup
은 아직 존재하지 않으므로 이 명령은 리소스 그룹을 생성합니다.참고활성/수동 HA 구성에서 동일한
LVM 볼륨 그룹을 사용하는 두 개 이상의 LVM 활성화
리소스를 구성하지 마십시오. 이로 인해 데이터 손상이 발생할 수 있습니다. 또한LVM-activate
리소스를 활성/수동 HA 구성에 복제 리소스로 구성하지 마십시오.pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup
[root@z1 ~]# pcs resource create my_lvm ocf:heartbeat:LVM-activate vgname=my_vg vg_access_mode=system_id --group apachegroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스를 생성하면 리소스가 자동으로 시작됩니다. 다음 명령을 사용하여 리소스가 생성되고 시작되었는지 확인할 수 있습니다.
pcs resource status
# pcs resource status Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): Started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs resource disable
및pcs resource enable
명령을 사용하여 개별 리소스를 수동으로 중지하고 시작할 수 있습니다.다음 명령은 구성에 대한 나머지 리소스를 생성하여 기존 리소스 그룹
apachegroup
에 추가합니다.pcs resource create my_fs Filesystem device="/dev/my_vg/my_lv" directory="/var/www" fstype="xfs" --group apachegroup pcs resource create VirtualIP IPaddr2 ip=198.51.100.3 cidr_netmask=24 --group apachegroup pcs resource create Website apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스 및 리소스가 포함된 리소스 그룹을 생성한 후 클러스터 상태를 확인할 수 있습니다. 4개의 리소스 모두 동일한 노드에서 실행되고 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 펜싱 장치를 구성하지 않은 경우 기본적으로 리소스가 시작되지 않습니다.
클러스터가 가동되어 실행되면 브라우저에서
IPaddr2
리소스로 정의된 IP 주소를 가리키면 간단한 단어 "Hello"로 구성된 샘플 디스플레이를 볼 수 있습니다.Hello
Hello
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성한 리소스가 실행되고 있지 않은 경우
pcs resource debug-start resource
명령을 실행하여 리소스 구성을 테스트할 수 있습니다.apache
리소스 에이전트를 사용하여 Apache를 관리하면systemd
를 사용하지 않습니다. 이로 인해systemctl
을 사용하여 Apache를 다시 로드하지 않도록 Apache와 함께 제공된logrotate
스크립트를 편집해야 합니다.클러스터의 각 노드에서
/etc/logrotate.d/httpd
파일에서 다음 행을 제거합니다./bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
/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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
/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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow