[MIP-245] OfflineTimeout 설정값에 따라 그룹 Offline의 결과가 달라지는 문제
Subject
[Linux] OfflineTimeout 설정값에 따라 그룹 Offline의 결과가 달라지는 문제
APPLIES TO:
◾RHEL5.8 x86 Eng
◾MCCS 3.5.2 정식 버전
SYMPTOMS
MCCSKEY-2273: 그룹오프라인 시, 전체 종료 안되는 현상] 이슈를 확인하고자
서비스리소스타입의 속성값인 OfflineTimeout의 적용 유무를 TEST하다 나온 버그입니다.
구성은 네트워크카드(eth0)/VIP(10.30.55.18)/공유디스크(ext3)/복합응용(crond)/서비스 리소스(httpd)으로 되어있습니다.
OfflineTimeout의 default값인 300초를 4초,5초,6초,7초로 바꾸어 그룹 오프라인을 TEST해보았습니다. (나머지 속성값들은 모두 default값입니다.)
4,5,6초 일때는 crond가 오프라인 된 후 httpd가 오프라인 하지 못하면서 반대쪽 노드로 failover가 일어났고
7초로 설정했을 때는 crond와 httpd가 오프라인 되고 나서, 나머지 리소스들(공유디스크,VIP)은 종료 명령이 적용되지 않아 온라인 상태로 남았습니다.
설정값에 따라 그룹오프라인의 명령이 ①적용되는 경우②중간에 명령이 사라지는 경우③failover 일어나는 경우로
이렇게 다양하게 나타나면 안된다고 생각합니다.
최소값과 최대값을 설정하거나 경고창으로 설정값을 다시 정하라고 해야 할 꺼같습니다.
CAUSE
1.서비스 리소스가 포함된 그룹을 offline할 경우 , ""service service_name stop""이 실행되는데, 이때 타임아웃이 발생하여 java의 runtime프로세스를 강제 종료하면 서비스 중지 명령이 데몬화 되면서 백그라운드로 실행됨. 동시에 에이전트 상태는 goingoffline에서 online으로 변경된다.
그 결과, online 상태일 때 데몬화된 서비스 종료 스크립트에 의해 서비스가 종료될 경우 fault로 인식 후 페일오버하며, 오프라인을 재시도할 때 종료되면 정상오프라인으로 인식한다.
2.다른 에이전트의 스크립트들은 데몬화 되지 않는다.
3.flush 명령이 그룹을 통해 다시 에이전트의 큐에 올때까지 상황에따라 한두번 이상의 offline명령이 실행됨.
SOLUTION
Fix Version/s:
3.6.1
◾10084, 10093 로그는 삭제합시다.
안1- offlinetimeout으로 스크립트 종료시 서비스 명령도 같이 종료되도록 .
안2- 사용자가 offlinetimeout 값 조정 해서 해결
안3- service 중지 명령을 offlineService.sh스크립트를 통하지 않고 직접 실행.
결론
안2- 사용자가 offlinetimeout 값 조정 해서 해결
plus
수정되어도 offlinetimeout의 수치에 따라서 진행되는 서비스 종료 프로세스가 어느 시점에서 kill하는지 보장할수 없으므로 offlinetimeout의 수치에 따라 다른 진행과정을 가질수 있다.