VIP(Virtual IP)
VIP(Virtual IP)
VIP๋ ํ๋์ ํธ์คํธ์ ์ฌ๋ฌ๊ฐ์ IP ์ฃผ์๋ฅผ ํ ๋นํ๋ ๊ธฐ์ ์ด๋ค.
๋ด๋ถ์์๋ ํ๋์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ์ฌ๋ฌ ๊ฐ์ IP ์ฃผ์๋ฅผ ์ค ์ ์์ง๋ง, ๋ฐ๊นฅ์์๋ ๋ง์น ํ๋ ์ด์์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ณด์ผ ๊ฒ์ด๋ค.
VIP๋ ๋ณดํต HA๋ ๋ก๋๋ฐธ๋ฐ์ฑ์ ์ํด์ ๋๋ฆฌ ์ฌ์ฉ๋๋ค.
VIP ์ฌ์ฉ ์์
RDB ์๋น์ค๋ฅผ ์๋ก ๋ค์ด๋ณด์. ์ค์ ์๋น์ค์ ๊ฒฝ์ฐ์๋ ํ๋์ DB ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ผ๋ ์๋น์ค์๋ ๋ฌธ์ ๊ฐ ์์ด์ผ ํ๋ค. ๊ทธ๋์ ๋ณดํต์ ๋๋์ ํธ์คํธ๋ฅผ Active - Standby ํํ์ HA๋ฅผ ๊ตฌํํ๋ค.
์ด๋ VIP๋ ๋ ๊ฐ์ง ์ฅ์ ์ ๊ฐ์ง๋ค.
- ํด๋ผ์ด์ธํธ์๊ฒ HA๋ ๋ค์ ํธ์คํธ์ ๋ํด ๋์ผํ IP๋ฅผ ์ ๊ณตํ์ฌ ์ํํ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
- ์ค์ ์๋ฒ๊ฐ ๊ตฌ๋๋๊ณ ์๋ IP๋ฅผ ์ธ๋ถ์์ ์ฝ๊ฒ ์ ์ ์๋๋ก ํ ์ ์๋ค.
VIP ๊ตฌ์ฑ ์์๋ ์๋์ ๊ฐ๋ค.
- VIP : 192.168.100.50
- 1๋ฒ ์๋ฒ : 192.168.100.126 (Active)
- 2๋ฒ ์๋ฒ : 192.168.100.127 (Standby)
Active(Master) ์๋ฒ์์ VIP๊ฐ ํ์ฑํ ๋์ด์๋ค. Application์ ํด๋น VIP๋ฅผ ํตํ์ฌ Active ์๋ฒ์ ์๋น์ค๋ฅผ ์ ๊ณต๋ฐ์ ์ ์๋ค.
๋ง์ผ Active ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ฒจ Failover๊ฐ ์ด๋ฃจ์ด์ ธ 2๋ฒ ์๋ฒ๊ฐ Active ์ํ๊ฐ ๋๋ฉด, 1๋ฒ ์๋ฒ์ VIP๋ ๋ด๋ ค๊ฐ๊ณ , Active ์ํ๊ฐ ๋ 2๋ฒ ์๋ฒ์ VIP๊ฐ ํ์ฑํ ๋๋ค.
Application์์๋ ๊ฐ์ VIP์ธ 192.168.100.50์ ๋ฐ๋ผ๋ณด์ง๋ง ์ค์ ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฒ๋ 2๋ฒ ์๋ฒ๊ฐ ๋๋ ๊ฒ์ด๋ค.
ifconfig up, down
ifconfig ๋ช ๋ น์ด๋ฅผ ํตํ์ฌ VIP๋ฅผ ํ์ฑํ, ๋นํ์ฑํ ์ํฌ ์ ์๋ค.
๋ช ๋ น์ด๋ ์๋์ ๊ฐ๋ค.
$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.126 netmask 255.255.255.0 broadcast 192.168.100.255
...
$ ifconfig eno1:0 192.168.100.50 up
$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.126 netmask 255.255.255.0 broadcast 192.168.100.255
...
eno1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.50 netmask 255.255.255.0 broadcast 192.168.100.255
...
$ ifconfig eno1:0 192.168.100.50 down
$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.126 netmask 255.255.255.0 broadcast 192.168.100.255
...
์ ๋ช ๋ น์ด๋ฅผ ํตํ์ฌ ๊ฐ ์๋น์ค์ ์ํฉ์ ๋ง๋ shell script๋ฅผ ๊ฐ๋ฐํ์ฌ VIP๋ฅผ ์ด์ฉํ HA, ๋ก๋๋ฐธ๋ฐ์ฑ์ ํ ์ ์๋ค.
Leave a comment