Come NTFS riserva spazio per la relativa tabella file master (MFT)
Questo articolo descrive in che modo NTFS riserva spazio per la relativa tabella file master (MFT).
Numero KB originale: 174619
Riepilogo
Il file system NTFS contiene al suo interno un file denominato tabella di file master (MFT). C'è almeno una voce nel MFT per ogni file in un volume NTFS, incluso il MFT stesso.
Poiché le utilità che deframmentano i volumi NTFS non possono spostare le voci MFT e poiché un'eccessiva frammentazione del MFT può influire sulle prestazioni, NTFS riserva spazio per il MFT nel tentativo di mantenere il MFT il più contiguo possibile man mano che cresce.
In Windows, l'utilità di deframmentazione deframmenta LFT.
Utilità di deframmentazione
Un'operazione di deframmentazione su MFT combina un file MFT in 1 e impedisce l'archiviazione in più posizioni non sequenziali su disco. In questa classe di operazione, il file MFT è più sequenziale. Tuttavia, è esattamente la dimensione del file MFT prima dell'operazione di deframmentazione.
Un MFT può essere troppo grande se un volume utilizzato per avere un numero elevato di file eliminati. I file eliminati causano fori interni nel MFT. Questi fori sono aree significative inutilizzate dai file. È impossibile recuperare questo spazio. Questo vale almeno in un volume NTFS attivo.
Ulteriori informazioni
NTFS usa le voci MFT per definire i file a cui corrispondono. Tutte le informazioni su un file, incluse le dimensioni, l'ora e i datastamp, le autorizzazioni e il contenuto dei dati, vengono archiviate in voci MFT o nello spazio esterno all'MFT, ma descritte dalle voci MFT.
(Le voci di directory, esterne a MFT, contengono anche alcune informazioni ridondanti relative ai file. Tuttavia, una descrizione completa di tutte le strutture su NTFS esula dall'ambito di questo articolo.
Man mano che i file vengono aggiunti a un volume NTFS, più voci vengono aggiunte a MFT e quindi la MFT aumenta di dimensioni. Quando i file vengono eliminati da un volume NTFS, le relative voci MFT vengono contrassegnate come gratuite e possono essere riutilizzate, ma il MFT non si riduce. Pertanto, lo spazio usato da queste voci non viene recuperato dal disco.
A causa dell'importanza di MFT a NTFS e del possibile impatto sulle prestazioni se questo file diventa estremamente frammentato, NTFS fa uno sforzo speciale per mantenere contiguo questo file. NTFS riserva il 12,5% del volume per l'uso esclusivo di MFT fino a quando e, a meno che non venga utilizzato il resto del volume. Pertanto, lo spazio per i file e le directory non viene allocato da questa zona MFT fino a quando non viene allocato per primo tutto l'altro spazio.
Note
È possibile modificare la chiave del Registro di sistema NtfsMFTZoneReservation per aumentare il volume in Windows. Per altre informazioni su MFT, vedere la sezione Elementi chiave nel processo di deframmentazione del disco di Gestione delle prestazioni di punta di Windows 2000 tramite deframmentazione.
A seconda delle dimensioni medie del file e di altre variabili, è possibile usare la zona MFT riservata o lo spazio non riservato sul disco prima dell'altro quando il disco riempie la capacità.
I volumi con un numero ridotto di file relativamente grandi esauriscono prima lo spazio non riservato, mentre i volumi con un numero elevato di file relativamente piccoli esauriscono prima lo spazio della zona MFT. In entrambi i casi, la frammentazione del MFT inizia a verificarsi quando un'area o l'altra diventa piena. Se lo spazio non riservato diventa pieno, lo spazio per i file utente e le directory inizia a essere allocato dalla zona MFT in competizione con MFT per l'allocazione. Se la zona MFT diventa piena, lo spazio per le nuove voci MFT viene allocato dal resto del disco, di nuovo in competizione con altri file.
Un nuovo parametro del Registro di sistema può aumentare la percentuale di un volume che NTFS riserva per la relativa tabella di file master. NtfsMftZoneReservation è un valore REG_DWORD che può assumere un valore compreso tra 1 e 4, dove 1 corrisponde alla dimensione minima della zona MFT e 4 corrisponde al valore massimo. Se il parametro non viene specificato o viene specificato un valore non valido, NTFS usa un valore predefinito pari a 1 per questo parametro. I rapporti esatti che corrispondono a ogni impostazione non sono documentati perché non sono standardizzati e possono cambiare nelle versioni future. Per sapere qual è l'impostazione migliore per l'ambiente, potrebbe essere necessario sperimentare con valori diversi.
Per determinare le dimensioni correnti di MFT in un computer Windows, digitare il dir /a $mft
comando in un volume NTFS.
Per determinare le dimensioni correnti di MFT in un computer Windows, usare Disk Defragmenter per analizzare l'unità NTFS e quindi fare clic su Visualizza report. Vengono visualizzate le statistiche delle unità, incluse le dimensioni MFT correnti e il numero di frammenti.
Il deframmentatore disco visualizza il verde per i file di sistema e in un volume formattato NTFS si tratta semplicemente della combinazione di MFT, pagefile.sys (se presente in questo volume) e ciò che viene chiamato "Zona MFT" o spazio riservato per l'espansione MFT. Il rapporto di deframmentazione visualizza solo informazioni sul file di paging e MFT; non menziona la zona MFT perché non influisce in alcun modo sull'utilizzo o sulla capacità del disco.
La zona MFT non viene sottratta dallo spazio disponibile (disponibile) dell'unità utilizzata per i file di dati utente, ma solo dallo spazio usato per ultimo. Quando MFT deve aumentare le dimensioni, ad esempio, sono stati creati nuovi file e directory, viene innanzitutto ricavato dalla zona MFT, riducendo così la frammentazione MFT e ottimizzando le prestazioni MFT.
La zona MFT predefinita viene calcolata e riservata da Ntfs.sys quando monta il volume e si basa sulle dimensioni del volume. È possibile aumentare la zona MFT tramite la voce del Registro di sistema documentata di seguito, ma non è possibile rendere la zona MFT predefinita inferiore a quella calcolata da Ntfs.sys. L'aumento della zona MFT non riduce in alcun modo lo spazio su disco che può essere usato dagli utenti per i file di dati.
Note
I risultati restituiti dal comando dir potrebbero non essere correnti. Le dimensioni segnalate dal comando dir possono riflettere i dati memorizzati nella cache che riflettono le dimensioni di MFT al momento dell'avvio del sistema dopo un arresto ordinato.
Importante
In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Successivamente, è possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il ripristino del Registro di sistema in Windows.
Per aggiungere questo valore, seguire questa procedura:
Eseguire l'editor del Registro di sistema (Regedt32.exe) e passare alla sottochiave seguente:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
Scegliere Aggiungi valore dal menu Modifica.
Digitare le informazioni seguenti nella finestra di dialogo:
- Nome valore: NtfsMftZoneReservation
- Tipo di dati: REG_DWORD
- Dati: (l'intervallo valido è 1-4)
Uscire dall'editor del Registro di sistema e riavviare il computer.
Note
Si tratta di un parametro di runtime e non influisce sul formato effettivo di un volume. Invece, influisce sul modo in cui NTFS alloca spazio su tutti i volumi in un determinato sistema. Pertanto, per essere completamente efficace, il parametro deve essere attivo dal momento in cui un volume è formattato e per tutta la durata del volume. Se il parametro del Registro di sistema viene regolato verso il basso o rimosso, la zona MFT verrà ridotta di conseguenza, ma questo non avrà alcun effetto sullo spazio MFT già allocato e usato.