일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Gears of War
- XBOX360
- .NET
- 고가용성
- 복제
- 닷넷
- AirComic
- mmbot
- 기어스 오브 워
- ASP.NET
- haproxy
- Keepalived
- TeamCity
- 레디스
- replication
- 커버구루
- c#
- 네아로
- redis
- DotNetOpenAuth
- Cover Guru
- NoSQL
- DSM6
- High Availability
- 센티넬
- iPod Touch
- 개발
- sentinel
- gitlab
- ipod
- Today
- Total
Once in a Lifetime
05. Redis - Keepalived 를 이용한 HaProxy 이중화 본문
HaProxy 를 이용하여 Master / Slave 의 포워딩을 구성하였으나, HaProxy 서버가 다운 되었을 경우를 대비해 HaProxy 를 이중화하고 이를 가상 IP 로 바인딩 시켜주기 위해 Keepalived 를 이용해 보겠습니다.
Keepalived 설치
yum -y install keepalived
PsMisc 설치
yum -y install psmisc
Non-LocalIP 커널 바인딩 허용
echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
sysctl -p
Keepalived 설정 (Master 측)
global_defs {
lvs_id haproxy_DH
}
vrrp_script check_haproxy {
script "killall -0 haproxy"
interval 2
}
vrrp_instance VI_01 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
virtual_ipaddress {
192.168.81.150
}
track_script {
check_haproxy
}
}
Keepalived 설정 (Backup 측)
global_defs {
lvs_id haproxy_DH_passive
}
vrrp_script check_haproxy {
script "killall -0 haproxy"
interval 2
}
vrrp_instance VI_01 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
virtual_ipaddress {
192.168.81.150
}
track_script {
check_haproxy
}
}
Keepalived 방화벽 추가
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p vrrp -i eth0 -j ACCEPT
firewall-cmd --direct --perm --add-rule ipv4 filter INPUT 0 -p vrrp -i eth0 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -p vrrp -o eth0 -j ACCEPT
firewall-cmd --direct --perm --add-rule ipv4 filter OUTPUT 0 -p eth0 -o ens160 -j ACCEPT
firewall-cmd --reload
Keepalived 로그 경로
cat /var/log/messages