목록 보기
2012년에 비트윈 서버를 마비시켰던 윤초 이야기
데브옵스

2012년에 비트윈 서버를 마비시켰던 윤초 이야기

타다
타다
2016년 12월 28일

두줄요약

2012년 윤초 삽입 시 리눅스 커널과 JVM의 상호작용으로 발생한 서비스 장애를 분석했습니다. chrony 기반 Leap Smear와 최신 시간 서비스로 윤초 영향을 줄이는 방법을 소개합니다.

문제 상황

  • 2012년 윤초 삽입 시점에 모든 JVM 인스턴스 CPU 사용률 100% 및 비트윈 전체 서비스 장애
  • 채팅 서버와 HBase 등 JVM 기반 구성요소의 요청 처리 불가

원인 분석

  • NTP 기반 윤초 보정 과정에서 리눅스 커널 타이머 코드의 라이브락 발생
  • 시간 조회를 수행하는 JVM의 스레드 파킹 코드와 커널 버그의 연쇄적 영향
  • Ubuntu 12.04 및 당시 JDK7의 미적용 패치 상태

해결 방법

  • 장애 당시 모든 JVM 인스턴스 재시작으로 서비스 복구
  • chrony 기반 시간 서버와 짧은 동기화 주기로 Leap Smear 적용
  • Ansible 프로비저닝 파일 수정 및 전체 서버 재배포로 시간 동기화 설정 반영

성능/운영 포인트

  • 최신 리눅스 커널 및 JDK 패치 적용 여부 점검
  • Google Public NTP, AWS Adjusted Time 등 Leap Smear 지원 시간 서비스 활용
  • 윤초 관련 공지와 운영 이슈의 사전 모니터링

다음 읽기

같은 회사의 연관 글

비트윈 시스템 아키텍처

비트윈의 HTTP·TCP 채팅 서비스와 커플 단위 샤딩 기반 아키텍처를 설명했습니다. 다계층 구조와 HBase 트랜잭션으로 확장성·장애 격리를 개선하는 방향을 제시했습니다.

타다
타다
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...