20152015. 7. 11. 18:15

Active Directory 에서 CNO(클러스터 이름 개체) 또는 VCO(가상 컴퓨터 개체)가 손상되어 정상적인 클러스터 서비스가 실패하는 이슈를 가끔 볼 수 있습니다. CNO는 클러스터 네트워크 이름이며, VCO는 CNO에 의해서 생성된 가상 컴퓨터 개체로 일반적으로 MSDTC 네트워크 이름, SQL Server 네트워크 이름이 이에 해당합니다. CNO, VCO에 문제가 발생했을 때, 대표적으로 시스템 이벤트 로그에서 ID 1207 이 발생하며, 해당 로그를 통해 상세 오류 코드를 확인해야 합니다.


이 문서는 실수로 Windows Server 2008 R2 Failover cluster 환경에서 CNO, VCO 를 모두 실수로 삭제한 경우 클러스터 서비스를 다시 설치하지 않고 복구하는 방법을 정리하였습니다.

 

1. CNO는 정상적인 상태이며 VCO만 삭제 혹은 손상된 경우
CNO는 정상적인 상태로 클러스터 네트워크 이름이 온라인이 될 경우에는 DC Computers 에 CNO가 컴퓨터 개체를 생성할 수 있는 권한을 부여한 후 VCO의 CAP(클라이언트 액세스 포인트)를 다시 생성해 주면 됩니다.
즉, Network Name, IP Address를 모두 삭제하고 다시 생성해 줍니다.

 

Prestage Cluster Computer Objects in Active Directory Domain Services
https://technet.microsoft.com/en-us/library/dn466519.aspx

 


2. CNO, VCO가 모두 삭제된 경우
우선 삭제된 CNO를 복구할 수 있는 ADRestore 툴을 다운로드 받습니다.

 

ADRestore 툴 다운로드
https://technet.microsoft.com/en-us/sysinternals/bb963906.aspx

 

DC에서 아래와 같은 방법으로 삭제된 CNO 를 찾습니다. 예제에서 삭제된 CNO 이름은 SQLHA 입니다.

C:\TEMP\ADRestore> adrestore.exe sqlha

 


 

중복된 이름이 있는 경우 다수의 개체가 나타날 수 있으며 복구에 필요한 개체를 찾기 위해서는 클러스터 노드에서 레지스트리에 남아 있는 CNO 의 ObjectGUID 를 찾으면 됩니다.
HKLM\Cluster 에서 ClusterName 즉 CNO를 확인할 수 있고 ClusterNameResource 값을 통해 리소스가 위치한 곳에서 ObjectGUID 값을 확인할 수 있습니다.
예제 그림과 같이 ObjectGUID 첫번째 자리값 71b0bafb 이므로 ADRestore에서 fbbab071 값을 가진 복구해야 할 CNO 를 찾을 수 있습니다.

 

아래와 같은 방법으로 CNO를 복구할 수 있습니다.

 

C:\TEMP\ADRestore> adrestore.exe sqlha –r

 

Active Directory 사용자 및 컴퓨터에서 CNO 컴퓨터 개체가 복구된 것을 볼 수 있으며 선택 후 ‘사용함’으로 변경하여 활성화합니다.


마지막으로 클러스터 관리자 – 클러스터 코어 리소스에서 CNO를 클러스터 네트워크 이름을 클릭한 후 – 기타 작업 – Active Directory 개체 복구를 수행하여 클러스터 네트워크 이름을 온라인할 수 있습니다.  

 

삭제된 VCO를 복구하기 위해서는 앞서 언급한 것과 같이 해당 클러스터 관리자에서 CAP를 다시 만드는 방법으로 복구하면 됩니다.

 

 

[참고자료]

Recovering a Deleted Cluster Name Object (CNO) in a Windows Server 2008 Failover Cluster
http://blogs.technet.com/b/askcore/archive/2009/04/27/recovering-a-deleted-cluster-name-object-cno-in-a-windows-server-2008-failover-cluster.aspx

 

 

작성자 : Lai Go / 작성일자 : 2015.07.11

 

Posted by Lai Go