AD DB(ntds.dit) 객체 대량 삭제 후 용량 미반환 및 Lookup 지연 이슈 (ntdsutil Offline Defrag 문의)

Min-joon Yoon 80 평판 포인트
2026-09-08T07:24:26.8766667+00:00

안녕하세요. AD 환경 운영 중 DB 용량 및 성능 관련 이슈가 발생하여 경험 있으신 분들의 조언을 구합니다.

최근 도메인 내 불필요한 객체(Users, Computers 등)를 약 50% 이상 정리(Delete)했습니다. 그런데 Active Directory DB 파일인 ntds.dit 용량이 여전히 500GB 수준을 유지하고 있고, 이로 인해 Domain Controller의 Directory Lookup(LDAP 쿼리) 응답 속도가 눈에 띄게 느려진 상황입니다.

Tombstone / Garbage Collection 주기가 지나도 물리적 Disk Space가 반환되지 않는 것으로 보아 White space(빈 공간)로 인한 DB 프래그멘테이션(Fragmentation) 문제로 판단됩니다.

온라인 조각 모음으로는 파일 사이즈 자체가 줄어들지 않아, ntdsutil을 이용해 __Offline Database Defragmentation__을 진행하려고 합니다.

NTDS 서비스 중단 후 ntdsutil 기반의 Compact/Defrag 실행 시 안정적인 작업 레시피나 주의해야 할 사이드 이펙트가 있을까요?

500GB 규모의 DB에서 Compact 작업 진행 시 대략적인 Downtime(소요 시간) 예측 및 백업/복구 베스트 프랙티스가 궁금합니다.

선배님들의 노하우 공유 부탁드립니다. 감사합니다.

비즈니스용 Windows | Windows 365 Enterprise
댓글 0개 설명 없음

질문 작성자가 수락한 답변
Jason Nguyen Tran 27,855 평판 포인트 독립 자문가
2026-09-08T08:37:16.7666667+00:00

안녕하세요.

대량 삭제 후에도 ntds.dit 파일의 크기가 자동으로 줄어들지 않는 것은 맞습니다. 이는 white space fragmentation(여유 공간 단편화) 때문입니다. 온라인 조각 모음(Online Defragmentation)은 데이터베이스 내부의 공간만 재사용할 수 있도록 확보하므로 실제 파일 크기는 그대로 유지됩니다. 따라서 데이터베이스를 압축하고 사용하지 않는 디스크 공간을 반환하려면 ntdsutil을 사용한 오프라인 조각 모음(Offline Defragmentation) 을 수행하는 것이 적절한 방법입니다.

안정적인 작업 절차는 먼저 Domain Controller의 전체 System State 백업이 정상적으로 확보되어 있는지 확인하는 것입니다. 그런 다음 Active Directory Domain Services (NTDS) 서비스를 중지하고, ntdsutil에서 “files” 컨텍스트로 이동한 후 compact to <path> 명령을 실행하여 ntds.dit의 조각 모음된 새 복사본을 생성합니다. 작업이 완료되면 기존 파일을 압축된 파일로 교체하고 NTDS 서비스를 다시 시작합니다.

이 작업은 한 번에 하나의 DC에서만 수행하고, 다른 Domain Controller는 온라인 상태로 유지하여 요청을 처리할 수 있도록 하는 것이 중요합니다.

데이터베이스 크기가 500GB인 경우, 필요한 다운타임은 하드웨어 성능에 따라 달라질 수 있지만 해당 DC에서 수 시간의 서비스 중단이 발생할 수 있도록 계획하는 것이 좋습니다. 가장 좋은 방법은 유지 관리 시간(Maintenance Window)에 작업을 예약하고, 운영 환경에 다시 투입하기 전에 압축된 데이터베이스가 정상적으로 동작하는지 반드시 테스트하는 것입니다. 작업 후에는 Active Directory 복제 상태(Replication Health) 를 모니터링하여 추가적인 문제가 남아 있지 않은지 확인하는 것도 중요합니다.

이 내용이 문제를 안전하게 해결하는 데 도움이 되기를 바랍니다. 답변이 문제 해결에 도움이 되었다면 “Accept Answer” 를 눌러 주시는 것도 잊지 말아 주세요.

Jason

이 대답이 도움이 되었나요?

1명이 이 답변이 도움이 된다고 생각했습니다.
댓글 0개 설명 없음

0 추가 답변

정렬 기준: 가장 유용함

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.