게임 렉 백서 › L5 데이터센터 네트워크 장비
네트워크 장비 장애 전환(페일오버) Network device failover
원인 ID dc-failover · 주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발, 게임개발팀·클라이언트 개발
그림과 실험이 있는 원본 카드로 열기 →
라우터·방화벽 한 대가 고장 나 예비 장비로 전환(페일오버)되는 몇 초 동안 모두가 멈춥니다.
왜 장비 고장 또는 점검으로 예비 장비로 전환 → 그러면 전환에 수 초, 세션 정보가 동기화되지 않으면 연결 초기화 → 화면에서는 서버의 모든 유저가 동시에 멈춤, 대량 접속 끊김
- 증상
- 멈춤, 접속 끊김
- 요인
- 손실
- 누가 겪나
- 서버 전체
- 언제
- 가끔 무작위로
- 담당
- 주 담당 인프라팀·네트워크 인프라 · 함께 게임개발팀·서버 개발, 게임개발팀·클라이언트 개발
- 게임개발팀 할 일
- 서버: 짧은 끊김(수 초)을 견디는 타임아웃, 끊겨도 재접속하면 세션 토큰으로 세션을 이어 받게. 클라이언트: 끊기면 자동 재접속(한꺼번에 몰리지 않게 재시도 간격을 무작위로 분산).
- 인프라팀 할 일
- 연결 상태를 공유하는 이중화, BFD로 고장을 1초 안에 감지, 전환 시험을 정기적으로.
- 수치 감각
- 장비가 고장을 바로 감지하면 1~3초 안팎. 빠른 고장 감지(BFD) 없이 BGP 기본 타이머에만 맡기면 인접 장비가 감지하기까지 90~180초 동안 경로가 끊길 수 있습니다.
- 그래프에서는
- 연결이 한꺼번에 끊김 · 접속 수, 서버 전체 송수신량
- 확인할 곳
- 라우터·방화벽의 이벤트 로그(VRRP 역할 변경, BFD·BGP 세션 다운, 장애 전환 기록)와 같은 시각의 서버 전체 접속 수·송수신량을 봄
- 이러면 맞음
- 장비 로그의 전환 시각에 그 장비 뒤 모든 서버의 트래픽이 몇 초간 0이 되거나 접속 수가 동시에 떨어짐
- 이러면 아님
- 한 서버의 접속만 떨어지면 “서버 크래시”나 “NIC 드라이버·펌웨어 문제”. 장비 로그가 깨끗하고 멈춘 서버가 클라우드 가상 머신 한 대면 “클라우드 호스트 점검·라이브 마이그레이션”
- 확인 수단
- 인프라 도구로 확인(게임 코드 불필요)
출처
- RFC 5880: Bidirectional Forwarding Detection (BFD) IETF
라우팅 프로토콜의 Hello 방식은 고장 감지에 1초 이상 걸려, 더 짧은 시간에 감지하려고 만든 BFD - RFC 7938: Use of BGP for Routing in Large-Scale Data Centers IETF
BGP keepalive에만 기대면 수렴이 느리고 링크 다운을 바로 받아 세션을 끊으면 ms 단위로 감지해 재수렴 - RFC 5798: Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6 IETF
VRRP 광고 기본 1초, 예비 장비는 광고가 약 3배 간격 넘게 끊기면 역할을 넘겨받음(기본 설정으로 3초 남짓)
함께 보면 좋은 원인
같은 층: L5 데이터센터 네트워크 장비
같은 증상(멈춤)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기