DFS 네임 스페이스에 액세스 할 때 길게 일시 중지


22

최근 공유 파일에 DFS를 사용하도록 Windows 네트워크를 마이그레이션했습니다. 한 가지 성가신 문제를 제외하고 DFS는 잘 작동합니다. 사용자는 한동안 액세스하지 않은 DFS 네임 스페이스에 액세스하려고 할 때 상당한 지연이 발생합니다. 문제를 해결하려고 시도했지만 지금까지 성공하지 못했으며 여기 누군가가 문제를 해결하는 데 도움이되는 몇 가지 조언이 있기를 바랍니다.

첫째, 우리 네트워크의 일부 배경 :

네트워크는 2 개의 Windows 2008 DC와 2 개의 DNS 서버 (각 DC에 하나씩)가있는 Windows 2008 기능 수준 Active Directory 도메인을 사용합니다. 네트워크는 DNS 전용이며 WINS는 없습니다. 모든 컴퓨터는 같은 사이트에 위치하고 기가비트 이더넷으로 연결됩니다. Windows 2008 모드에는 약 20 개의 도메인 기반 DFS 네임 스페이스가 있으며 각 DFS 네임 스페이스에는 두 개의 Windows 2008 DFS 네임 스페이스 서버 (모든 네임 스페이스에 대해 동일한 두 서버)가 있습니다. 모든 네임 스페이스 서버는 FQDN 모드에 있으며 모든 폴더 대상은 해당 FQDN을 사용하여 지정됩니다. 모든 컴퓨터는 서비스 팩 및 패치가 최신 상태입니다.

실제 폴더 대상 (예 : DMB 폴더가 가리키는 SMB 공유)은 여러 파일 및 응용 프로그램 서버에 분산되어 있으며, Windows 2008 R2를 실행하는 두 개의 응용 프로그램 서버 (Windows 2003 R2를 실행하는 응용 프로그램 서버는 전혀 복제 설정 없음) (예 : 현재 모든 DFS 폴더) 폴더 대상이 하나뿐입니다).

문제에 대한 자세한 내용은 다음과 같습니다.

네임 스페이스 액세스 지연은 일반적으로 1-10 초이며 특정 컴퓨터가 약 5 분 이상 동안 요청 된 네임 스페이스에 액세스하지 않은 경우에 발생하는 것으로 보입니다.

예를 들어, 사용자가 5 분 이상 \\ domain.name \ namespace1 \에 액세스하지 않고 Windows 탐색기를 통해 \\ domain.name \ namespace1 \에 액세스하려고하면 탐색기 창이 1-10 초 동안 정지되고 마지막으로 \\ domain.name \ namespace1에있는 폴더를 다시 시작하고 표시합니다. 그런 다음 탐색기 창을 닫고 5 분 내에 \\ domain.name \ namespace1 \에 다시 액세스하려고하면 내용이 거의 즉시 표시됩니다. 5 분 이상 기다리면 1-10 초의 일시 중지가 다시 발생합니다.

네임 스페이스를 "내부"로 설정하면 모든 것이 멋지고 빠릅니다. 네임 스페이스에 대한 초기 연결 일뿐입니다.

브라우징 지연은 우리가 사용하는 모든 Windows 변형 (Windows 2008 x64 SP2, Windows 2003 R2 x86 SP2, Windows XP Pro x86 SP3)에 영향을 미치는 것으로 보입니다. Windows 2008/2008에서는 Windows 2008보다 약간 더 나쁠 수 있습니다. 차이가 심리적 인 것이 아닌지 확실하지 않습니다.

기본 폴더 대상에 직접 액세스하면 지연이 전혀 없습니다. 즉, DFS가 가리키는 SMB 공유에 직접 액세스하면 (DFS 무시) 일시 중지가 없습니다.

문제를 해결하는 동안 모든 DFS 루트의 "캐시 기간"이 300 초-5 분으로 설정되어 있음을 알았습니다. 이것이 일시 중지를 트리거하는 데 필요한 시간과 같다는 점을 감안할 때 클라이언트에 캐시 된 내용을 정확히 알지 못하기 때문에 5 분이 지나면 다시 조회 해야하는 내용이 있지만이 캐싱은 어떻게 든 관련이 있다고 가정합니다.

문제를 해결하기 위해 이미 다음을 시도 / 확인했습니다 (성공하지 않음).

  • 두 도메인 컨트롤러 모두에서 dcdiag를 실행하십시오. 문제가 없습니다.
  • 문제를 찾지 않고 기본적인 DNS 서버 검사를 완료했습니다. DNS 서버를 자세히 검사하는 방법을 모르겠지만 네트워크에 DNS 문제를 나타내는 다른 이상한 동작이 나타나지 않는다고 덧붙입니다.
  • 클라이언트 및 서버에서 비활성화 된 바이러스 백신
  • 네임 스페이스 서버 중 하나를 몇 개의 네임 스페이스에서 제거

그래서 그것은 내가 할 수있는 곳이며 아이디어가 없습니다. 지연을 유발하는 원인 및 / 또는 다음에 시도해야 할 것을 제안 할 수 있습니까?


3
클라이언트에 Wireshark를 설치하고 "지연"동안 트래픽을 스니핑하십시오. 내 직감은 그것이 당신에게 무언가를 말할 것이라고 말합니다. 그렇지 않으면 블랙 박스를 쳐다보고 있습니다.
Evan Anderson

제안 해 주셔서 감사합니다. 내일 (오스트레일리아 오전 11시) 가면 분명히 알 수 있습니다.
Matt

이 매트에 대한 업데이트?
JJ01

나는이 질문에 대해 완전히 잊었다. 기회가 생기면 환경에 WINS 서버를 설치하여 문제를 해결하는 데 도움이되는지 확인합니다. 실패하면 Wireshark (및 출력 분석 방법)에 대해 더 많이 알아야 문제의 근본 원인을 추적하고 추적 할 수 있습니다.
Matt

답변:


28

글쎄, 우리 마침내 우리 환경에서이 문제를 해결 한 것으로 보입니다. 다른 사람들의 이익을 위해 다음과 같이 발견 한 내용과 문제를 해결 한 방법이 있습니다.

지연 전 / 중 / 후에 발생한 상황에 대한 추가 정보를 얻기 위해 클라이언트 컴퓨터에서 Wireshark를 사용하여 네트워크 트래픽을 캡처 / 분석하는 동안 클라이언트가 DFS 공유에 액세스하려고했습니다.

이러한 캡처는 이상한 것으로 나타났습니다. 지연이 발생할 때마다 클라이언트에서 DC로 DFS 요청이 전송되고 DC에서 클라이언트로 다시 오는 DFS 루트 서버에 대한 참조 사이에서 DC는 여러 브로드 캐스트 이름을 전송했습니다. 네트워크를 찾습니다.

먼저 DC는 DOMAIN에 대한 NetBIOS 조회를 브로드 캐스트합니다 (여기서 DOMAIN은 Windows 2000 이전의 Active Directory 도메인 이름입니다). 몇 초 후, DOMAIN에 대한 LLMNR 조회를 브로드 캐스트했습니다 . 그런 다음 DOMAIN에 대한 또 다른 브로드 캐스트 NetBios 조회가 이어집니다. 이 세 가지 조회가 브로드 캐스트 된 후 (시간이 초과 된 것으로 가정) DC는 DFS 루트 서버에 대한 (올바른) 조회를 통해 클라이언트에 최종 응답합니다.

DOMAIN에 대한 이러한 브로드 캐스트 이름 조회는 DFS 공유 열기가 오래 지연된 경우에만 전송되었으며, Wireshark 캡처에서 DC가 3 개의 조회를 모두 보낼 때까지 DFS 루트 서버에 대한 조회를 반환하지 않았 음을 분명히 알 수있었습니다 ( ~ 7 초가 지났습니다). 따라서 이러한 브로드 캐스트 이름 조회는 분명히 지연의 원인이었습니다.

문제가 무엇인지 알았으므로 브로드 캐스트 이름 조회가 왜 발생했는지 알아 내기 시작했습니다. 더 많은 인터넷 검색과 시행 착오 끝에 우리는 답을 찾았습니다 .DNS 전용 환경에서 DFS를 사용할 때와 같이 도메인 컨트롤러의 DfsDnsConfig 레지스트리 키를 1로 설정하지 않았습니다.

우리는 원래 설치 DFS는 우리의 환경에서 우리는 때 않았다 (예 : DNS 전용 환경을 위해 DFS를 구성하는 방법에 대한 다양한 기사를 읽을 마이크로 소프트 KB244380을 및 기타)이 레지스트리 키를 알고 있었다, 그러나 때 / 방법에 대한 지침을 misintepreted했다 사용해.

KB244380의 말 :

모든 컴퓨터가 완전한 이름을 이해하려면 DFS 네임 스페이스에 참여할 각 서버에 DFSDnsConfig 레지스트리 키를 추가해야합니다.

이는 레지스트리 키가 DFS 네임 스페이스 서버 에만 설정되어야 하며 도메인 컨트롤러에도 필요하다는 것을 인식하지 않아야한다는 것을 의미했습니다. 도메인 컨트롤러에서 DfsDnsConfig를 1로 설정하고 "DFS 네임 스페이스"서비스를 다시 시작하면 문제가 사라졌습니다.

분명히 우리는이 결과에 만족하지만, 이것이 여전히 우리의 유일한 문제라는 것을 100 % 확신하지는 않는다고 덧붙일 것입니다. DC에 DfsDnsConfig = 1을 추가하는 것이 문제를 해결하는 것이 아니라 문제를 해결 한 것이 아닌지 궁금합니다. . DC가 DNS가 아닌 환경에서도 DFS 조회 프로세스 중에 DC가 DOMAIN (도메인의 서버가 아닌 도메인 이름 자체)을 찾으려고하는 이유를 알 수 없으며 다른 DNS 전용 환경의 도메인 컨트롤러에서 DfsDnsConfig = 1을 설정하지 않았으며 같은 문제가 없었습니다. 그래도 우리는 문제를 해결하여 행복했습니다.

나는 이것이 비슷한 문제를 겪고있는 다른 사람들에게 도움이되기를 바랍니다. 그리고 제안을 해준 사람들에게 다시 감사드립니다.


3

이것은 DNS 서버 넷 마스크 순서로 인해 발생할 수 있습니다. 최근에 Server 2003에서이 문제가 발생했습니다. 이는 현재 서브넷에 따라 다릅니다.

예.

사이트 1 : IP 서브넷 10.0.0.0/24 사이트 2 : IP 서브넷 10.0.1.0/24

사이트 2의 클라이언트는 도메인 기반 네임 스페이스에 대한 DNS 쿼리를 만들고 DNS 서버가 사이트 IP 경계를 인식하지 못하므로 기본적으로 사이트 1의 DFS 서버에 제공됩니다. 응답 할 IP 주소를 식별하는 데 사용할 서브넷 마스크를 DNS 서버에 알려 주어야합니다.

http://support.microsoft.com/kb/842197을 참조 하십시오.


감사합니다. 그러나 여기서는 하나의 사이트 만 처리합니다. 모든 워크 스테이션과 서버는 동일한 서브넷에 있습니다.
Matt

3

Active Directory 팀 블로그에는 DFS 지연에 관한 3 가지 기사가 있습니다.

http://blogs.technet.com/b/askds/archive/2009/09/29/o-dfs-shares-where-art-thou-part-1-3.aspx

추천 프로세스의 기본 사항을 다루고 dfsUtil 및 dfsDiag를 포함한 다양한 도구를 사용하여 지연의 실제 원인을 찾는 방법을 보여줍니다.

내 문제를 찾는 데 도움이되었습니다. 도메인 사용자의 공유 디렉토리에 대한 읽기 권한이없는 것으로 밝혀졌습니다.

HTH, 다니엘


2

DNS 문제처럼 보이지만 아무 문제가 없습니다. 초음파와 같은 진단 도구가 매우 유용했기 때문에 이전 FRS를 선호했습니다.

대상의 DFS 복제 이벤트 로그에 어떤 것이 있습니까? (DFS 상태 보고서는 이벤트 로그에서 경고를 표시합니다)

WINS없이 실행하는 것은 훌륭한 목표이며 훌륭합니다.하지만 비스타 / 2008 이전 Windows 시스템이 내 경험에 WINS없이 항상 예상대로 또는 빨리 작동하지 않기 때문에 거의 반대입니다. 중요하지 않습니다.


우리는 DFS 복제를 사용하지 않고 파일 공유 추상화를 위해 DFS 만 사용합니다. 그러나 DNS 전용 환경에 대한 귀하의 의견은 흥미 롭습니다. 많은 서버가 Windows 2008이지만 모든 워크 스테이션은 XP이며 WIndows 2003 서버도 상당히 많습니다. 이 추가 단계를 수행 할 기회가있을 때 WINS 설치를 시도하고 이것이 도움이되는지 확인할 수 있습니다.
Matt

1

클라이언트는 DFS 조회를 캐시합니다. 즉, \ domain.name \ namespace를 입력하면 실제 서버 domain.name이 참조하는 캐시가 캐시됩니다. 캐시에서 조회가 만료되면 클라이언트는 기본적으로 DFS 토폴로지를 다시 "발견"해야하므로 지연됩니다.

http://technet.microsoft.com/en-us/library/cc758234(WS.10).aspx 및 여기 http://blogs.technet.com/filecab/archive/2006/01/20을 살펴보십시오. 작동 방식에 대한 자세한 내용/417832.aspx 를 참조하십시오.

가능한 해결책? 해킹 방법은 몇 분마다 "살아남는"작은 프로그램을 작성하는 것일 수 있습니다. 예를 들어 찾은 첫 번째 파일 인 fopen은 즉시 닫는 C 프로그램입니다. 나는 이것을 시도하거나 테스트하지 않았으므로, 그렇게하려고한다면 신중하게 고려해야합니다.


포스터가 나타내는 것처럼 일반적인 DFS 조회는 몇 초가 걸리지 않습니다.
Evan Anderson

감사합니다. 추천 프로세스를 가장 잘 이해하지 못하는 내일의 사람들을 읽어보십시오. "솔루션"을 좋아하지는 않지만 : -S이 문제를 해결하려면 캐시 기간을 큰 값으로 만들 수 있지만 문제에 대한 "적절한"솔루션을 찾고 싶습니다.
Matt

1

DFS 공유에 매핑 된 드라이브를 클릭하고 공유 내의 폴더를보고 탐색 할 때까지 사용자가 지연 (최대 1 분)되는 비슷한 소리가났습니다.

또한 사용자는 동일한 볼륨에서 다른 DFS 공유에 홈 드라이브를 매핑했으며 폴더에 액세스 할 때 지연되지 않았습니다.

이 둘의 차이점은 ABE (Access-Based Enumeration)입니다. 문제 공유에이 기능이 활성화되어 있습니다 (이 폴더는 수천 개의 폴더를 가진 사용자에게는 일반적인 드라이브입니다)-ABE는 사용자가 권한이있는 폴더 만 볼 수 있음을 의미합니다.

ABE를 비활성화하면 문제가 완전히 제거되었습니다. 분명히 이것은 사용자가 모든 폴더를보고 혼동하기 때문에 해결책이 아닙니다. 여분의 디스크를 임시 측정 값으로 사용하여 서버에 DFS 공유를 복제했으며이 새 대상에서 ABE를 사용하더라도 지연이 발생했습니다.

문제 서버는 2k3R2이고 가동 시간이 150 일 (!) 이상이므로 다시 부팅되고 CHKDSK가 문제가되는 볼륨에서 실행됩니다. 이것이 문제와 다른 점이 있다면 여기에 다시 게시하겠습니다. 새로운 대상은 2k8 서버에 있습니다.


고맙지 만 ABE (아직)를 사용하지 않으므로 문제가되지 않습니다.
Matt

1

dfsutil / spcflush 및 dfsutil / pktflush는 다중 사이트 네트워크에서도 솔루션이 될 수 있습니다. 홈 사이트의 DFS 링크가 캐시가 아닌 로컬 서버에서 오는지 확인하십시오.


1

원래 포스터는 WINS를 사용하지 않았지만이 게시물을 가장 많이 사용하여 비슷한 문제를 해결하는 데 도움을주기 위해 다른 사람들의 이익을 위해 게시하고 있습니다. 우리에게는 누군가 도메인과 같은 이름으로 워크 스테이션 이름을 짓기로 결정했습니다. 따라서 DC가 DFS 조회를 위해 도메인 이름을 조회 할 때마다 해당 워크 스테이션으로 확인하려고했으며 10 초의 지연 시간이 발생했습니다. DC를 가리키는 정적 20 항목이 WINS에 배치되어 문제가 해결되었습니다. WINS가없는 경우 DC를 가리키는 LMHOSTS 파일에 도메인 이름을 시스템 이름으로 배치하여 20 개의 조회를 얻고 LMHOSTS가 netbios 이름을 확인할 수 있도록 우선 순위를 설정할 수 있습니다.


1

http://technet.microsoft.com/en-us/library/cc780950(v=ws.10).aspx 이 페이지는 실제로 도움이되는 경우 도메인 컨트롤러와 DFSN을 모두 언급합니다.

DFS 도메인 컨트롤러 및 루트 서버 레지스트리 항목

다음 레지스트리 항목은 아래에 있습니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dfs 

루트 서버 및 도메인 컨트롤러 모든 항목은 REG_DWORD입니다.


1

그래서 나는이 기사를 검색에 사용했습니다. 모든 것을 설정했지만 여전히 문제가있었습니다. 며칠 동안 문제를 조사하고 모든 'Microsoft'를 제외시킨 후 네트워크와 관련이 있다고 생각했습니다. 우리 밝혀 WAN 가속기가 문제였다. 네트워킹 담당자가 도메인 컨트롤러에 대한 가속 기능을 해제하고 모든 것이 더 좋아졌습니다.


1

많은 컨트롤러가 있었으므로 스크립트 ( dnsdfs.cmd servername)도 마찬가지였습니다 .

dfsutil server registry dfsdnsconfig set %1
sc \\%1 stop dfs
sc \\%1 start dfs

0

모든 서버가 동일한 기능을 수행하는 경우 20 개의 DFS 서버가 있지만 언급하지 않습니다.

이러한 서버가 동일한 시설에 있지 않고 서로 다른 사이트에 자체 도메인이있는 경우 클라이언트 장애 복구를 사용하도록 설정해야 할 수 있습니다.


2
20 개의 DFS / servers /가 아니라 20 개의 DFS / namespaces /가 있습니다. 동일한 사이트 (및 서브넷)에 두 개의 DFS 서버 만 있습니다.
Matt

0

Google 검색을 통해 여기에 동일한 문제가있는 사람들을 위해 ...

먼저 네임 스페이스의 모든 링크가 사용 가능한지 확인하십시오. 제 경우에는 네임 스페이스에 여전히 다운 된 서버에 대한 링크가 있었으므로 DNS를 열 때 오랜 일시 중지는 해당 서버를 검색하고 실패했기 때문입니다. DFS에서 해당 링크를 비활성화하면 긴 일시 중지가 사라졌습니다.


-1

인증 된 사용자 그룹이 맵핑 된 루트 디렉토리의 내용을 나열 할 수있는 액세스 권한이 있는지 확인하십시오. 예를 들어 x : 드라이브가 \ domain.local \ departents \ Marketing에 매핑 된 경우 사용자는 \ domain.local \ departments에 대한 목록 권한이 필요합니다. 2008/2012에서 고급 권한에서 "이 폴더 만"에 적용되도록 권한을 상속 할 수있는 하위 폴더의 내용을 나열 할 수 없도록 지정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.