NTFS가 MFT(마스터 파일 테이블)에 대한 공간을 예약하는 방법

이 문서에서는 NTFS가 MFT(마스터 파일 테이블)에 대한 공간을 예약하는 방법을 설명합니다.

적용 대상: Windows 10 - 모든 버전, Windows Server 2012 R2
원래 KB 번호: 174619

요약

NTFS 파일 시스템에는 master 파일 테이블(MFT)이라는 파일이 코어에 포함됩니다. MFT 자체를 포함하여 NTFS 볼륨의 모든 파일에 대해 MFT에 하나 이상의 항목이 있습니다.

NTFS 볼륨을 조각 모음하는 유틸리티는 MFT 항목을 이동할 수 없으며, MFT의 과도한 조각화가 성능에 영향을 미칠 수 있기 때문에 NTFS는 MFT를 가능한 한 인접하게 유지하기 위해 MFT의 공간을 예약합니다.

Windows에서 조각 모음 유틸리티는 MFT를 조각 모음합니다.

조각 모음 유틸리티

MFT의 조각 모음 작업은 MFT 파일을 1로 결합하고 디스크에 순차적이지 않은 여러 위치에 저장되지 않도록 합니다. 이 작업 클래스에서 MFT 파일은 더 순차적으로 수행됩니다. 그러나 조각 모음 작업 전의 MFT 파일 크기는 정확히 입니다.

볼륨에 삭제된 파일이 많은 경우 MFT가 너무 클 수 있습니다. 삭제된 파일은 MFT의 내부 구멍을 유발합니다. 이러한 구멍은 파일에서 사용하지 않는 중요한 영역입니다. 이 공간을 회수하는 것은 불가능합니다. 이는 라이브 NTFS 볼륨에서 적어도 사실입니다.

추가 정보

NTFS는 MFT 항목을 사용하여 해당 파일을 정의합니다. 파일의 크기, 시간 및 날짜 스탬프, 사용 권한 및 데이터 콘텐츠를 포함한 파일에 대한 모든 정보는 MFT 항목 또는 MFT 외부 공간에 저장되지만 MFT 항목으로 설명됩니다.

(MFT 외부의 디렉터리 항목에는 파일에 대한 몇 가지 중복 정보도 포함됩니다. 그러나 NTFS의 모든 구조에 대한 전체 논의는 이 문서의 scope 넘어가고 있습니다.)

파일이 NTFS 볼륨에 추가되면 MFT에 더 많은 항목이 추가되므로 MFT 크기가 증가합니다. 파일이 NTFS 볼륨에서 삭제되면 해당 MFT 항목은 무료로 표시되고 재사용될 수 있지만 MFT는 축소되지 않습니다. 따라서 이러한 항목에 사용되는 공간은 디스크에서 회수되지 않습니다.

NTFS에 대한 MFT의 중요성과 이 파일이 매우 조각화될 경우 성능에 미치는 영향 때문에 NTFS는 이 파일을 연속적으로 유지하기 위해 특별히 노력합니다. NTFS는 볼륨의 나머지 부분을 사용하지 않는 한 MFT를 독점적으로 사용하기 위해 볼륨의 12.5%를 예약합니다. 따라서 파일 및 디렉터리에 대한 공간은 다른 모든 공간이 먼저 할당될 때까지 이 MFT 영역에서 할당되지 않습니다.

참고

NtfsMFTZoneReservation 레지스트리 키를 변경하여 Windows에서 볼륨을 늘릴 수 있습니다. MFT에 대한 자세한 내용은 조각 모음을 통해 Windows 2000 최고 성능 유지 관리의 디스크 조각 모음 프로세스 섹션의 주요 요소를 참조하세요.

평균 파일 크기 및 기타 변수에 따라 디스크의 예약된 MFT 영역 또는 예약되지 않은 공간이 디스크가 용량으로 채워질 때 다른 영역 앞에 사용될 수 있습니다.

비교적 큰 파일 수가 적은 볼륨은 먼저 예약되지 않은 공간을 소모하고, 상대적으로 작은 파일이 많은 볼륨은 MFT 영역 공간을 먼저 소모합니다. 두 경우 모두 한 지역 또는 다른 지역이 가득 차면 MFT 조각화가 수행되기 시작합니다. 예약되지 않은 공간이 가득 차면 할당을 위해 MFT와 경쟁하는 MFT 영역에서 사용자 파일 및 디렉터리에 대한 공간이 할당되기 시작합니다. MFT 영역이 가득 차면 디스크의 나머지 부분에서 새 MFT 항목에 대한 공간이 할당되고 다른 파일과 다시 경쟁하게 됩니다.

새 레지스트리 매개 변수는 NTFS가 master 파일 테이블에 대해 예약하는 볼륨의 비율을 늘릴 수 있습니다. NtfsMftZoneReservation 은 1에서 4 사이의 값을 사용할 수 있는 REG_DWORD 값입니다. 여기서 1은 최소 MFT 영역 크기에 해당하고 4는 최대값에 해당합니다. 매개 변수를 지정하지 않았거나 잘못된 값이 제공된 경우 NTFS는 이 매개 변수에 대해 기본값 1을 사용합니다. 각 설정에 해당하는 정확한 비율은 표준화되지 않으며 향후 릴리스에서 변경될 수 있으므로 문서화되지 않았습니다. 환경에 가장 적합한 설정을 파악하려면 다양한 값을 실험해야 할 수 있습니다.

Windows 컴퓨터에서 MFT의 현재 크기를 확인하려면 NTFS 볼륨에 명령을 입력 dir /a $mft 합니다.

Windows 컴퓨터에서 MFT의 현재 크기를 확인하려면 디스크 조각 모음을 사용하여 NTFS 드라이브를 분석한 다음 보고서 보기를 클릭합니다. 현재 MFT 크기 및 조각 수를 비롯한 드라이브 통계가 표시됩니다.

디스크 조각 모음은 시스템 파일이라고 하는 항목에 녹색으로 표시되고 NTFS 형식의 볼륨에는 MFT, pagefile.sys(이 볼륨에 있는 경우) 및 MFT 확장을 위한 "MFT 영역" 또는 예약된 공간의 조합일 뿐입니다. 조각 모음 보고서에는 페이지 파일 및 MFT에 대한 정보만 표시됩니다. MFT 영역은 디스크 사용률 또는 용량에 영향을 주지 않으므로 멘션 않습니다.

MFT 영역은 사용자 데이터 파일에 사용되는 사용 가능한(사용 가능한) 드라이브 공간에서 빼지 않고 마지막으로 사용되는 공간입니다. MFT의 크기를 늘려야 하는 경우(예: 새 파일 및 디렉터리를 만든 경우) 먼저 MFT 영역에서 가져와 MFT 조각화를 감소시키고 MFT 성능을 최적화합니다.

기본 MFT 영역은 볼륨을 탑재할 때 Ntfs.sys 의해 계산되고 예약되며 볼륨 크기를 기반으로 합니다. 아래에 설명된 레지스트리 항목을 통해 MFT 영역을 늘릴 수 있지만 기본 MFT 영역을 Ntfs.sys 계산한 것보다 작게 만들 수는 없습니다. MFT 영역을 늘리면 사용자가 데이터 파일에 사용할 수 있는 디스크 공간이 감소하지 않습니다.

참고

dir 명령에서 반환된 결과가 최신이 아닐 수 있습니다. dir 명령에서 보고한 크기는 순서대로 종료된 후 시스템이 시작된 시점의 MFT 크기를 반영하는 캐시된 데이터를 반영할 수 있습니다.

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은 Windows에서 레지스트리를 백업 및 복원하는 방법을 참조하세요.

이 값을 추가하려면 다음 단계를 수행합니다.

  1. 레지스트리 편집기(Regedt32.exe)을 실행하고 다음 하위 키로 이동합니다.

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. 편집 메뉴에서 값 추가를 클릭합니다.

  3. 대화 상자에 다음 정보를 입력합니다.

    • 값 이름: NtfsMftZoneReservation
    • 데이터 형식: REG_DWORD
    • 데이터: (유효한 범위는 1-4)
  4. 레지스트리 편집기 종료하고 컴퓨터를 다시 시작합니다.

참고

런타임 매개 변수이며 볼륨의 실제 형식에는 영향을 주지 않습니다. 대신 NTFS가 지정된 시스템의 모든 볼륨에 공간을 할당하는 방식에 영향을 줍니다. 따라서 완전히 효과적이려면 볼륨의 형식이 지정된 시점과 볼륨의 수명 동안 매개 변수가 적용되어야 합니다. 레지스트리 매개 변수를 아래쪽으로 조정하거나 제거하면 MFT 영역이 그에 따라 줄어들지만 이미 할당되어 사용된 MFT 공간에는 영향을 주지 않습니다.