Keepalived 설치 및 설정 하기
지난 글에서 Active-Active 구현 및 HAProxy를 사용한 로드 밸런싱까지 실습을 해봤다.
이번 글에서는 Active-Standby 구현을 위한 Keepalived 설치 및 실습을 해보겠다.
실습을 위해 앞 글에서 사용했던 1, 2번 리눅스 컴퓨터를 사용할 예정이다.
먼저 Active
역할을 수행할 컴퓨터를 설정하겠다. ( 나는 1번 컴퓨터로 정했다. )
(1) keepalived 를 설치한다 : yum install -y keepalived
(2) keepalived 설정 파일을 아래와 같이 수정한다
명령어 : vi /etc/keepalived/keepalived.conf
# 사용
18번째 줄에서 dG 사용
vrrp_script chk_mysql { script "pidof mysqld" interval 2 weight 2 } vrrp_instance VI_1 { interface ens160 state Active virtual_router_id 123 # Standby랑 맞춰줘야 하는 값(임의지정, 범위는 255까지) unicast_src_ip 77.77.77.121 # Active 컴퓨터의 IP 주소 unicast_peer { 77.77.77.122 # Standby 컴퓨터의 IP 주소 } priority 103 # Active 컴퓨터가 Standby 보다 높아야 하는 값(임의 지정) track_script { chk_mysql } virtual_ipaddress { 77.77.77.110/24 dev ens160 # 가상의 네트워크 주소 임의 지정 } }
(3) keepalived 설정 파일을 수정했으므로 재시작한다 : systemctl restart keepalived
(4) keepalived 가 정상적으로 동작 중인지 확인한다 : systemctl status keepalived
(5) IP를 확인해본다 : ip addr
다음으로 Standby
역할을 수행할 컴퓨터를 설정하겠다. ( 나는 2번 컴퓨터로 정했다. )
설정하는 방법은 위에서 한 것과 동일하다.
(1) keepalived 를 설치한다 : yum install -y keepalived
(2) keepalived 설정 파일을 아래와 같이 수정한다
명령어 : vi /etc/keepalived/keepalived.conf
# 사용
18번째 줄에서 dG 사용
vrrp_script chk_mysql { script "pidof mysqld" interval 2 weight 2 } vrrp_instance VI_1 { interface ens160 state Active virtual_router_id 123 # Standby랑 맞춰줘야 하는 값(임의지정, 범위는 255까지) unicast_src_ip 77.77.77.122 # Standby 컴퓨터의 IP 주소 unicast_peer { 77.77.77.121 # Active 컴퓨터의 IP 주소 } priority 102 # Active 컴퓨터가 Standby 보다 높아야 하는 값(임의 지정) track_script { chk_mysql } virtual_ipaddress { 77.77.77.110/24 dev ens160 # 앞에서 지정해준 가상의 네트워크 주소 } }
(3) keepalived 설정 파일을 수정했으므로 재시작한다 : systemctl restart keepalived
(4) keepalived 가 정상적으로 동작 중인지 확인한다 : systemctl status keepalived
"Active-Standby" 가 정상적으로 동작하는지 테스트하기
ip addr
입력 후 ip를 확인한 뒤 mysqld를 정지한다.systemctl restart NetworkManager
입력 후ip addr
를 입력하여 가상의 네트워크 주소가 출력되는지 아래와 같이 확인한다.
hostname : 77.77.77.110
# 지정한 가상 네트워크 주소username : test
# 지난 글에서 생성해줬던 사용자(아무 사용자나 생성해서 해도 됨) (1) Active 컴퓨터에서 서버가 동작중일때 접속하여 server-id
확인server-id
확인
server-id = 1
이었으나,server-id = 2
로 변경된 것을 볼 수 있다.오늘의 느낀점 👀
yum
명령어를 사용하니 아래와 같은 오류가 떴다.❗Errors during downloading metadata for repository 'appstream';
vi /etc/yum.repos.d/CentOS-Stream-AppStream.repo
입력 후