반응형
리눅스 Pacemaker 클러스터 환경에서 MariaDB 상태 체크와 페일오버(Fail-Over)를 위한 방법을 소개하려고 합니다. 스크립트를 통해 MariaDB 프로세스의 상태를 체크하고, 문제 발생시 페일오버시킵니다.
1. /etc/init.d/db_check 파일 생성
#!/bin/bash
# 스크립트의 첫 번째 인자에 따라 MariaDB 서비스를 시작, 중지 또는 상태를 확인합니다.
case "$1" in
"start")
echo "MariaDB 시작 중..."
systemctl start mariadb # MariaDB 서비스 시작
;;
"stop")
echo "MariaDB 중지 중..."
systemctl stop mariadb # MariaDB 서비스 중지
;;
"status")
# MariaDB 서버에 2초의 타임아웃을 설정하여 연결을 시도하고 간단한 SQL 쿼리를 실행합니다.
result=$(mysql --connect-timeout 2 -u root -p"${DB_PASSWORD}" -h localhost -Nse 'select now()')
result_code=$?
if [[ $result_code -eq 0 ]]; then
echo "MariaDB가 실행 중입니다. 현재 시간: $result"
else
# 연결 실패 시 에러 메시지를 로그에 기록하고 리소스 그룹을 다른 노드로 이동합니다.
echo "[$(date +%Y-%m-%d-%H:%M:%S)] DB 연결 오류" >> /var/log/db_check
echo "MariaDB에 연결할 수 없습니다. 리소스 그룹을 이동합니다..."
pcs resource move {리소스그룹명} {노드명}
fi
;;
*)
# 잘못된 인자가 제공된 경우 사용법을 출력합니다.
echo "사용법: $0 {start|stop|status}"
exit 1
;;
esac
2. 생성한 스크립트의 실행권한 부여
$ chmod 700 /etc/init.d/db_check
3. DB 리소스 생성
$ pcs resource create db_check service:db_check op status interval=60s --group {리소스그룹명}
반응형
'서버 운영 > Pacemaker' 카테고리의 다른 글
리눅스 고가용성을 위한 Pacemaker, Corosync, pcsd (0) | 2024.04.09 |
---|---|
리눅스 Pacemaker 참고 명령어 (0) | 2024.04.09 |
리눅스 Pacemaker 리소스 생성 및 설정 (0) | 2024.04.09 |
리눅스 Pacemaker 설치 및 클러스터 구성하기(RHEL 8.X) (0) | 2024.03.19 |