본문 바로가기

IT Professional/Microsoft SQL Server

Domain controller 취약점 장애로 인한 SQL 2005 의 설치 오류

SQL 2005 서버의 설치시 오류 대응 방법

비단 SQL 2005 뿐만이 아니라 고가용성 서버의 경우 설치는 운영 체제 차원에서부터 숙련된 엔지니어의 설치 작업을 필요로 한다. 특히 신규 구축이 아니라 기존 구축된 환경에 대한 변경 작업을 수행할 때에는 다양한 기존의 환경을 고려하여야 하므로 숙련된 엔지니어라도 해당 환경을 정확하게 고려하여 deploy 한다는 것은 만만한 일이 아니다.

     

특히 기존의 active directory 를 사용하여 MSCS 상의 SQL 을 구축하는 경우 알 수 없는 형태의 오류를 만나는 경우가 종종 있는데, 특히 보안 그룹을 설정하는 동안 만나게 되는 오류는 원인을 추적하기가 매우 모호하고 그 이유 역시도 특이하므로 그에 대한 해결책을 가이드 하고자 한다.

특히 이 경우에는 설치 실패 이후에도 role back 이 불가능하므로 최종적으로 정상적인 role back 을 위해서는 시스템 백업을 통한 복원을 사용하여야 한다.

     

SQL 2005 설치 중에 특정 node 의 보안 그룹을 만드는 중에 실패하면서 role back 이 되거나 또는 role back 중에 installer 가 hang-up 으로 빠지는 상황을 경험하게 된다. 대부분의 경우 설치에 실패하면 다시 한번 더 시도하게 되는데, 특별한 조치 없이 시도하게 되면 대부분의 경우 똑 같은 오류를 다시 경험하게 된다. 뿐만 아니라 이전 설치 실패에서 남은 장애 및 오류 상황과 엮여서 속칭 '꼬여 ' 버리는 문제가 발생하게 된다.

설치 오류에 대한 가이드를 보면서 설치 오류 로그를 분석해 보면 아래와 같은 오류가 있는 경우를 볼 수 있다.

     

'RPC 서버를 찾을 수 없습니다.'

     

여기서 말하는 RPC 서버란 기존의 다른 노드와의 연동을 의미하는 것이 아니라 domain controller 를 의미하는 것이다.

앞서 기존 환경에서의 MSCS 구축이 힘들다고 말한 것은 신규 구축의 경우 특별한 문제가 없는 경우 패치와 보안 업데이트를 최신으로 하고 진행하는 경우가 대부분이다. 하지만, 인프라 특히 SQL 클러스터를 위한 Active directory 의 경우 내부에서 운영하며, client 의 접근을 철저하게 제한하는 것이 일반적인지라, 보안 업데이트에 허술한 경우가 많다. 특히 보안 업데이트에 허술한 경우 아예 서버가 지속적으로 재시작 된다거나, 시스템이 매우 불안정하면 오히려 문제를 파악하고 해결하기 위한 시도를 할 수 있으나, 일부 보안 취약점의 경우 서버의 다른 기능을 살려 둔 채로 server service 만 공격하여 죽이는 경우가 있다.

이렇게 되면, 서버는 살아 있으나 서비스는 없는 경우가 발행한다.

문제는, Domain member 의 경우 해당 서버에서 인증 정보를 전달 받기 위해서 정상 비정상을 판단하는 기준이 service level 이 아니라는 점이다. 따라서 server service 가 이상이 있는 서버라도 한번 해당 서버를 바라보게 되면 지속적으로 해당 서버에 인증을 요구하게 되므로 설치에 장애를 발생하게 된다.

   

이때는 차라리 해당 Domain controller 가 꺼져 있거나 또는 시스템에 패치를 하게되면 해결된다.