7장. 클러스터의 GFS2 파일 시스템
다음 관리 절차를 사용하여 Red Hat 고가용성 클러스터에서 VMDK2 파일 시스템을 구성합니다.
7.1. 클러스터에서 GFS2 파일 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 Alertmanager2 파일 시스템을 포함하는 Pacemaker 클러스터를 설정할 수 있습니다. 이 예제에서는 2-노드 클러스터의 논리 볼륨 3개에 status2 파일 시스템을 생성합니다.
사전 요구 사항
- 클러스터 노드 모두에서 클러스터 소프트웨어를 설치 및 시작하고 기본 2-노드 클러스터를 생성합니다.
- 클러스터의 펜싱을 구성합니다.
Pacemaker 클러스터를 생성하고 클러스터의 펜싱 구성에 대한 자세한 내용은 Pacemaker를 사용하여 Red Hat High-Availability 클러스터 생성을 참조하십시오.
절차
클러스터의 두 노드 모두에서 시스템 아키텍처에 해당하는 복구 스토리지용 리포지토리를 활성화합니다. 예를 들어 x86_64 시스템의 Resilient Storage 리포지토리를 활성화하려면 다음
subscription-manager명령을 입력할 수 있습니다.subscription-manager repos --enable=rhel-9-for-x86_64-resilientstorage-rpms
# subscription-manager repos --enable=rhel-9-for-x86_64-resilientstorage-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 복구 스토리지 리포지토리는 High Availability 리포지토리의 상위 세트입니다. 복구 스토리지 리포지토리를 활성화하는 경우 고가용성 리포지토리도 활성화할 필요가 없습니다.
클러스터의 두 노드에서
lvm2-lockd,gfs2-utils,dlm패키지를 설치합니다. 이러한 패키지를 지원하려면 AppStream 채널 및 복구 스토리지 채널을 구독해야 합니다.dnf install lvm2-lockd gfs2-utils dlm
# dnf install lvm2-lockd gfs2-utils dlmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 두 노드 모두에서
/etc/lvm/구성 옵션을lvm.conf 파일의 use_lvmlockduse_lvmlockd=1로 설정합니다.... use_lvmlockd = 1 ...
... use_lvmlockd = 1 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 글로벌 Pacemaker 매개 변수
no-quorum-policy를freeze로 설정합니다.참고기본적으로
no-quorum-policy의 값은stop으로 설정됩니다. 쿼럼이 유실되면 나머지 파티션의 모든 리소스가 즉시 중지됨을 나타냅니다. 일반적으로 이 기본값은 가장 안전하고 최적의 옵션이지만 대부분의 리소스와 달리, GFS2를 사용하려면 쿼럼이 필요합니다. 쿼럼이 GFS2 마운트 및 GFS2 마운트 자체를 사용하는 애플리케이션 모두 손실되면 제대로 중지할 수 없습니다. 쿼럼 없이 이러한 리소스를 중지하려고 하면 결국 쿼럼이 손실될 때마다 전체 클러스터가 펜싱됩니다.이 문제를 해결하려면 GFS2가 사용 중인 경우
no-quorum-policy를freeze로 설정합니다. 즉, 쿼럼이 손실되면 쿼럼이 복구될 때까지 나머지 파티션은 아무 작업도 수행하지 않습니다.pcs property set no-quorum-policy=freeze
[root@z1 ~]# pcs property set no-quorum-policy=freezeCopy to Clipboard Copied! Toggle word wrap Toggle overflow dlm리소스를 설정합니다. 이는 클러스터에서 GFS2 파일 시스템을 구성하는 데 필요한 종속 항목입니다. 이 예제에서는locking라는 리소스 그룹의 일부로dlm리소스를 생성합니다.pcs resource create dlm --group locking ocf:pacemaker:controld op monitor interval=30s on-fail=fence
[root@z1 ~]# pcs resource create dlm --group locking ocf:pacemaker:controld op monitor interval=30s on-fail=fenceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 두 노드에서 리소스 그룹을 활성화할 수 있도록
잠금리소스 그룹을 복제합니다.pcs resource clone locking interleave=true
[root@z1 ~]# pcs resource clone locking interleave=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow lvmlockd리소스를잠금리소스 그룹의 일부로 설정합니다.pcs resource create lvmlockd --group locking ocf:heartbeat:lvmlockd op monitor interval=30s on-fail=fence
[root@z1 ~]# pcs resource create lvmlockd --group locking ocf:heartbeat:lvmlockd op monitor interval=30s on-fail=fenceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 확인하여 클러스터의 두 노드에서
잠금리소스 그룹이 시작되었는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 한 노드에서 두 개의 공유 볼륨 그룹을 만듭니다. 하나의 볼륨 그룹에는 두 개의 GFS2 파일 시스템이 포함되며 다른 볼륨 그룹에는 하나의 GFS2 파일 시스템이 포함됩니다.
참고LVM 볼륨 그룹에 iSCSI 대상과 같은 원격 블록 스토리지에 있는 하나 이상의 물리 볼륨이 포함된 경우 Pacemaker를 시작하기 전에 서비스를 시작하는 것이 좋습니다. Pacemaker 클러스터에서 사용하는 원격 물리 볼륨의 시작 순서를 구성하는 방법에 대한 자세한 내용은 Pacemaker에서 관리하지 않는 리소스 종속 항목의 시작 순서 구성을 참조하십시오.
다음 명령은
/dev/vdb에 shared 볼륨 그룹shared_vg1을 생성합니다.vgcreate --shared shared_vg1 /dev/vdb
[root@z1 ~]# vgcreate --shared shared_vg1 /dev/vdb Physical volume "/dev/vdb" successfully created. Volume group "shared_vg1" successfully created VG shared_vg1 starting dlm lockspace Starting locking. Waiting until locks are ready...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령은
/dev/hiera 에 shared 볼륨 그룹shared_vg2를 생성합니다.vgcreate --shared shared_vg2 /dev/vdc
[root@z1 ~]# vgcreate --shared shared_vg2 /dev/vdc Physical volume "/dev/vdc" successfully created. Volume group "shared_vg2" successfully created VG shared_vg2 starting dlm lockspace Starting locking. Waiting until locks are ready...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 두 번째 노드에서 다음을 수행합니다.
lvm.conf파일에서use_devicesfile = 1매개 변수를 사용하여 장치 파일을 사용하는 경우 공유 장치를 장치 파일에 추가합니다 This feature is enabled by default.lvmdevices --adddev /dev/vdb lvmdevices --adddev /dev/vdc
[root@z2 ~]# lvmdevices --adddev /dev/vdb [root@z2 ~]# lvmdevices --adddev /dev/vdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 공유 볼륨 그룹에 대해 잠금 관리자를 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
클러스터의 한 노드에서 공유 논리 볼륨을 생성하고 GFS2 파일 시스템으로 볼륨을 포맷합니다. 파일 시스템을 마운트하는 각 노드에 저널 1개가 필요합니다. 클러스터의 각 노드에 충분한 저널을 생성해야 합니다. 잠금 테이블 이름의 형식은 ClusterName:FSName 입니다. 여기서 ClusterName 은 GFS2 파일 시스템이 생성되는 클러스터의 이름이고 FSName 은 클러스터 전체에서 모든
lock_dlm파일 시스템에 대해 고유해야 하는 파일 시스템 이름입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 논리 볼륨에 대한
LVM 활성화리소스를 생성하여 모든 노드에서 논리 볼륨을 자동으로 활성화합니다.shared_vg1볼륨 그룹에 대해shared_lv1논리 볼륨에 대해sharedlv1이라는LVM 활성화리소스를 만듭니다. 또한 이 명령은 리소스를 포함하는shared_vg1리소스 그룹도 생성합니다. 이 예에서 리소스 그룹의 이름은 논리 볼륨을 포함하는 공유 볼륨 그룹과 동일합니다.pcs resource create sharedlv1 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv1 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockdCopy to Clipboard Copied! Toggle word wrap Toggle overflow shared_vg1볼륨 그룹에서shared_lv2에 대해sharedlv2라는LVM 활성화리소스를 만듭니다. 이 리소스는shared_vg1리소스 그룹의 일부이기도 합니다.pcs resource create sharedlv2 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv2 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv2 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv2 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockdCopy to Clipboard Copied! Toggle word wrap Toggle overflow shared_vg2볼륨 그룹에서shared_lv1에 대해sharedlv3이라는LVM 활성화리소스를 만듭니다. 또한 이 명령은 리소스를 포함하는shared_vg2리소스 그룹도 생성합니다.pcs resource create sharedlv3 --group shared_vg2 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg2 activation_mode=shared vg_access_mode=lvmlockd
[root@z1 ~]# pcs resource create sharedlv3 --group shared_vg2 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg2 activation_mode=shared vg_access_mode=lvmlockdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
두 개의 새 리소스 그룹을 복제합니다.
pcs resource clone shared_vg1 interleave=true pcs resource clone shared_vg2 interleave=true
[root@z1 ~]# pcs resource clone shared_vg1 interleave=true [root@z1 ~]# pcs resource clone shared_vg2 interleave=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow dlm및lvmlockd리소스가 포함된잠금리소스 그룹을 먼저 시작하도록 순서 제한 조건을 구성합니다.pcs constraint order start locking-clone then shared_vg1-clone pcs constraint order start locking-clone then shared_vg2-clone
[root@z1 ~]# pcs constraint order start locking-clone then shared_vg1-clone Adding locking-clone shared_vg1-clone (kind: Mandatory) (Options: first-action=start then-action=start) [root@z1 ~]# pcs constraint order start locking-clone then shared_vg2-clone Adding locking-clone shared_vg2-clone (kind: Mandatory) (Options: first-action=start then-action=start)Copy to Clipboard Copied! Toggle word wrap Toggle overflow tekton
1및 pxe2리소스 그룹이잠금리소스 그룹과 동일한 노드에서 시작하도록 공동 배치 제한 조건을 구성합니다.pcs constraint colocation add shared_vg1-clone with locking-clone pcs constraint colocation add shared_vg2-clone with locking-clone
[root@z1 ~]# pcs constraint colocation add shared_vg1-clone with locking-clone [root@z1 ~]# pcs constraint colocation add shared_vg2-clone with locking-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 두 노드에서 논리 볼륨이 활성화되어 있는지 확인합니다. 몇 초 정도 지연될 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 시스템 리소스를 생성하여 각 GFS2 파일 시스템을 모든 노드에 자동으로 마운트합니다.
Pacemaker 클러스터 리소스로 관리되므로 파일 시스템을
/etc/fstab파일에 추가하지 않아야 합니다. 마운트 옵션은options=옵션을 사용하여 리소스 구성의 일부로 지정할 수 있습니다.pcs resource describe Filesystem명령을 실행하여 전체 구성 옵션을 표시합니다.다음 명령은 파일 시스템 리소스를 생성합니다. 이러한 명령은 해당 파일 시스템의 논리 볼륨 리소스를 포함하는 각 리소스를 리소스 그룹에 추가합니다.
pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence pcs resource create sharedfs2 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv2" directory="/mnt/gfs2" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence pcs resource create sharedfs3 --group shared_vg2 ocf:heartbeat:Filesystem device="/dev/shared_vg2/shared_lv1" directory="/mnt/gfs3" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence
[root@z1 ~]# pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/mnt/gfs1" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence [root@z1 ~]# pcs resource create sharedfs2 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv2" directory="/mnt/gfs2" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence [root@z1 ~]# pcs resource create sharedfs3 --group shared_vg2 ocf:heartbeat:Filesystem device="/dev/shared_vg2/shared_lv1" directory="/mnt/gfs3" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fenceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
GFS2 파일 시스템이 클러스터의 두 노드에 마운트되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow