Ntfs 제어 MFT 증가 증가

Ntfs 제어 MFT 증가 증가

Windows Server 2008 시스템에 깔끔하게 포맷된 8TB NTFS 드라이브가 있습니다. 병렬 robocopies를 사용하여 6TB의 문서를 복사하고 있습니다. 작은 파일이 많이 있습니다(~1억 5천만). 이는 여러 디렉토리에 분산되어 있습니다. 전체적으로 파일이 너무 커서 MFT에 인라인으로 들어갈 수 없습니다. 약 3/4 정도가 지나면 사본의 성능이 크게 떨어졌습니다.

procmon을 보면 병목 현상이 MFT 확장인 것으로 보입니다. CreateFile에서 각 robocopy 프로세스가 ~3.5초가 걸리는 것을 확인했습니다. 첫 번째 호출이 실행된 직후 $Mft에서 END OF FILE을 반환하는 IRP_MJ_READ가 표시됩니다. CreateFile이 성공하기 직전에 다른 $Mft 읽기에서 SUCCESS가 표시됩니다.

일부 관련 정보: MFT는 이미 115GB까지 큽니다. 그러나 이는 기본 예약인 드라이브의 12.5%보다 훨씬 적습니다. MFT는 빠르게 단편화되고 있습니다. Contig.exe는 100,000개의 조각을 보고합니다. 새 조각이 자주 추가됩니다(초당 여러 번).

내 질문:

MFT를 더 큰 청크로 확장할 수 있나요?

MFT가 예약 크기보다 훨씬 작아도 조각화되는 이유가 궁금합니다. MFT가 예약 크기로 시작하지 않는다는 것을 알고 있지만 연속적으로 성장할 수 없다면 예약의 요점은 무엇입니까? 드라이브에 아직 33%의 여유 공간이 있으므로 일반 데이터는 아직 예약을 사용해서는 안 됩니다.

업데이트 fsutil fsinfo ntfsinfo는 MFT에 대해 다음 정보를 제공합니다.

Mft Valid Data Length: 0x0000001ca90c0000
Mft Start Lcn:         0x0000000000000000
Mft Zone Start:        0x000000003c828360
Mft Zone End:          0x000000003c828380

구역이 매우 작습니다. 정상인가요?

답변1

SysInternals contig의 최신 버전은 여유 공간을 보고할 수 있습니다.

contig64 -f 

이것은 보여준다:

Free cluster space       : 2,838,753,701,888 bytes
Free space fragments     : 89,747,382 frags
Largest free space block : 90,112 bytes

나는 이것이 모든 것을 설명한다고 생각합니다. 2TB/8TB가 넘는 여유 공간(25%)이 있어도 여유 공간은 완전히 조각화되어 있습니다. 이는 MFT 성장에 영향을 미칠 것이며 조각 모음 옵션을 살펴보는 것 외에는 이 단계에서 할 수 있는 일이 없습니다.

애초에 이 상황을 피할 수 있는 방법이 있었는지 잘 모르겠습니다. 이 수준의 조각화 없이 알려진 크기의 파일을 새로 포맷된 디스크에 병렬로 복사할 수 있어야 할 것 같습니다.

관련 정보