Hyper-V 의 가상 서버의 Active Directory 서버 간에 발생한 발생한 문제에 대한 내용입니다.    


오류 문제

예전 Team Foundation Server 2008 을 VMWare Server 를 이용하여 3-Virtual Machine 으로 구성했던 적이 있습니다.

  • Server 1 - Active Directory Server
  • Server 2 - MSSQL 2008 Server
  • Server 3 - Team Foundation Server 2008 and Sharepoint and Web Server    

최근에 이와 같은 환경으로 Team Foundation Server 2010 Beta 2 를 구성하였고, 도메인으로 구성된 서버간에 MSSQL 2008 설치 시에 인증과 관련된 문제가 발생하였습니다. MSSQL 2008 이 설치가 되지 않는 시점에서 Team Foundation Server 설치는 꿈도 꾸지 못할 문제이기도 합니다.    

아래는 오류가 발생하여 여러 가지 방법으로 문제를 해결하기 위해 테스트를 진행했었습니다.

Hyper-V 1 (AD) : Windows Server 2003 64비트, Active Directory, DNS (정방향, 역방향)

Hyper-V 2 (SQL2008): Windows Server 2003 64비트, SQL 2008 (SqlServer 계정 도메인 로그인->SQL 설치)

           Error 1 : 사용자 식별자 매핑 오류 – 계정에 CER 인증서를 매핑하여 오류 안남

           Error 2 : 아래의 스크린 샷

                     Test 1 : SqlServer 계정 + 로컬 Administrator 계정으로도 설치 실패

                     Test 2 : AD 서버 설치시 Windows 2008, 2003, 2000 호환 모드로 환경에서 각각 SQL 2008 설치 실패

                     Test 3 : 로컬 Administrator 계정으로도 설치 실패

                     Test 4 : SqlServer 도메인 계정으로 설치 실패

 

이와 관련된 문제를 해결하기 위해 많이 노력하였으나, 결국 몇 달 동안 해결하지 못한 채 단일 서버로 구성하여 쓰고 있다가 최근에 VPC 와 Hyper-V 용으로 단일 서버로 설치된 버전이 나와서 이것으로 사용하고 있었습니다.

하지만, 이런 미스터리를 해결하지 못한 나를 원망하면서 머리만 쥐어짜고 있는 와중에 중요한 단서를 하나 얻게 되었습니다. 바로 Active Directory 로 묶인 서버간에 PING 이 정상적으로 되지 않고 오류가 발생했던 것입니다. 이 문제는 정말 다행인지 중요한 단서가 되었고 결국에는 문제를 해결할 수 있었습니다.

즉, Active Directory 로 묶인 Hyper-V 간의 가상 서버 간에 PING 을 날리면 아래와 같은 오류가 발생했습니다. 가상 서버의 IP 로 PING 을 날리면 정상이지만, NetBios 이름으로 PING 을 날릴 경우에만 발생한다는 것입니다.

IP 드라이버를 찾을 수 없습니다. - 에러 코드 5

저는 시스템이나 서버를 전문적으로 관리해 본 적이 없기 때문에, 머리를 쥐어짜면서 해결을 하기 위해 몸부림을 쳤던 것이지요.

   

오류의 원인

문제는 바로 Hyper-V 의 가상 서버간의 도메인 계정의 SID 가 원인인 것으로 밝혀졌습니다. 예전에 필자는 TFS 백업을 신규 도메인에서 복원하기 에서 설명했듯이 도메인 계정은 내부적으로 SID 와 매핑이 되어 있다는 것입니다. 쉽게 얘기하면, SID 는 도메인간에 같은 이름이나 계정이라도 "그때 그때 달라요" 라는 것이죠.

이런 문제를 재연하는 방법은 아래와 같이 하시면 됩니다. (굳이 Hyper-V 가 아니더라도)  

  • Hyper-V (또는 기타 가상화 머신) 에서 Windows Server 200x 설치한다.
  • 설치된 Windows .VHD 파일을 복사한다.
  • 최초 설치된 윈도우에 Active Directory 설치한다
  • 복사한 .VHD 서버는 Active Directory 도메인 가입한다.
  • PING 날리면 "IP 드라이버를 찾을 없습니다 - 에러 코드 5" 에러가 나온다.

참 쉽죠?? 윈도우의 SID 에 대해서는 제가 자세히 설명하기 힘드므로, 아래의 블로그를 참고 하시면 됩니다.

Windows 서버에서의 SID 란 무엇인가?

즉, 에러의 원인을 유추해보면

첫 번째, Active Directory 의 도메인 계정은 가상 서버간에 SID 를 제대로 식별할 수 없으므로 오류가 난다거나
두 번째, 윈도우 내부적으로 고유의 SID 를 갖고 설치가 된다거나
세 번째, 첫 번째와 두 번째 원인이 복합적이거나…


오류 해결 방법

오류의 해결 방법은 의외로 간단했습니다. 그렇게 발버둥 칠 때는 검색을 해봐도 해결 방법을 찾을 수 없었지만, 뭔가 느낌이 온 이후에는 한방에 검색하니 해결 방법이 검색되더군요..

Ping gives - Unable to contact IP driver - Error Code 5

즉, 윈도우의 SID 를 초기화하고 재할당하기 위해서 "sysprep" 도구를 이용하는 방법입니다. 아래와 같이 반드시 "일반화(Generate)" 를 체크하셔야 합니다.

   

 

이런 해결 방법으로 유추해보면 아마도 위의 두 번째 방법인, 윈도우 내부적으로 SID 를 갖고 있는 것이 아닐까라는 생각이 듭니다. 아마도 가장 유력한 것이 Microsoft 에서 윈도우 라이선스 인증을 위한 데이터베이스에서 라이선스 정책을 따르기 위해 고유 윈도우 SID 를 생성하는 것이라는 생각이 듭니다.    

VHD 이미지로 윈도우 설치의 귀차니즘을 때우기 위한 꽁수가 Active Directory 에서의 큰 문제로 발생하니 무척 허무하기도 합니다. 하지만 이렇게 지식을 쌓아가도 어차피 언젠가는 한줌의 재가 될 미래를 생각하니, 판도라 행성에서 다시 태어나길 바라며 ^_^ (영화 아바타 증후군을 앓고 있습니다 +_+)

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 하나둘넷 2010.01.19 18:19 Address Modify/Delete Reply

    I see you ~ ^^