OS [Cluster] RHEL(Centos) 7 Pacemaker GFS2
페이지 정보
작성자 Leesangwoo 아이디로 검색 전체게시물 댓글 0건 조회 8,930회 좋아요 1회 작성일 20-07-02 15:58본문
1. GFS2 란?
- Global File System 2의 약자로 다중 노드 ( 단일도 가능 )에서 mount 하여 동시에 사용 가능합니다.
- 각 노드에는 온디스크 데이터의 일부가 들어있는 자체적 페이지 캐시가 존재하며 glocks 라는 잠금 메커니즘을 사용하여 무결성을 관리합니다.
- glock 서브시스템은 기본 통신 계층으로 DLM (distributed lock manager)를 사용하여 구현되는 캐시 관리 기능을 제공합니다.
2. GFS2 환경설정 및 구성
2.1 GFS2 환경설정
1) GFS2 구성에 필요한 패키지 설치
- yum install gfs2-utils lvm2-cluster
2) GFS2 설정 파일 생성
- lvmconf --enable-cluster ( GFS2 base /etc/lvm/lvm.conf 생성 )
- locking_type = 3 확인 ( GFS2 base로 생성되어서 3인지만 체크합니다 )
- volume_list = [ "vg_gfs" ] ( GFS 구성하는 VG는 HA-LVM과 다르게 예외 list에 등록해 줍니다 )
3) LVM tag 서비스 정지
- systemctl stop lvm2-lvmetad.service ( LVM tag로 인한 이슈 발생 방지를 위하여 tag 서비스 정지를 합니다 )
4) dlm ( GFS2 lock manager ) 시작
- systemctl start dlm
2.2 GFS2 구성
1) pacemaker cluster 구성 및 quirum 정책 freeze로 변경
- pcs cluster setup --name gfs_cluster ha1-hb ha2-hb --start
- pcs property set no-quorum-policy=freeze
2) quorum 정책 freeze로 변경 되었는지 확인
- pcs property show
3) pacemaker dlm과 clvmd 리소스 등록
- pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=ture ordered=true
- pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
4) dlm과 clvmd 리소스 등록 확인
- pcs resource show
5) 리소스 시작 조건 설정 ( 리소스 시작 조건은 dlm 시작 후 clvmd 이어야 합니다 )
- pcs constraint order start dlm-clone then clvmd-clone
- pcs constraint colocation add clvmd-clone with dlm-clone
6) 리소스 시작 조건 등록 확인
- pcs constraint show
2.3 volume 구성
1) LVM 볼륨 생성
- pvcreate /dev/sdb1 ( pv 생성 )
- vgcreate -Ay -cy vg_gfs /dev/sdb1 ( -A = autobackup, -c = clustered )
- lvcreate -n lv_gfs -l 100%FREE vg_gfs
( 만약 Error locking on node 2: Volume group for uuid not found:
dGOqPEX8Q1qA1gFOcb0RRRPMYmB2O6UOcq2baeCNujtxqKAtTHbQZ1dmJP4AT1FM Failed to activate new LV. )
이런 에러가 발생하면 [clvmd -R : 양 노드 ] 후에 재시도 바랍니다.
2) 만든 LVM volume gfs2로 format
- mkfs.gfs2 -j 3 -p lock_dlm -t gfs_cluster:gfs2 /dev/vg_gfs/lv_gfs ( -j = Number of journals [ 접속 가능한 노드 수 + 1 { +1은 권고 사항입니다 } ],
-p = Name of the locking protocol, -t = Name of the lock table [ gfs_cluster = cluster 명, gfs2 파일 시스템 이름 ]
3) 양쪽 노드에 gfs2 볼륨 마운트 폴더 생성
- mkdir /gfs
4) pacemaker에 gfs2 볼륨 리소스 등록
- pcs resource create gfs_fs Filesystem device="/dev/vg_gfs/lv_gfs" directory="/gfs" fstype="gfs2" options="noatime" op monitor interval=10s clone interleave=true
( noatime 옵션을 추가하면 atime 을 기록하지 않음 )
5) pacemaker에 gfs2 볼륨 리소스 및 mount 확인
- pcs resource show
6) pacemaker에 clvmd 리소스 다음 gfs2 볼륨 리소스 시작되게 조건 설정
- pcs constraint order start clvmd-clone then gfs_fs-clone
- pcs constraint colocation add gfs_fs-clone with clvmd-clone
7) pacemaker constraint 조건 등록 확인
- pcs constraint show
8) gfs2 볼륨 마운트 확인
- mount -v
- df -hT
9) 클러스터 재시작 후에도 이슈 없이 잘 되는지 테스트
- pcs cluster stop --all ( systemctl status dlm 확인 필수 - 클러스터를 내리면 dlm 서비스가 정지 될 수 있다. 만약 정지 되었다면 systemctl start dlm 시작 후에 클러스터 시작 )
- pcs cluster start --all
- pcs resource show ( df -hT ) 리소스와 볼륨에 이슈 없는지 확인
클러스터 재시작 후에도 양쪽 노드에 마운트 및 동시에 사용이 가능한지 테스트하면 잘 된다.
댓글목록
등록된 댓글이 없습니다.