Ntfs Control MFT Инкремент роста

332
Laurence

У меня чисто отформатированный диск NTFS 8 ТБ в системе Windows Server 2008. Я копирую 6 ТБ документов на него, используя несколько параллельных робокопий. Существует большое количество небольших файлов (~ 150 миллионов). Они распределены по ряду каталогов. В целом, файлы слишком велики, чтобы вписать их в MFT. Примерно через три четверти производительности копии значительно снизились.

Глядя на procmon, кажется, что узким местом является расширение MFT. Я вижу, что каждый из процессов Robocopy занимает ~ 3,5 с на CreateFile. Сразу после первого вызова я вижу IRP_MJ_READ в $ Mft, возвращающем END OF FILE. Непосредственно перед успехом CreateFile я вижу УСПЕХ на другом чтении $ Mft.

Некоторая уместная информация: MFT уже большой ~ 115 ГБ. Однако это намного меньше, чем резервирование по умолчанию 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 

Зона очень маленькая, это нормально?

2
Вам, вероятно, будет лучше сжать, сжать все 150-миллиметровые файлы в zip-файл или что-то еще, что передает, а затем разархивировать. cybernard 6 лет назад 0
@cybernard Это iSCSI для iSCSI через один коммутатор. Сеть не имеет ничего общего с узким местом, это накладные расходы файловой системы, которые я все равно буду платить при распаковке. Laurence 6 лет назад 0

1 ответ на вопрос

0
Laurence

Последняя версия 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 

Я думаю, это все объясняет. Несмотря на то, что свободного места более 2 ТБ / 8 ТБ (25%), свободное пространство полностью фрагментировано. Это повлияет на рост MFT, и я ничего не могу сделать на этом этапе, кроме как посмотреть параметры дефрагментации.

Я не уверен, есть ли способ, которым я мог бы избежать этой ситуации в первую очередь. Такое ощущение, что вы должны быть в состоянии копировать файлы известного размера параллельно на вновь отформатированный диск без такого уровня фрагментации.