달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

Active Directory가 제공하는 도메인 모델은 멀티 마스터 복제 모델이다. 하나의 도메인에 여러 개의 도메인 컨트롤러가 마스터 역할을 한다는 것을 의미이다. NT4.0의 도메인 모델이 싱글 마스터 모델이었던 것과 비교해 볼 필요가 있다. NT4.0의 도메인구조에서 PDC(Primary Domain Controller)라는 하나의 마스터 도메인 컨트롤러가 있었고 나머지 도메인 컨트롤러들은 BDC(Backup Domain Controller)라는 이름을 달고 있어서 마스터의 디렉터리 데이터베이스를 동기화(Synchronization)를 통해서 유지하는 형태로 동작한다.

 

Active Directory에서 도메인 컨트롤러들은 한 도메인에서 NT4.0 PDC, BDC처럼 계층구조를 가지지 않는다. 동등하게 별도의 Active Directory Database를 유지하고 있고, 이들은 복제를 통하여 서로의 디렉터리 데이터베이스를 일치시키는 작업을 하게 된다. 하지만 모든 작업이 이렇게 동작할 수는 없다. 아무리 한 도메인내에서 모든 도메인 컨트롤러가 동등하게 동작한다고 하더라도 그렇게 해서는 문제가 생길 수 있는 작업들이 있기 때문에 Active Directory도메인에서도 특별한 몇몇 작업에 한정해서는 하나의 도메인 컨트롤러를 지정하여 처리를 하고 있고, 이러한 역할을 맡은 도메인 컨트롤러를 가리켜서 작업 마스터(Operation Master)”라고 부른다.

 

작업 마스터 역할을 맡은 도메인 컨트롤러는 다른 도메인 컨트롤러보다는 조금은 더 신경써서 관리해야 할 필요가 있고, 도메인에는 반드시 이 역할을 맡은 도메인 컨트롤러가 1대만 존재하도록 유지를 해 주어야 한다. 또 만일 그러한 역할을 맡고 있던 서버가 네트워크에서 사라져야 할 경우가 생긴다면 다른 서버가 역할을 맡아서 계속 수행할 수 있도록 해 주어야 문제가 없다.

 

이러한 모델을 가리켜서 “FSMO (Flexible Single Master Operations)”라고 부르고 있다. 당신이 회사에서 포리스트 루트 도메인을 생성하였다면 그 도메인에는 5가지의 작업 마스터역할을 하는 서버가 있다. 기본적으로는 도메인에서 첫번째 설치된 도메인 컨트롤러가 이 다섯가지의 작업 마스터 역할을 모두 수행하고 있다.

 

다섯가지 작업 마스터 역할에 대해서 정리해 보자. 포리스트에 도메인 명명 작업 마스터스키마 마스터는 유일하며, 모든 도메인 마다 ‘RID 마스터, PDC 에뮬레이터, 하부 구조 마스터는 하나씩 동작하고 있어야 한다. 대부분의 회사가 그렇듯이 하나의 도메인으로 구성된 회사였다면 아래의 다섯가지 작업마스터가 도메인에 존재해야 하는 것이다.

 

    도메인 명명 작업 마스터 (Domain Naming Master) : 도메인의 이름을 관리하는 역할을 하는 서버이다. Secure.pe.kr이라는 루트 도메인이 있을 때 하부에 jeju.secure.pe.kr 이라는 자식도메인이 생성되려면 이 도메인 명명 작업 마스터의 도움을 받아야 한다. 이 역할을 만일 싱글 마스터로 처리하지 않는다면 같은 이름을 가진 자식도메인이 생기는등 문제의 발생소지가 있다. 이것이 제대로 동작하지 않으면 포리스트에 새로운 도메인을 추가하는 작업이 진행되지 않는다. 도메인 명명 작업마스터는 글로벌 카탈로그 서버와 같은 서버에서 실행되어야 한다.

 

    스키마 마스터 (Schema Master) : 스키마는 Active Directory의 모든 개체들의 속성을 정의한 데이터베이스이다. 이것도 특별히 스키마 마스터라는 작업 마스터를 통해서만 작업이 이루어지도록 되어 있다.

 

    RID 마스터 (RID Master) : Active Directory에서 생성되는 모든 개체에는 SID(Security Identify)가 할당되는데 이 SID는 도메인SID RID(Relative Identify)가 플러스되어 생성된다. SID를 통해서 모든 보안의 평가작업이 이루어지기 때문에 이것은 이름 그대로 보안식별자로써 동작할 수 있어야 하는데, 만일 서로 다른 개체가 같은 SID를 부여받게 된다면 정상적인 동작을 할 수 없게 된다. 그렇기 때문에 Active Directory의 모든 개체들은 고유한 SID를 사용해야 한다. 이것을 RID마스터가 해결해 주고 있다.

 

예를 들어 Forever라는 이름의 도메인에 A B라는 도메인 컨트롤러가 있다고 하자. 이 때  A B는 각각 사용자 계정을 만드는 것이 가능하다.  Forever의 도메인SID 123이라고 가정하면 A는 새로운 사용자를 만들 때 도메인SID 123에 사용자에게 부여할 고유ID RID를 덧붙여서 SID를 할당한다. 만일 B가 사용하는 RID A가 사용하는 RID가 동일한 범위였다면 당연히 한 도메인내에서 같은 SID를 가지는 서로 다른 개체들이 생길 수 있다. RID마스터는 RID(Pool)을 유지하며 도메인 컨트롤러들에게 RID를 할당하는 작업을 한다. SID의 유일성을 보장해 주는 기능을 하는 것이다. Support tool에서 제공하는 dcdiag 툴을 사용하면 도메인 컨트롤러의 RID풀을 확인할 수 있다.

 

    PDC 에뮬레이터 (PDC Emulator) : 이름에서 느껴지는 것처럼 NT4.0 PDC처럼 동작하겠다는 것인데, 이것은 여러가지 작업을 맡아서 처리하고 있다. 먼저, NT4.0 도메인 컨트롤러, BDC들과 혼합된 혼합모드 환경의 도메인에서 PDC에뮬레이터는 BDC들에게 있어서 PDC와 같은 존재가 된다. 또한 Windows 2000 이전버전의 OS를 사용하는 사용자계정의 암호가 변경되었을 때 변경사항을 관리하기도 하며, 도메인에서 타임서버로 동작하여 SNTP(Simple Network Time Protocol)을 이용하여 도메인의 모든 멤버들에게 시간동기화를 처리한다. 도메인의 그룹정책이 저장되는 기본위치도 역시 PDC에뮬레이터이다. Windows 2000 이전버전의 OS를 쓰는 사용자계정에 대한 암호변경작업이 되지 않는다면 PDC에뮬레이터의 작동을 의심해 볼 필요가 있다.

 

    인프라 마스터 (Infrastructure Master) :  복수도메인 환경에서 A도메인의 글로벌 그룹이 B도메인의 로컬 그룹에 포함되었다거나 하는 형태로 서로 다른 도메인간에 그룹멤버쉽이 구성되었을 때, 다른 도메인에 있는 개체들의 일부 복제 데이터를 인프라 마스터가 유지하는 일을 한다. 인프라 마스터는 가능하면 글로벌 카탈로그 서버에 배치하지 않도록 한다. 글로벌 카탈로그 서버에는 이미 포리스트의 모든 도메인의 전체 개체에 대한 부분 복제 데이터가 저장되어 있기 때문에 인프라 마스터는 자신이 가지고 있지 않은 개체에 대한 업데이트의 필요성이 없어서 어떠한 업데이트도 하지 않기 때문이다. 싱글도메인 환경 및 모든 도메인 컨트롤러가 글로벌 카탈로그 서버역할을 하는 경우라면 인프라 마스터를 어디에 두어도 상관없다.

 

현재 도메인에서 작업 마스터 역할을 맡고 있는 서버가 누구인지를 들여다 보자. 이 인터페이스를 통해서 작업마스터 역할을 다른 서버에게 넘기는 작업도 가능하다. 기본적으로 도메인의 첫번째 도메인 컨트롤러가 작업마스터 역할을 맡고 있다고 했다. 이러한 작업마스터로 동작하는 서버를 네트워크에서 제거해야 할때는 먼저 작업마스터 역할을 다른 서버에게 전송해 주어야 한다. 전송작업을 하려면 역할을 전송받을 서버에서 진행되어야 한다. 꼭 물리적으로 해당 서버에 앉아서 해야 한다는 것이 아니다. 각각의 관리콘솔을 열고 해당 서버에 연결한 후 작업을 마치면 될 것이다. 아래의 내용을 살펴보자. 


<그림13-71. FSMO 서버확인 방법>

Active Directory 사용자 및 컴퓨터 관리콘솔을 열고 왼쪽패널에서 도메인이름을 마우스 오른쪽 클릭한 다음 작업 마스터를 선택한다.


<그림13-72. 작업마스터 확인 – RID, PDC, 하부구조>

RID, PDC, 인프라 탭이 보인다. 이 세가지가 도메인마다 필요한 작업마스터 역할들이다. 현재 작업마스터가 누구인지 보여준다. [변경]버튼을 이용하여 다른 컴퓨터로 작업마스터 역할을 전송해 줄 수 있다. 이 작업을 하기 위해서는 역할을 전송받을 서버에서 관리콘솔을 열어야 한다.


<그림13-73. FSMO확인 – Domain Naming Master 확인>

다음엔 Active Directory 도메인 및 트러스트 관리콘솔을 열고, 맨위의 메뉴에서 마우스 오른쪽 클릭하여 작업 마스터를 선택한다.


<그림13-74. FSMO확인 – Domain Naming Master 변경>

도메인 명명 작업 마스터(Domain Naming Master)가 누구인지를 보여준다. 역시 [변경

]을 이용하여 역할을 전송할 수 있다.


<그림13-75. 스키마 관리 스냅인 등록방법>

마지막으로 스키마 마스터 역할을 확인하는데 이를 위한 관리콘솔은 기본적으로는 비활성화되어 있다. 스키마 관리 스냅인을 등록하는 작업을 먼저 한다. 시작-실행창에서 “regsvr32 schmmgmt.dll”을 입력하고 실행하였다.


<그림13-76. 스키마 관리 스냅인 등록 >

Schmmgmt.dll 이 성공적으로 등록되었다는 메시지를 보여준다.


<그림13-77. FSMO확인 – Schema Master 1>

시작à실행 창에서 mmc 를 실행하였다.


<그림13-78. FSMO확인 – Schema Master 2>

스키마 스냅인을 추가하기 위해 스냅인 추가/제거를 클릭했다.


<그림13-79. FSMO확인 – Schema Master 3>

이제 ‘Active Directory 스키마라는 스냅인이 등록된 화면을 보여준다. 마우스 오른쪽 클릭하여 작업 마스터를 선택한다.


<그림13-80. FSMO확인 – Schema Master변경>

현재 스키마 마스터가 bluead.secure.pe.kr 이라는 정보를 보여준다.

 

단일 도메인 환경에서 도메인 컨트롤러가 두 대라면 작업마스터는 어떻게 배치하는 것이 좋을까? 기본설치만 하게 되면 모든 작업 마스터 역할을 처음 설치된 도메인 컨트롤러가 하게 된다. 그래도 두어도 특별한 문제는 발생하지 않지만 분산시키고자 한다면 다음과 같이 배치하는 것이 좋겠다. 앞서 설명한 바와 같이 인프라 마스터는 동작하지 않으므로 어디에 배치해도 상관없다.

 

-          DC1 : 글로벌 카달로그, RID마스터, PDC 에뮬레이터

-          DC2 : 글로벌 카달로그, 도메인 네이밍 마스터, 스키마마스터

 

초기 설치시 위와 같이 구성하려 하거나 관리자가 의도하여 도메인의 작업마스터 역할을 하는 서버를 재설치해야 하는 경우에는 위의 FSMO변경방법을 사용하여 변경이 가능하지만, 불의의 사고로 첫번째 도메인 컨트롤러가 사라져 버렸을 때는 위의 방법을 사용할 수 없다. 그때는 ntdsutil이 유용하다. 아래의 사용법을 참고한다. (명령프롬프트에서 작업한 결과이며, 굵은 글씨체가 필자가 입력한 명령들이다.) 


C:\>ntdsutil

ntdsutil: roles

fsmo maintenance: connections

server connections: connect to server blueapple.windowsnetwork.msft

blueapple.windowsnetwork.msft에 바인딩 중...

로컬에서 로그온된 사용자의 자격 증명을 사용하여 blueapple.windowsnetwork.msft에 연결되

었습니다.

server connections: quit

fsmo maintenance: seize pdc

점유하기 전에 PDC FSMO을 안전하게 전송하도록 시도합니다.


<그림13-81. NTDSUTIL - Seize 확인메시지>

 FSMO을 전송했습니다. 점유할 필요가 없습니다.

"blueapple.windowsnetwork.msft" 서버에서 5 역할이 검색되었습니다.

스키마 - CN=NTDS Settings,CN=GOGUMA,CN=Servers,CN=Default-First-Site-Name,CN=Sit

es,CN=Configuration,DC=windowsnetwork,DC=msft

도메인 - CN=NTDS Settings,CN=GOGUMA,CN=Servers,CN=Default-First-Site-Name,CN=Sit

es,CN=Configuration,DC=windowsnetwork,DC=msft

PDC - CN=NTDS Settings,CN=BLUEAPPLE,CN=Servers,CN=Default-First-Site-Name,CN=Sit

es,CN=Configuration,DC=windowsnetwork,DC=msft

RID - CN=NTDS Settings,CN=GOGUMA,CN=Servers,CN=Default-First-Site-Name,CN=Sites,

CN=Configuration,DC=windowsnetwork,DC=msft

하부 구조 - CN=NTDS Settings,CN=GOGUMA,CN=Servers,CN=Default-First-Site-Name,CN=

Sites,CN=Configuration,DC=windowsnetwork,DC=msft

fsmo maintenance: ?

  ?                             - 이 도움말 정보를 인쇄합니다.

 Connections                   - 특정 도메인 컨트롤러에 연결합니다.

 Help                          - 이 도움말 정보를 인쇄합니다.

 Quit                          - 이전 메뉴로 되돌아갑니다.

 Seize domain naming master    - 연결된 서버의 도메인 역할을 덮어씁니다.

 Seize infrastructure master   - 연결된 서버의 하부 구조 역할을 덮어씁니다.

 Seize PDC                     - 연결된 서버의 PDC 역할을 덮어씁니다.

 Seize RID master              - 연결된 서버의 RID 역할을 덮어씁니다.

 Seize schema master           - 연결된 서버의 스키마 역할을 덮어씁니다.

 Select operation target       - 사이트, 서버, 도메인, 역할 및 명명 컨텍스트를

선택합니다.

 Transfer domain naming master - 연결된 서버를 도메인 이름 마스터로 만듭니다.

 Transfer infrastructure master - 연결된 서버를 하부 구조 마스터로 만듭니다.

 Transfer PDC                  - 연결된 서버를 PDC로 만듭니다.

 Transfer RID master           - 연결된 서버를 RID 마스터로 만듭니다.

 Transfer schema master        - 연결된 서버를 스키마 마스터로 만듭니다.

 


:
Posted by 새벽예찬