에이징 및 청소 이해
에이징 및 청소 이해
Windows Server 2003을 실행하는 DNS 서버는 에이징 및 청소 기능을 지원합니다. 이 기능은 영역 데이터에 계속 누적될 수 있는 부실 RR(리소스 레코드)의 정리 및 제거를 수행하기 위한 메커니즘으로 제공됩니다.
동적 업데이트를 사용하면 네트워크에서 컴퓨터가 시작될 때 RR이 영역에 자동으로 추가됩니다. 그러나, 경우에 따라서는 컴퓨터가 네트워크에서 연결을 끊을 때 이 RR이 자동으로 제거되지 않습니다. 예를 들어, 컴퓨터가 시작될 때 자신의 A(호스트) RR을 등록하고 나중에 네트워크에서 비정상적으로 연결이 끊기면 그 A(호스트) RR은 삭제되지 않을 것입니다. 네트워크에 이동 중인 컴퓨터와 사용자가 있으면 이러한 상황이 자주 발생할 수 있습니다.
부실 RR을 그대로 방치하면 영역 데이터에 남은 부실 RR로 인해 문제가 발생할 수 있습니다. 그 예는 아래와 같습니다.
• |
서버 영역에 부실 RR이 많이 남아 있으면 이 RR이 서버 디스크 공간을 차지하게 되어 영역 전송이 불필요하게 길어질 수 있습니다. |
• |
부실 RR을 포함한 영역을 로드하는 DNS 서버는 만료된 정보를 사용하여 클라이언트 쿼리에 응답하므로 클라이언트가 네트워크에서 이름을 확인할 때 문제가 발생할 수 있습니다. |
• |
부실 RR이 DNS 서버에 누적되면 서버 성능과 응답 기능이 저하될 수 있습니다. |
• |
영역에 있는 부실 RR로 인해 다른 컴퓨터나 호스트 장치가 DNS 도메인 이름을 사용할 수 없게 되는 경우도 있습니다. |
이 문제를 해결하기 위해 DNS 서버 서비스는 아래와 같은 기능을 제공합니다.
• |
주 형식 영역에 동적으로 추가된 RR에 대해 서버 컴퓨터에 설정된 현재 날짜와 시간에 기반하여 시간 스탬프 기능을 제공합니다. 또한 에이징 및 청소가 사용할 수 있게 설정되어 있는 표준 주 영역에 시간 스탬프가 기록됩니다. 수동으로 추가하는 RR에는 시간 스탬프 값으로 0이 사용됩니다. 이 값은 RR이 에이징 프로세스의 영향을 받지 않으며 사용자가 시간 스탬프를 변경하거나 삭제하지 않으면 영역 데이터에 무제한 남을 수 있음을 나타냅니다. |
• |
적용 가능한 영역에 대해 지정된 새로 고침 시간에 기반하여 로컬 데이터의 RR을 에이징합니다. 이 프로세스는 DNS 서버 서비스가 로드하는 주 형식 영역에 대해서만 수행될 수 있습니다. |
• |
지정된 새로 고침 시간이 지나서 남아 있는 모든 RR을 청소하는 기능을 제공합니다. DNS 서버는 청소 작업을 수행할 때 RR이 부실 레코드로 에이징되었는지 확인하고 영역 데이터에서 부실 리소스 레코드를 제거할 수 있습니다. 청소 작업을 자동으로 반복하도록 서버를 구성하거나 서버에서 청소 작업을 바로 시작할 수 있습니다. 자세한 내용은 부실 리소스 레코드 자동 청소 사용 또는 부실 리소스 레코드 즉시 청소 시작을 참조하십시오. |
주의
• |
기본적으로 DNS 서버 서비스의 에이징 및 청소 메커니즘은 사용할 수 없습니다. 모든 매개 변수를 완전히 이해하는 경우에만 이 메커니즘을 사용할 수 있게 설정해야 합니다. 그렇지 않으면 서버를 구성할 때 삭제하면 안되는 레코드를 실수로 삭제하게 될 수 있습니다. 레코드가 실수로 삭제되면 사용자가 그 레코드에 대한 쿼리를 확인할 수 없을 뿐 아니라 보안된 동적 업데이트를 사용하도록 구성된 영역에서도 모든 사용자가 레코드를 만들고 소유권을 가져올 수 있습니다. |
서버는 각 RR에 특정한 시간 스탬프 내용과 함께 사용자가 조정하거나 구성할 수 있는 다른 에이징 및 청소 속성을 사용하여 레코드 청소 시점을 결정합니다.
에이징/청소에 필요한 조건
DNS의 에이징 및 청소 기능을 사용하기 위해서는 아래와 같은 몇 가지 조건이 충족되어야 합니다.
1. |
DNS 서버 및 영역 모두에서 청소와 에이징을 사용할 수 있게 설정해야 합니다. 기본적으로 리소스 레코드의 에이징 및 청소는 사용할 수 없습니다. |
2. |
리소스 레코드를 영역에 동적으로 추가하거나 수동으로 수정해야 리소스 레코드가 에이징 및 청소 작업에 사용될 수 있습니다. 일반적으로는 DNS 동적 업데이트 프로토콜을 사용하여 동적으로 추가한 리소스 레코드에 대해서만 에이징 및 청소를 수행할 수 있습니다. 자세한 내용은 동적 업데이트를 참조하십시오. 그러나 동적이지 않은 방법으로 추가된 다른 리소스 레코드에 대해 청소를 사용할 수 있습니다. 다른 DNS 서버의 텍스트 기반 영역 파일을 로드하거나 영역에 수동으로 레코드를 추가하는 등, 동적이지 않은 방법으로 영역에 추가된 레코드에 대해서는 시간 스탬프가 0으로 설정됩니다. 이 값은 이러한 레코드에 에이징 및 청소 작업이 적용되지 않게 합니다. 이 기본값을 변경하기 위해 이러한 레코드를 개별적으로 관리하여 레코드를 재설정하고 현재(0이 아닌) 시간 스탬프 값을 사용하게 허용할 수 있습니다. 이렇게 하면 이 레코드를 에이징하거나 청소할 수 있습니다. 자세한 내용은 지정한 리소스 레코드의 청소 및 에이징 속성 다시 설정을 참조하십시오. |
참고
• |
표준 주 영역에서 Active Directory 통합 영역으로 영역을 변경하는 경우 영역에 있는 기존의 모든 리소스 레코드에 대해 청소를 사용할 수 있게 설정하는 것이 좋습니다. 영역에 있는 모든 기존 리소스 레코드에 에이징을 사용할 수 있게 설정하려면 dnscmd 명령줄 도구에서 제공하는 AgeAllRecords 명령을 사용합니다. 자세한 내용은 Dnscmd를 사용하여 서버 관리를 참조하십시오. |
에이징 및 청소 용어
아래 표에는 특히 에이징 및 청소 기능을 논의할 때 도움이 될 수 있는 새 용어와 수정된 용어가 나와 있습니다.
용어 | 설명 | ||||||
RR(리소스 레코드) 시간 스탬프 |
DNS 서버가 에이징 및 청소 작업을 수행할 때 리소스 레코드를 제거할 시점을 결정하는 데 사용하는 날짜와 시간 값입니다. | ||||||
현재 서버 시간 |
DNS 서버의 현재 날짜와 시간입니다. 이 숫자는 특정 시점의 정확한 숫자 값으로 표현될 수 있습니다. | ||||||
새로 고치지 않음 간격 |
각 영역에 대해 결정되는 시간 간격이며 아래와 같은 두 이벤트에 연결됩니다.
이 값은 Active Directory 데이터베이스에 대한 쓰기 작업 수를 줄이는 데 필요합니다. 기본적으로 이 간격은 7일로 설정됩니다. 에이징 및 청소 기능의 효과가 손실되거나 떨어질 수 있으므로 이 값을 너무 높은 수준으로 올리지 않는 것이 좋습니다. | ||||||
새로 고침 간격 |
각 영역에 대해 결정되는 시간 간격이며 아래와 같은 별개의 두 이벤트에 연결됩니다.
이 값은 모든 클라이언트가 자신의 레코드를 새로 고칠 수 있도록 충분히 큰 값이어야 합니다. 기본적으로 이 간격은 7일로 설정됩니다. 에이징 및 청소 기능의 효과가 손실되거나 떨어질 수 있으므로 이 값을 너무 높은 수준으로 올리지 않는 것이 좋습니다. | ||||||
청소 시작 시간 |
숫자로 표시되는 특정 시간입니다. 이 시간은 서버가 영역을 청소할 수 있는 시점을 결정할 때 사용합니다. 자세한 내용은 에이징 및 청소 이해를 참조하십시오. | ||||||
청소 기간 |
서버에서 자동 청소를 사용할 수 있으면 이 기간은 자동 청소 과정이 반복되는 시간을 나타냅니다. 기본값은 7일입니다. DNS 서버의 성능이 저하되지 않는 이 기간의 최소 허용 값은 1시간입니다. | ||||||
레코드 새로 고침 |
레코드의 다른 특성은 수정되지 않고 리소스 레코드 시간 스탬프만 수정될 때 리소스 레코드에 대해 DNS 동적 업데이트가 수행되는 때입니다. 새로 고침은 주로 아래와 같은 경우에 발생합니다.
| ||||||
레코드 업데이트 |
시간 스탬프 외에 다른 레코드 특성도 수정될 때 리소스 레코드에 대해 DNS 동적 업데이트가 수행되는 것을 말합니다. 업데이트는 주로 아래와 같은 경우에 발생합니다.
| ||||||
서버 청소 |
영역 청소 수행이 사용 설정된 DNS 서버의 제한된 IP 주소 목록을 지정할 수 있게 하는 선택적인 고급 영역 매개 변수입니다. 이 매개 변수를 지정하지 않으면 기본적으로 디렉터리 통합 영역을 로드하는 청소 사용이 설정된 모든 DNS 서버가 영역 청소를 시도합니다. 디렉터리 통합 영역을 로드하는 일부 서버에서만 청소를 수행하는 것이 적합한 경우 이 매개 변수가 유용할 수 있습니다. 이 매개 변수를 설정하려면 영역의 ScavengingServers 매개 변수에 영역 청소를 사용하도록 설정된 서버의 IP 주소 목록을 지정해야 합니다. Windows DNS 서버 관리를 위한 명령줄 기반 도구인 dnscmd 명령을 사용하여 이 목록을 지정할 수 있습니다. 자세한 내용은 Dnscmd를 사용하여 서버 관리를 참조하십시오. |
청소를 시작할 수 있는 때
청소를 사용 설정하기 위해 필요한 모든 조건이 충족되면 현재 서버 시간이 영역의 청소 시작 시간 값보다 클 때 서버 영역에 대해 청소를 시작할 수 있습니다.
서버는 아래와 같은 이벤트 중 하나가 발생할 때 개별 영역별로 청소 시작 시간 값을 설정합니다.
• |
영역에 동적 업데이트가 사용할 수 있게 설정됩니다. |
• |
부실 리소스 레코드 청소 확인란의 상태 변경이 적용됩니다. DNS 콘솔을 사용하여 적용 가능한 DNS 서버 또는 그 주 영역 중 하나에서 이 설정을 수정할 수 있습니다. |
• |
DNS 서버가 청소 사용이 설정되거나 청소할 수 있는 주 영역을 로드합니다. 서버 컴퓨터가 시작되거나 DNS 서버 서비스가 시작되는 경우가 여기에 해당합니다. |
• |
영역이 일시 중지된 서비스를 다시 시작합니다. |
위와 같은 이벤트가 발생하면 DNS 서버는 아래와 같이 합을 계산하여 청소 시작 시간 값을 설정합니다.
현재 서버 시간 + 새로 고침 간격 = 청소 시작 시간
이 값은 청소 작업 중에 비교 기준으로 사용됩니다.
예제 레코드의 에이징 및 청소 프로세스 예
서버에서 수행되는 에이징 및 청소 프로세스를 이해하기 위해, 이 프로세스가 적용된 서버와 영역에 단일 리소스 레코드가 추가되었다가 에이징되어 데이터베이스에서 제거되는 일련의 과정을 살펴봅니다.
1. |
예제 DNS 호스트인"host-a.example.microsoft.com" com"은 에이징 및 청소가 사용 설정된 영역의 DNS 서버에 호스트(A) 리소스 레코드를 등록합니다. | ||||
2. |
레코드를 등록할 때 DNS 서버는 현재 서버 시간에 기준하여 이 레코드에 시간 스탬프를 기록합니다. 레코드 시간 스탬프가 기록된 후 DNS 서버는 영역의 새로 고치지 않음 간격 동안 이 레코드에 대한 새로 고침을 허용하지 않습니다. 그러나 그 시간 이전에는 업데이트를 받을 수 있습니다. 예를 들어, "host-a.example.microsoft.com"의 IP 주소가 변경된 경우 DNS 서버가 업데이트를 받을 수 있습니다. 이 경우 서버는 레코드 시간 스탬템프도 업데이트(재설정)합니다. | ||||
3. |
새로 고치지 않음 기간이 만료되면 서버는 이 레코드에 대한 새로 고침 시도를 허용하기 시작합니다. 이 레코드에 대한 초기 새로 고치지 않음 기간이 끝나면 바로 새로 고침 기간이 시작됩니다. 새로 고침 기간 동안 서버는 남은 시간에 레코드를 새로 고칠 수 있게 허용합니다. | ||||
4. |
레코드의 새로 고침을 받으면 서버는 새로 고침 기간 중이나 후에 이것을 처리합니다. 새로 고침이 처리되면 2단계에서 설명한 방법에 따라 레코드의 시간 스탬프가 다시 설정됩니다. | ||||
5. |
이후로 서버가 "example.microsoft.com" 영역에 청소를 수행할 때 서버는 다른 모든 영역 레코드와 함께 이 영역 레코드를 검사합니다. 아래와 같은 시간 합계를 기준으로 각 레코드를 현재 서버 시간과 비교하여 레코드의 제거 여부가 결정됩니다. 레코드 시간 스탬프 + 영역의 새로 고치지 않음 간격 + 영역의 새로 고침 간격
|