OS [Linux] #1. 클러스터 OCF 및 LSB 구성
페이지 정보
작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 4,876회 좋아요 0회 작성일 21-01-13 16:54본문
서버 기본 구성
- RHEL 7버전
- pcs 설치
- apache 설치
- iscsi로 구성된 공유볼륨
클러스터 설치 방법과 iscsi 구성방법
클러스터
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=44&sca=OS&page=4
iscsi
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=53&sca=OS&page=4
본 문에 들어가기 앞서 OCF와 LSB가 무엇인지 설명하고 본문으로 들어가겠다.
OCF(Open Cluster Framework)란
공개된 클러스터 가동 절차를 이용해 클러스터에 서비스를 등록하는 것을 OCF라 한다.
LSB(Linux Standard base)란
/etc/init.d에 위치하는 스크립트를 클러스터에 리소스로 등록하는 것을 LSB라 한다.
1. 아파치 설정
1.1. apache 설치
apache 설치 방법은 2가지로 나뉘게 된다.
- source파일을 통해 config 설치 ( 권장 )
- repository를 통해 yum install을 설치
2가지 방법중 선택하여 아파치를 설치한다.
1.2. apache 설정
yum install httpd을 통해 설치한 이후 클러스터에 올리기 위해 apache 설정을 변경한다.
- 볼륨확인
클러스터에 등록할 공유 볼륨을 확인한다.
# lsblk 혹은 fdisk -l
클러스터에 사용할 볼륨을 LVM 생성하고 해당 볼륨을 xfs 파일시스템으로 만든다.
그 이후 /var/www에 마운트를 한다.
- /var/www파일
클러스터에 등록할 공유 볼륨은 빈 파일이기 때문에 http에 필요한 기본 파일들을 생성해 준다.
- /var/www/html/index.html
/var/www/html/index.html은 apache가 실행될때 화면에 출력될 결과로 테스트 진행을 위해 간단하게 생성한다.
- logrotate.d 설정
/etc/logroatae.d/httpd 설정 파일을 수정 한다.
기존 설정값
/bin/systemctl reload httpd.service > /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
설정하는 이유는 클러스터를 통해 apache를 관리하게 되면 systemd를 사용하지 않아
logrotate에서 스크립트를 편집하여 systemctl이 apache reload 하지 않게 설정을 변경한다.
- httpd.conf 설정
클러스터에서 apache 상태를 체크할때 사용할 페이지를 생성한다.
- 서버 상태체크
클러스터가 127.0.0.1에서 정보를 가져와 apache의 상태를 지속적으로 확인하여 apache를 관리한다.
2. 클러스터 설정
2.1. yum 설치한 apache 클러스터 등록
- VIP 생성
vip는 액티브 서버가 종료되어도 사용자가 계속 해당 서비스를 사용할수 있게 하기위해 생성한다.
- lvm.conf 설정
/etc/lvm/lvm.conf에 volume_list를 수정한다. 해당 설정에 클러스터로 사용하지 않을 볼륨을 등록한다.
locking_type은 따로 설정을 하지 않아도 기본 1로 설정되어 있다.
- LVM 생성
vg를 클러스터에서 관리할 수 있게 등록한다.
- LVM 마운트
기존 apache 설정파일이 있는 볼륨을 클러스터에서 마운트 관리할수 있도록 생성한다.
- 정상 등록확인
vip, vg, lv 가 정상적으로 start 되는지 확인한다.
- apache 등록
apache 서비르를 등록 한다. 서비스를 등록할때 필요한 정보는 3가지가 있다.
- configfile = httpd.conf 파일의 경로
- statusurl = 상태 체크를 위한 사이트 URL
- httpd = 16비트로 구성된 httpd 파일
현재 yum 설치를 해 httpd 경로는 설정하지 않아도 된다.
# pcs resource create <resource명> apache configfile=<httpd.conf파일 경로> statusurl=<상태체크사이트 URL>
- 리소스 그룹화
등록한 리소스들이 같은 노드에 등록되도록 리소스를 그룹화 해준다.
리소스 그룹으로 묶이게 되면 가장 위에있는 리소스부터 아래로 순서대로 등록되고 종료될때 반대 순서로 종료된다.
# pcs resouce group add <그룹명> <resource명1> <resource명2> <resource명3> ...
- apache 상태 확인
vip로 접속하면 apache가 정상적으로 작동되는것으로 확인이 된다.
2.2. config 설치한 apache 클러스터 등록
아파치 설정은 1.2와 동일하게 진행
- vip 등록
vip를 등록할때 --group 옵션을 추가하여 생성과 동시에 그룹에 등록할수 있다.
- 아파치 등록
apache를 설치한 경로를 등록해야하며 yum 설치와 달리 httpd 경로의 설정을 추가해야한다. 추가 하지 않게되면 not installed 에러가 나오며 실행되지 않는다.
# pcs resource create <resource명> apache configfile=<httpd.conf파일 경로> statusurl=<상태체크사이트 URL> httpd=<httpd파일 경로>
※ 등록전 아파치가 실행중이면 종료하고 등록해야 한다.
- 아파치 추가
config로 설치할때 경로, 포트설정을 변경하면 서버에 여러개의 apache를 실행할 수 있다.
- httpd.conf 설정
PID 파일 생성을 지정해 주지 않을 경우 클러스터가 apache를 실행할 때 PID 파일을 같은 경로로 지정을 해 서로 충돌을 일으키게 된다.
설정은 httpd.conf 파일에 추가하며 등록하는 모든 apache에 설정값을 추가해야 한다.
포트 설정값도 Listen 800으로 변경한다.
- 아파치 추가등록
두번째 apache를 등록할때도 기존 설정과 같이 등록한다.
만약 PID 파일 경로 설정을 하지 않게되면 1번 apache와 2번 apache가 번갈아가면서 실행 종료를 반복한다.
댓글목록
등록된 댓글이 없습니다.