윈도우 서버 2008 Failover Cluster에서 HeartBeat 네트워크 문제
2013/04/20 00:26
|
서버 2008
아래 테스트 결과를 보면 Service 네트워크가 실패한 경우에도 HeartBeat 네트워크가 살아있기 때문에 MS-SQL이 Failover 되지 않는 현상이 나타난다. 서비스 운영자 입장에서는 매우 어처구니 없는 상황이다.
1. 정상적인 상황
MS-SQL은 SQL01 노드에서 서비스 되는 중이다.
2. 네트워크 구성은 아래와 같음
MGMT - 서비스 네트워크
Storage - iSCSI 스토리지 네트워크
HeartBeat - MS에서 권장하는 독립된 네트워크
3. 서비스 네트워크 실패
SQL01 노드에서 서비스 네트워크를 비활성화 시켰다.
물리적 스위치 장애, 케이블 단선, 랜카드 불량, IP 충돌 등의 상황을 가정하여 이렇게 하였다.
4. MS-SQL 장애
서비스 네트워크 단절로 MS-SQL의 Virtual IP가 실패하였으나, MS-SQL이 SQL02 노드로 Failover 되지 않고 그냥 실패된 상태로 계속 남아있는 상황이다. 계속 기다려 봐도 이 상태는 변하지 않는다.
5. HeartBeat 네트워크가 범인?
HeartBeat 네트워크가 살아있기 때문에 클러스터 입장에서는 SQL01 노드가 살아있다고 판단하여 MS-SQL이 Failover 되지 않는 것으로 추정된다. Cluster Network, Shared Disk, Service 중 하나라도 실패하면 자동으로 Failover 되어야 한다고 생각하는데, MS는 나랑 생각이 다른 듯?
6. HeartBeat 네트워크를 죽였더니
범인으로 추정되는 SQL01 노드의 HeartBeat 네트워크를 죽였더니
7. MS-SQL Failover 완료
드디어 SQL01 노드가 죽었다고 판단하여 SQL02 노드로 MS-SQL이 Failover 되었다.
8. 결론
윈도우 서버 2008에서 Failover Cluster 구성시 HeartBeat 네트워크는 구성하지 말자. 아니 정확히 표현하자면 클러스터 네트워크에서 클러스터 통신 네트워크(외부,내부)가 2개 이상 존재하면 위와 같은 문제가 발생한다. 실질적으로 서비스하는 Virtual IP를 가지고 있는 클러스터 네트워크가 죽더라도, 클러스터 내부 네트워크로 통신이 되면 Failover가 일어나지 않는다. 이는 심각한 결함이라 생각한다.
2013/04/20 01:02
오랜만에 포스팅이십니다~ㄷㄷ
2013/04/21 12:59
흠 혹시나 해봤는데 전 잘되든데요...
MSSQL 과 MySQL 자동으로 넘어가더랍니다.
R2 버젼이 아닌 2008 버젼에서만 이런 현상이 생기는건가요?
만약 앞단의 스위치가 장애가 났으면 넘어가지 않을수 있습니다. 다른노드에서도 받아줄 준비가 안되면 바로 서비스 오프라인 형태로 남을거 같아요.
HB 구성은 해야만 서로간의 체크가 가능합니다. HB 구성안해도 잘되긴 합니다만 노드 넘어갈때 오래 걸리드라구요.
2013/04/23 11:17
위 테스트를 R2 버전에서 진행했습니다.
그리고 실제 시스템에서 벌써 Failover 실패한 사례가 10세트 이상 발견되었습니다.
MS에서 정확히 검증해봐야 할 부분이라 생각되네요.
2013/04/23 16:20
지정된 기간 내 최대 실패 수를 늘이니까 Failover 잘 되네요 ;; 위 테스트는 2노드 기본값 1 상태에서 최초 1회만 Failover 성공하고 그 이후로 계속 실패했던 부분으로 보입니다.
2013/04/23 22:01
안녕하세요! 항상 많은 정보 얻고 있습니다 ㅎㅎ
근데 블로그를 5년동안 이렇게 꾸준히 운영하기는 힘드실텐데, 고생이 많으시네요!
감사합니다~
2013/04/24 16:40
윗분말씀처럼 직장생활하시고 하면 아무래도 많이 바쁘실텐데..늘 고생이 많으시네요
감사합니다
2013/04/25 09:40
흠 현재는 MSCS를 안써서 확실하지는 않지만 예전에 테스트할때는 모두 이상잆이 FailOver되던 것으로 기억이되는데.. 이상하네요. 위 상황에서 SQL server 서비스를 내려도 FailOver되고 모두 잘 됬었거든요.
결론적으로 AD 서버도 필요해서 결국 다른것으로 대체하였지만..
만약 저게 진짜로 heartBeat만 체크해서 FailOver가 되지 않는다면 엄청난 이슈네요.
FailOver 상황을 정의하는 Config가 있을 것 같은데.. 한번 재구성 해봐야겠네요.
2013/05/07 17:25
다시 테스트 해보니 정상적으로 Failover 되었습니다. ^^;;
2013/04/25 22:48
안녕하세요.
이 글과는 관련이 없지만 질문이 하나있습니다.
윈도우7 설치과정중에 계정설정화면에서 자동으로 특정 배치파일이 실행할수 있도록 설정 하려면 어떻게 해야하는지 궁금하네요.
배치파일은 최상위루트에 들어가있습니다.
배치파일은 자동으로 어드민활성화시켜주고 smoobe를 끝내는 명령이 들어가있습니다.
매번 좋은정보 감사하게 보고갑니다. ^^
2013/05/06 20:58
요즘에 VHD 관련 포스팅이 적어진 것 같아 조금 아쉬워서 지나가다 적는데요. 정보 참 고맙게 보고 있습니다. 윈도우8이 나왔는데 윈도우8 VHDX 관련 부팅도 좀 소개해 주시면 좋을 것 같습니다.