Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Warning: DsGetDcName returned information for \\[...], when we were trying to reach [...].

기존 DC(testad1)가 있는 Active Directory에 새롭게 DC(testad2)를 추가했는데, dcdiag의 Advertising 단계에서 실패했습니다.

C:\temp> dcdiag /test:advertising

Directory Server Diagnosis

Performing initial setup:
   Trying to find home server...
   Home Server = TESTAD2
   * Identified AD Forest.
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\TESTAD2
      Starting test: Connectivity
         ......................... TESTAD2 passed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\TESTAD2
      Starting test: Advertising
         Warning: DsGetDcName returned information for \\testad1.testad.com, when we were trying to reach TESTAD2.
         SERVER IS NOT RESPONDING or IS NOT CONSIDERED SUITABLE.
         ......................... TESTAD2 failed test Advertising


   Running partition tests on : DomainDnsZones

   Running partition tests on : ForestDnsZones

   Running partition tests on : Schema

   Running partition tests on : Configuration

   Running partition tests on : testad

   Running enterprise tests on : testad.com

이와 함께 새로 추가된 DC의 공유 폴더 목록을 보면,

C:\temp> net share

Share name   Resource                        Remark

-------------------------------------------------------------------------------
C$           C:\                             Default share
IPC$                                         Remote IPC
print$       C:\Windows\system32\spool\drivers
                                             Printer Drivers
ADMIN$       C:\WINDOWS                      Remote Admin
The command completed successfully.

SYSVOL과 NETLOGON 공유가 없습니다. 즉, DC 간의 복제가 정상적으로 이뤄지지 않고 있는 것입니다. 실제로 "Group Policy Management"로 들어가 복제 상태를 확인해 보면,

sysvol_not_created_1.png

"Active Directory"의 "SysVol"에 대해 "Inaccessible"이라면서, "GPOs"는 "Data is uncollected"로 출력됩니다.




이에 대해 검색해 보면 다음의 글을 볼 수 있습니다.

How to force an authoritative and non-authoritative synchronization for DFSR-replicated SYSVOL (like "D4/D2" for FRS)
; https://support.microsoft.com/en-us/help/2218556/how-to-force-an-authoritative-and-non-authoritative-synchronization-fo

정리해 보면, 이러한 복제 문제를 복구하는 방법으로 2가지(D2, D4)가 있는데 이 방식은 예전에 FRS(File Replication Service)를 쓰던 시절에 적용하는 방식이고, FRS 서비스를 대체한 DFSR(Distributed File System Replication)을 쓰는 지금은 "D2"에 해당하는 "non-authoritative synchronization" 방식과 "D4"에 해당하는 "authoritative synchronization" 방식이 있습니다.

일단, 제가 겪은 문제에서는 비교적 간단한 방식인 "non-authoritative synchronization"은 해결책이 못 되었습니다. 대신 "authoritative synchronization"으로 해결했으므로 저도 이 글에서는 후자의 방법을 (알고 있으면 전자의 것으로도 써먹을 수 있으므로) 설명하겠습니다.

우선, 기존에 있던 DC(TESTAD1)에 로그인해 "adsiedit.msc"를 실행시켜 다음의 경로에 있는,

CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=TESTAD1,OU=testad,DC=com;

값 2개를 변경합니다.

msDFSR-Enabled=FALSE
msDFSR-options=1

그다음 신규 서버(TESTAD2) 항목에 대해서는,

CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=TESTAD2,OU=testad,DC=com;

msDFSR-Enabled 값만 FALSE로 변경합니다. 이제 변경 사항을 신규 DC(TESTAD2)로 전파하고,

c:\temp> Repadmin /replicate TESTAD2 TESTAD1 DC=testad,DC=com
Sync from testad1 to TESTAD2 completed successfully.

이 상태에서 신규 DC(TESTAD2)의 "DFSR(DFS Replication)" 서비스를 재시작하면 이벤트 로그에 다음과 같은 내용의 4114 항목이 출력되는 것을 볼 수 있습니다.

The replicated folder at local path D:\foldername has been disabled. The replicated folder will not participate in replication until it is enabled. All data in the replicated folder will be treated as pre-existing data when this replicated folder is enabled.


비활성화(disabled) 되었다고 하는데, 의도한 대로 된 것입니다. 다시 처음에 실행해 두었던 "adsiedit.msc"로부터 기존 DC의 항목에 대해 "msDFSR-Enabled" 값을 "TRUE"로 돌려놓습니다.

CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=TESTAD1,OU=testad,DC=com;

msDFSR-Enabled=FALSE

이번에도 신규 DC로 변경 내용을 전파하고,

c:\temp> Repadmin /replicate TESTAD2 TESTAD1 DC=testad,DC=com
Sync from testad1 to TESTAD2 completed successfully.

기존 DC에서 "DFSRDIAG POLLAD" 명령어를 실행하면 이제 해당 서버의 이벤트 로그에는 4602 항목이 보이고, 신규 DC에서는 "DFSR" 서비스를 재시작하면 여전히 4114 항목이 나타나게 됩니다. 자, 이제 마지막으로 adsiedit.msc에서 신규 DC(TESTAD2)에 대해 설정했던 "msDFSR-Enabled" 값을 "TRUE"로 돌려놓고,

CN=SYSVOL Subscription,CN=Domain System Volume,CN=DFSR-LocalSettings,CN=TESTAD2,OU=testad,DC=com;

msDFSR-Enabled=FALSE

(혹시나 싶어 Repadmin으로 전파도 한 다음) 신규 DC(TESTAD2)에서 "DFSRDIAG POLLAD" 명령을 실행해 주면 끝입니다.




이후 신규 DC에서는 다음과 같은 이벤트 로그가 남지만,

The DFS Replication service initialized SYSVOL at local path C:\WINDOWS\SYSVOL\domain and is waiting to perform initial replication. The replicated folder will remain in the initial synchronization state until it has replicated with its partner testad1.testad.com. If the server was in the process of being promoted to a domain controller, the domain controller will not advertize and function as a domain controller until this issue is resolved. This can occur if the specified partner is also in the initial synchronization state, or if sharing violations are encountered on this server or the synchronization partner. If this event occurred during the migration of SYSVOL from File Replication service (FRS) to DFS Replication, changes will not replicate out until this issue is resolved. This can cause the SYSVOL folder on this server to become out of sync with other domain controllers.


잠시 시간이 지나고 나면 정상적으로 SYSVOL 폴더가 복제되었다는 로그가 생성되고,

Log Name: DFS Replication
Source: DFSR
Date: 2020-03-08 오후 3:05:44
Event ID: 4604
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: TESTAD2.testad.com
Description:
The DFS Replication service successfully initialized the SYSVOL replicated folder at local path C:\WINDOWS\SYSVOL\domain. This member has completed initial synchronization of SYSVOL with partner testad1.testad.com. To check for the presence of the SYSVOL share, open a command prompt window and then type "net share".

Additional Information:
Replicated Folder Name: SYSVOL Share
Replicated Folder ID: 2C4C1BC4-6213-4639-92F5-88A8BE91F582
Replication Group Name: Domain System Volume
Replication Group ID: 11C62D01-6007-4604-86F2-0956DB5C219D
Member ID: C1CE3843-9225-43E6-B7AB-05EC8E5AA431
Sync partner: testad1.testad.com


다른 명령어로도 정상적으로 SYSVOL 공유가 된 것을 확인할 수 있습니다.

C:\temp> net share

Share name   Resource                        Remark

-------------------------------------------------------------------------------
C$           C:\                             Default share
IPC$                                         Remote IPC
print$       C:\Windows\system32\spool\drivers
                                             Printer Drivers
ADMIN$       C:\WINDOWS                      Remote Admin
NETLOGON     C:\WINDOWS\SYSVOL\sysvol\testad.com\SCRIPTS
                                             Logon server share
SYSVOL       C:\WINDOWS\SYSVOL\sysvol        Logon server share
The command completed successfully.

C:\temp> dcdiag /test:advertising

Directory Server Diagnosis

Performing initial setup:
   Trying to find home server...
   Home Server = TESTAD2
   * Identified AD Forest.
   Done gathering initial info.

Doing initial required tests

   Testing server: Default-First-Site-Name\TESTAD2
      Starting test: Connectivity
         ......................... TESTAD2 passed test Connectivity

Doing primary tests

   Testing server: Default-First-Site-Name\TESTAD2
      Starting test: Advertising
         ......................... TESTAD2 passed test Advertising


   Running partition tests on : DomainDnsZones

   Running partition tests on : ForestDnsZones

   Running partition tests on : Schema

   Running partition tests on : Configuration

   Running partition tests on : testad

   Running enterprise tests on : testad.com

아울러 "Group Policy Management" 화면의 복제 상태는 다음과 같이 "SysVol"에 "ACLs" 링크 항목으로 바뀝니다.

sysvol_not_created_2.png

(그리고 이 문제에 대한 해결 방법은 The SysVol Permissions for one or more GPOs on this domain controller and not in sync with the permissions for the GPOs on the Baseline domain controller. 글에 정리해 두었습니다.)




원래는 이런 문제가 발생하지 않았을 텐데, 신규 DC가 바로 이전에 demote시켰던 서버여서 아마도 새로 promote하는 과정에 충돌이 발생한 듯합니다. 그나저나, 복구 과정이 꽤나 생소한데 사실 저게 맞는 절차인지도 확신할 수 없으니, 이 글을 보시는 분은 꼭 공식 문서를 꼼꼼하게 확인하시고 적용해 보시길 바랍니다.

마지막으로 다음의 글을 보면,

Error Adding a Windows 2012 R2 DC: “Server is not Responding or is not Considered Suitable” (No SYSVOL Or NETLOGON Share)
; https://www.absoluteuc.org/server_is_not_responding_or_is_not_considered_suitable

"msDFSR-Options = 1" 옵션을 다시 "msDFSR-Options = 0"으로 돌려놓을 것을 권장합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/12/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
12668정성태6/11/202110922.NET Framework: 1069. C# - DLL Surrogate를 이용한 Out-of-process COM 개체 제작파일 다운로드2
12667정성태6/10/20219581.NET Framework: 1068. COM+ 서버 응용 프로그램을 이용해 CoInitializeSecurity 제약 해결파일 다운로드1
12666정성태6/10/20218123.NET Framework: 1067. 별도 DLL에 포함된 타입을 STAThread Main 메서드에서 사용하는 경우 CoInitializeSecurity 자동 호출파일 다운로드1
12665정성태6/9/20219441.NET Framework: 1066. Wslhub.Sdk 사용으로 알아보는 CoInitializeSecurity 사용 제약파일 다운로드1
12664정성태6/9/20217804오류 유형: 723. COM+ PIA 참조 시 "This operation failed because the QueryInterface call on the COM component" 오류
12663정성태6/9/20219353.NET Framework: 1065. Windows Forms - 속성 창의 디자인 설정 지원: 문자열 목록 내에서 항목을 선택하는 TypeConverter 제작파일 다운로드1
12662정성태6/8/20218428.NET Framework: 1064. C# COM 개체를 PIA(Primary Interop Assembly)로써 "Embed Interop Types" 참조하는 방법파일 다운로드1
12661정성태6/4/202119122.NET Framework: 1063. C# - MQTT를 이용한 클라이언트/서버(Broker) 통신 예제 [4]파일 다운로드1
12660정성태6/3/202110193.NET Framework: 1062. Windows Forms - 폼 내에서 발생하는 마우스 이벤트를 자식 컨트롤 영역에 상관없이 수신하는 방법 [1]파일 다운로드1
12659정성태6/2/202111435Linux: 40. 우분투 설치 후 MBR 디스크 드라이브 여유 공간이 인식되지 않은 경우 - Logical Volume Management
12658정성태6/2/20218873Windows: 194. Microsoft Store에 있는 구글의 공식 Youtube App
12657정성태6/2/202110140Windows: 193. 윈도우 패키지 관리자 - winget 설치
12656정성태6/1/20218398.NET Framework: 1061. 서버 유형의 COM+에 적용할 수 없는 Server GC
12655정성태6/1/20217819오류 유형: 722. windbg/sos - savemodule - Fail to read memory
12654정성태5/31/20217840오류 유형: 721. Hyper-V - Saved 상태의 VM을 시작 시 오류 발생
12653정성태5/31/202110536.NET Framework: 1060. 닷넷 GC에 새롭게 구현되는 DPAD(Dynamic Promotion And Demotion for GC)
12652정성태5/31/20218684VS.NET IDE: 164. Visual Studio - Web Deploy로 Publish 시 암호창이 매번 뜨는 문제
12651정성태5/31/20218932오류 유형: 720. PostgreSQL - ERROR: 22P02: malformed array literal: "..."
12650정성태5/17/20218238기타: 82. OpenTabletDriver의 버튼에 더블 클릭을 매핑 및 게임에서의 지원 방법
12649정성태5/16/20219557.NET Framework: 1059. 세대 별 GC(Garbage Collection) 방식에서 Card table의 사용 의미 [1]
12648정성태5/16/20218218사물인터넷: 66. PC -> FTDI -> NodeMCU v1 ESP8266 기기를 UART 핀을 연결해 직렬 통신하는 방법파일 다운로드1
12647정성태5/15/20219461.NET Framework: 1058. C# - C++과의 연동을 위한 구조체의 fixed 배열 필드 사용파일 다운로드1
12646정성태5/15/20218591사물인터넷: 65. C# - Arduino IDE의 Serial Monitor 기능 구현파일 다운로드1
12645정성태5/14/20218293사물인터넷: 64. NodeMCU v1 ESP8266 - LittleFS를 이용한 와이파이 접속 정보 업데이트파일 다운로드1
12644정성태5/14/20219453오류 유형: 719. 윈도우 - 제어판의 "프로그램 및 기능" / "Windows 기능 켜기/끄기" 오류 0x800736B3
12643정성태5/14/20218667오류 유형: 718. 서버 유형의 COM+ 사용 시 0x80080005(Server execution failed) 오류 발생
... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...