Subject
과다한 I/O가 발생하는 상황에서 "30048:NIC의 상태를 파악 할 수 없습니다. 오류 번호: -55" 로그가 발생
APPLIES TO:
MCCS version: 3.3.2.r96731 (2012.02.29)
OS:windows 2003 Std + sp2 R2 , DK version : 7.4
APPs:
Disk Type: Shared or mirror,none
SYMPTOMS
1. KB 국민카드 건을 재현 해 보기 위하여 I/O를 일부러 과다 발생 시킴
그 과정에서 “Unable to write data to the Target."" 메시지가 딱 한번 발생.
=> I/O 발생 방법은 미러링 되는 D 볼륨에 파일을 재 복제 하는 방식으로 진행함.
2. 네트워크가 잠깐 끊기더니 대기 서버에서는 시스템 장애라고 인식 하고 아래와 같은 Log들을 뿌려줌
=> Failover 는 진행 되지 않고 서비스는 떨어짐
3. Socket creation error 에러와 NIC의 장애가 함께 나타남.
4. TEST 도중에 NTFS 오류도 발생됨
CAUSE
-
SOLUTION
변경 사항.
1. GetAdaptersAddresses() 수행 오류 방지 코드 삽입.
VIP 여러 개 올릴 때 GetAdaptersAddresses() 수행 시 사용자가 요구한 정보를 위한 저장 공간이 적게 얻어 올 수 있으므로 실패시 3회 반복하게 변경.
2.getNicStatus 에서 error 처리 세분화를 위한 함수 타입 변경
getIPAdapterAddressesList() -> getIPAdapterAddressesList(__int *result_val)
result_val 아규먼트는 를 위한 정보를 저장 하기 위한 변수로 추가.
Fix version : 3.5