반응형
Keepalived란?
- 가상 IP를 기반으로 작동하며, 마스터 노드를 모니터링하다 해당 노드에 장애가 발생했을 시, Standby 서버로 페일오버되도록 지원하는 것입니다.
Keepalived 구축
- 구축하기에 앞서 2개의 데이터베이스를 준비해야 한다.(Master, Slave)
1. Master, Slave DB에 keepalived 설치
yum install -y keepalived
2. keepalived config파일 수정
vi /etc/keepalived/keepalived.conf
14번 라인 주석처리
18번 라인 밑으로 전부 삭제 후 아래 내용 입력
vrrp_script chk_mysql {
script "pidof mysqld"
interval 2 # every 2 seconds
weight 2
}
vrrp_instance VI_1 {
interface ens33 # ifconfig를 통해 ens number확인 후 변경
state MASTER
virtual_router_id 123 # Standby랑 맞춰줘야 하는 값
unicast_src_ip 192.168.100.20 # Active IP
unicast_peer {
192.168.100.30 # Standby IP
}
priority 102 # Standby보다 Active가 높아야 하는 값
track_script {
chk_mysql
}
virtual_ipaddress {
# ifconfig를 통해 ens number로 변경
# 192.168.100.xxx/24 dev ens[ens number]
# xxx 부분은 자유롭게 범주 내에서 세팅
192.168.100.100/24 dev ens33
}
}
- 18번 라인 밑으로 전부 삭제 후 아래 내용 입력 부분에서 현재 Master셋팅 기준으로 입력한 내용이다.
- 즉 Slave DB 셋팅을 진행할 땐, Active IP, Standby IP를 Master와 반대로 설정해야 한다.
- 설정 후 keepalived 재시작
systemctl restart keepalived
3. DB 서버 Failover 테스트
- workbench에서 접속 테스트
hostname : [keepalived에서 설정한 virtual_ipaddress]
username : [Master or Slave에서 생성한 계정]
- 접속 후 테스트 내용
show variables LIKE '%server_id%';
- Value값이 1 또는 2일텐데 해당 상태에서 Active된 서버를 끄고 수초 후 다시 접속해서 확인한다.
- 이렇게 접속된 서버를 껐을 때 Value값이 Standby서버로 자동으로 바뀌면 성공이다!
반응형
'Database' 카테고리의 다른 글
Window11 Oracle Database 설치 (2) | 2024.12.14 |
---|---|
Error Code: 2013. Lost connection to MySQL server during query (0) | 2024.12.01 |
Index란? (3) | 2024.11.15 |
mysql 외부접속 connection locked (Unblock with 'mysqladmin flush-hosts') (2) | 2024.10.02 |
데이터베이스 이중화(Database Replication) - Master/Slave (0) | 2024.05.17 |