VRRP๊ฐ ๊ถ๊ธํด์ง ๊ณ๊ธฐ๋ ์๋์ ๊ฐ์ต๋๋ค.
MySQL MMM ๊ตฌ์ฑ์ ๊ณต๋ถํ๋ฉด์ MMM VIP์ ๋ํด ์๊ฒ ๋์๋๋ฐ์.
MMM VIP๋,
MySQL MMM ๊ตฌ์ฑ์์ ์ ๋์ ์ผ๋ก writer ๋ฐ ๋ง์คํฐ ์ญํ ์ ๋ณ๊ฒฝํ ์ ์๋๋ก writer์ ๊ตฌ์ฑํ๋ Virtual IP์ ๋๋ค.
์ฆ, MMM์์ ๋กค ์ฒด์ธ์ง๋ฅผ ํ ๋ ์ด๋ํ๊ฒ ๋๋ VIP์ธ๋ฐ์.
๐ค ๊ทธ๋ ๋ค๋ฉด VIP๋ ์ด๋ป๊ฒ ์ํฉ์ ํ๋จํ๊ณ ์ด๋ํ๋ ๊ฑธ๊น? ๋ผ๋ ๊ถ๊ธ์ฆ์ด ์๊ฒจ ์ฐพ์๋ณด๋
VIP๋ฅผ ๋๊ฐ ์์ ํ๋์ง ํ๋ณํ๊ธฐ ์ํด์ VRRP๋ผ๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์ด ์ ๋ฆฌํด๋ณด๊ณ ์ ํฉ๋๋ค.
๋คํธ์ํฌ ์ด์คํ ์์ ์ ํ๋ ์ด์ ๋ ํฌ๊ฒ ๋ ๊ฐ์ง์ ๋๋ค.
1. Load balancing: ๋๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ์ฅ๋น๋ฅผ ์ฌ๋ฌ ๊ฐ ๊ตฌ์ฑํ์ฌ ๋คํธ์ํฌ ๋ถํ๋ฅผ ๋ถ์ฐ
2. Failover: ํ๋์ ์ฅ๋น๊ฐ ์ฃฝ์์ ๋ ๋ค๋ฅธ ์ฅ๋น๋ก ์ ํ๋์ด ์๋น์ค ๋จ์ ์ต์ํ
VRRP๋ ์ฃผ๋ก Failover๋ฅผ ๋ชฉ์ ์ผ๋ก Master/Slave ์ฅ๋น ๊ฐ ์ ํ์ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋ผ VRRP๋ ์ด๋ค ํ๋กํ ์ฝ์ด๊ณ ์ด๋ป๊ฒ ๋์ํ ๊น์?
VRRP(Virtual Router Redundancy Protocol)
- ๊ฐ์ ๋ผ์ฐํฐ ๋ค์คํ ํ๋กํ ์ฝ, ๊ฐ์ ๋ผ์ฐํฐ ์ฅ์ ๋ณต๊ตฌ ํ๋กํ ์ฝ
- ๊ฒ์ดํธ์จ์ด ์ด์คํ ํ๋กํ ์ฝ(FHRP, First Hop Redundancy Protocol) ์ค ํ๋๋ก ๊ฒ์ดํธ์จ์ด ์ฅ์ ๋ณต๊ตฌ๋ฅผ ์ํ ํ๋กํ ์ฝ
- FHRP์๋ VRRP, HSRP(Cisco), GLBP ๋ฑ์ด ์์ผ๋ฉฐ VRRP์ HSRP๋ ๋์๋ฐฉ์์ด ๊ฑฐ์ ์ ์ฌ
Master ์ ์ถ ๊ธฐ์ค
์ด์คํ์ ์ฌ์ฉ๋๋ ๊ฒ์ดํธ์จ์ด ์ญํ ์ ํ๋ ๋๊ฐ์ ์ฅ๋น๋ Master/Slave ์ฅ๋น๋ก ๋์ํฉ๋๋ค.
Master์ Slave๋ ํ๋์ VIP(Virtual IP)๋ก ๋ฌถ์ฌ์์ผ๋ฉฐ, ๊ฐ๊ฐ RIP(Real IP)๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
VIP๋ฅผ ๋๊ฐ ์์ ํ๊ณ ์๋๋์ ๋ฐ๋ผ Master(O)/Slave(X)๋ฅผ ๊ตฌ๋ถํ ์ ์์ผ๋ฉฐ
Master์ ์ ์ถ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- VIP์ RIP๊ฐ ๊ฐ์ ์ฅ๋น
- VRRP Priority(์ฐ์ ์์) ๊ฐ์ด ํฐ ์ฅ๋น(default: 100)
- RIP์ ์ฃผ์๊ฐ ํฐ ์ฅ๋น
Master๊ฐ ์ด์์๋์ง ์ด๋ป๊ฒ ์๊น?
Master ์ฅ๋น๊ฐ ์ด์์๋์ง ์ฃฝ์๋์ง VRRP์์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ํฌ์ค ์ฒดํฌ์ ๊ฐ์ด ๋ฐ๋ณต์ ์ผ๋ก ํจํท์ ๋ณด๋ด๋ ๊ฒ์ ๋๋ค.
- Master ์ฅ๋น๋ VRRP Advertisement Packet์ ๊ฐ์ ๊ทธ๋ฃน์ ๋ฐ๋ณต์ ์ผ๋ก ์ ์ก(advertisement-interval ์ฃผ๊ธฐ ๋ณดํต 2์ด)
- VRRP๋ Singel Virtual Router ๋ฐฉ์์ผ๋ก ๋ฌผ๋ฆฌ ์ธํฐํ์ด์ค์ ์ค์ ํ๊ฒ ๋์ด ๊ฐ์ ๊ทธ๋ฃน์ ํ๋๋ง ๋ง๋ค ์ ์๋ค. (VLAN ์ค์ ์ ์ฌ๋ฌ ๊ฐ์ ๊ทธ๋ฃน ์์ฑ ๊ฐ๋ฅ -> ๋ ์์๋ณผ ๋ด์ฉ)
- ๊ฐ์ ๊ทธ๋ฃน์ ์ํ Slave ์ฅ๋น๋ ํด๋น ํจํท์ ๋ฐ๋ ์ค์๋ Master ์ฅ๋น๊ฐ ์ด์์๋ค๊ณ ํ๋จ(Standby ์ํ๋ฅผ ์ ์ง)
- ํจํท์ด ์์ ๋์ง ์์ผ๋ฉด ์ผ์ ์๊ฐ(Master Down Timer = Dead Timer) ํ์ Master๊ฐ ์ฃฝ์๋ค๊ณ ํ๋จ
- Slave์์๋ ์์ ์ด Master๊ฐ ๋์์์ ์๋ฆฌ๊ธฐ ์ํด VRRP Advertisement Packet๊ณผ GARP Packet์ ์ ์ก
- GARP๋ ์์ ์ IP์๊ฒ ARP ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ๋์ผ ์๋ธ๋ท ์์ ์กด์ฌํ๋ ํธ์คํธ/๋ผ์ฐํฐ์ ARP table์ ๊ฐฑ์ ํ ์ ์์
GARP๋ฅผ ์์ ํ ๋ ธ๋๋ค์ GARP๋ฅผ ์ก์ ํ IP์ MAC ์ฃผ์๋ฅผ ํ ์ด๋ธ์ ์ ์ฅํ๊ฒ ๋จ
์ฌ๊ธฐ์๋ Slave์ ์ฐ๊ฒฐ๋ ์ค์์น๋ ๋ผ์ฐํฐ๋ก GARP ํจํท์ ํตํด ARP table๋ฅผ ๊ฐฑ์ ํ์ฌ Slave ์ฅ๋น๊ฐ VIP๋ฅผ ์์ ํ๊ฒ ๋์์์ ์๋ฆด ์ ์์
- GARP๋ ์์ ์ IP์๊ฒ ARP ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ๋์ผ ์๋ธ๋ท ์์ ์กด์ฌํ๋ ํธ์คํธ/๋ผ์ฐํฐ์ ARP table์ ๊ฐฑ์ ํ ์ ์์
์ ๋ฆฌ
- ์ฌ๋ฌ ๋(์ต์ 2๋ ์ด์)์ Router๋ฅผ ํ๋์ group์ผ๋ก ๋ฌถ์ด์, Client๊ฐ ๋ฐ๋ผ๋ณด๋ Gateway์ ๋ํ IP Address๋ฅผ ๊ณต์ ํ๋ ๊ฒ
- Priority๊ฐ ๋์ Router๊ฐ ๋์ํ๋ค๊ฐ Router์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ ๋ค์ Priority๋ฅผ ๊ฐ์ง Router๊ฐ Active role๋ฅผ ๊ฐ์ง๊ณ Gateway IP Address๋ฅผ ๋๊ฒจ ๋ฐ์ ๋์
- Client ์ ์ฅ์์๋ Router์ ์ฅ์ ์ ๊ด๊ณ ์์ด Gateway์ IP Address๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ Data๋ฅผ ์ ๋ฌ
์ฐธ๊ณ ์ฌ์ดํธ