[MIP-552] 양서버 부팅 후 ntfs 오류 발생 및 main.json 파일 초기화 원인 분석
Subject
양서버 부팅 후 ntfs 오류 발생 및 main.json 파일 초기화 원인 분석
APPLIES TO:
MCCS version: 3.5.2
OS: Windows 2008 R2
APPs: None
Disk Type: Shared
SYMPTOMS
첫번재 이슈: NTFS 로 인한 MSSQL DATABASE BROKEN
- 3월 4일 오전 8시 20분경 양 서버 리부팅 및 MCCS AutoStart 동작
- mssql 실행시 점에서 ntfs 오류 발생
두번째 이슈: MAIN.JSON 파일 초기화
- 1번 노드 windows update 과정에서 모든 NetworkCard driver Automatic update
- 양 서버의 mccs agent restart 되면서 main.json 파일 초기화 됨.
CAUSE
- NTFS 원인
1. 양 서버의 mccs agent 서비스는 시작되어 동작하고, 그룹은 BF3-DBSVR01 서버에서 Online 되어 동작 중
2. 2월 28일 BF3-DBSVR02 서버의 public ip 변경
3. BF3-DBSVR02서버의 windows update 하면서 Networkcard 드라이버 update
4. MCCS Agent 가 restart 되면서 BF3-DBSVR01 서버를 시스템 장애라고 감지하고, BF3-DBSVR02 서버에서 그룹 시작 및 완료
5. 이때, Shared_E 가 Online 되고, MSSQLSERVER 서비스가 시작되면서 FileSystem 에 손상을 입은것으로 추정됨. (담당자는 3/4일에 부팅하면서 ntfs 오류가 발생했기때문에, 리부팅이 원인이라고 생각 할수도 있었음)
- MAIN.JSON 파일 사라진 시점의 MCCS 동작 요약
1. 양 mccs agent 서비스 정상 동작 상태
2. BF3-DBSVR01 서버의 public ip 변경
3. windows update 로 BF3-DBSVR01 서버의 Heartbeat Networkcard 가 단절
4. 양 서버의 MCCS Agent서비스가 restart (50015:장애 상태였던 원격 노드가 정상 상태로 재연결 되어 엔진을 종료합니다.)
5. BF3-DBSVR01 서버에서 BF3-DBSVR02 서버의 원격노드상태가 [원격 노드 탐색중 -> 원격구성] 까지 진행되고 ""50112:노드 구성 중에 노드문제가 발생하여 엔진을 종료합니다""
6. BF3-DBSVR02 서버에서는 ""13/03/04-09:19:54,326 | main | ngine.MccsStart: 530 | INFO | 20002:원격구성 완료 대기중..."" 까지 동작하다가 ""13/03/04-09:20:03,047 | inkMonitor | e.hb.SysMonitor: 403 | WARN | 30078:BF3-DBSVR01 노드와의 핫빗 상태 변 경 (UNSTABLE->FAULTED)"" 인식
=> Heartbeat NetworkCard 가 BF3-DBSVR01서버의 windows update 때문에 드라이버가 변경되면서 이렇게 인식 한 것으로 판단됨.
=> BF3-DBSVR02 서버의 event log
"2013-03-04,오전 9:19:58,10971,System,,32,e1qexpress,1610874912,,<Information>,Intel(R) 82576NS Gigabit Network Connection #7n 1Gbps 전이중으로 네트워크 링크가 설정되었습니다.,,,"
7. BF3-DBSVR01 서버에서 위의 5번 때문에 MCCS Agent restart 되면서 main.json 파일이 초기화 된것으로 파악됨."
SOLUTION
이 이슈의 경우는, 대기서버의 시스템 네트워크 주소를 변경한 후 윈도우즈 업데이트하면서 네트워크 티밍 해제, 드라이버 업데이트, 다시 티밍 구성, 네트워크 설정등의 과정을 거치는 동안 다음의 과정이 일어났다.
- 원격노드 장애 인식
- 비정상 핫빗 연결로 에이전트 재시작
- 보조 핫빗 전송은 시작했지만 수신은 하지 못함
- 원격 노드 정상 상태로 인식하여 원격빌드
- 원격 빌드 중 주 핫빗의 리시버 중단
- 원격 빌드 완료
- 리소스 모니터링 완료
- 보조 핫빗이 UNKNOWN에서 FAULTED, 주 핫빗은 LINKED에서 FAULTED로 변경
- 원격 노드 장애로 그룹 온라인 시도
- 네트워크 드라이버 업데이트 완료
- SQL 시작 완료
시스템 운영 중 윈도우 업데이트를 진행하면 안됨