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 활성화리소스를 복제 리소스로 구성하지 마십시오.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 apachegroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스를 생성하면 리소스가 자동으로 시작됩니다. 다음 명령을 사용하여 리소스가 생성되었으며 시작되었는지 확인할 수 있습니다.
pcs resource status Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): Started# pcs resource status Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM-activate): StartedCopy 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 apachegroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스와 리소스 그룹을 생성한 후 클러스터의 상태를 확인할 수 있습니다. 4개의 리소스가 모두 동일한 노드에서 실행되고 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 펜싱 장치를 구성하지 않은 경우 기본적으로 리소스가 시작되지 않습니다.
클러스터가 시작되어 실행되면 브라우저에서
IPaddr2리소스로 정의한 IP 주소를 가리켜 샘플 표시를 볼 수 있으며, 간단한 단어 "Hello"로 구성됩니다.Hello
HelloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성한 리소스가 실행 중이지 않은 경우 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
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || trueCopy 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 || trueCopy 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 || trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow