Cómo NTFS reserva espacio para su tabla de archivos maestra (MFT)

En este artículo se describe cómo NTFS reserva espacio para su tabla de archivos maestra (MFT).

Se aplica a:   Windows 10: todas las ediciones, Windows Server 2012 R2
Número KB original:   174619

Resumen

El sistema de archivos NTFS contiene en su núcleo, un archivo denominado tabla de archivos maestro (MFT). Hay al menos una entrada en MFT para cada archivo de un volumen NTFS, incluido el propio MFT.

Dado que las utilidades que desfragmentan volúmenes NTFS no pueden mover entradas MFT y porque la fragmentación excesiva de MFT puede afectar al rendimiento, NTFS reserva espacio para MFT en un esfuerzo por mantener el MFT lo más contiguo posible a medida que crece.

En Windows, la utilidad de defrag desfragmenta el MFT.

La utilidad de desfragmentación

Una operación de desfragmentación en MFT combina un archivo MFT en 1 y evita que se almacene en varios lugares que no son secuenciales en el disco. En esta clase de operación, el archivo MFT es más secuencial. Sin embargo, es exactamente el tamaño que tenía el archivo MFT antes de la operación de desfragmentación.

Un MFT puede ser demasiado grande si se usa un volumen para tener muchos archivos que se eliminaron. Los archivos que se eliminaron provocan agujeros internos en MFT. Estos agujeros son regiones significativas que los archivos no usan. Es imposible recuperar este espacio. Esto es al menos true en un volumen NTFS vivo.

Más información

NTFS usa entradas MFT para definir los archivos a los que corresponden. Toda la información sobre un archivo, incluidos sus marcas de tamaño, hora y fecha, permisos y contenido de datos, se almacena en entradas de MFT o en espacios externos a MFT, pero se describen mediante las entradas de MFT.

(Las entradas de directorio, externas a MFT, también contienen información redundante sobre los archivos. Pero una discusión completa de todas las estructuras de NTFS está fuera del ámbito de este artículo).

A medida que se agregan archivos a un volumen NTFS, se agregan más entradas a MFT y, por lo tanto, el MFT aumenta de tamaño. Cuando los archivos se eliminan de un volumen NTFS, sus entradas de MFT se marcan como libres y se pueden reutilizar, pero MFT no se reduce. Por lo tanto, el espacio usado por estas entradas no se recupera del disco.

Debido a la importancia de MFT a NTFS y al posible impacto en el rendimiento si este archivo se vuelve muy fragmentado, NTFS hace un esfuerzo especial para mantener este archivo contiguo. NTFS reserva el 12,5 % del volumen para el uso exclusivo de MFT hasta que se use el resto del volumen y a menos que se use el resto del volumen. Por lo tanto, el espacio para archivos y directorios no se asigna desde esta zona de MFT hasta que se asigna primero el resto del espacio.

Nota

Puede cambiar la clave del Registro NtfsMFTZoneReservation para aumentar el volumen en Windows. Para obtener más información acerca de MFT, vea la sección Elementos clave en el proceso de desfragmentación de disco de Maintaining Windows 2000 Peak Performance Through Defragmentation.

Según el tamaño promedio del archivo y otras variables, la zona reservada de MFT o el espacio no reservado en el disco se pueden usar antes que la otra a medida que el disco se llena de capacidad.

Los volúmenes con un pequeño número de archivos relativamente grandes agotan primero el espacio sin conservar, mientras que los volúmenes con un gran número de archivos relativamente pequeños agotan primero el espacio de la zona MFT. En cualquier caso, la fragmentación del MFT comienza a tener lugar cuando una región u otra se llenan. Si el espacio sin conservar se llena, el espacio para archivos de usuario y directorios comienza a asignarse desde la zona MFT que compite con MFT para la asignación. Si la zona MFT se llena, el espacio para las nuevas entradas de MFT se asigna desde el resto del disco, compitiendo de nuevo con otros archivos.

Un nuevo parámetro del Registro puede aumentar el porcentaje de un volumen que NTFS reserva para su tabla de archivos maestra. NtfsMftZoneReservation es un valor REG_DWORD que puede asumir un valor entre 1 y 4, donde 1 corresponde al tamaño mínimo de zona MFT y 4 corresponde al máximo. Si no se especifica el parámetro o se proporciona un valor no válido, NTFS usa un valor predeterminado de 1 para este parámetro. Las relaciones exactas que corresponden a cada configuración son indocumentadas porque no están estandarizadas y pueden cambiar en versiones futuras. Para saber qué configuración es mejor para su entorno, puede que sea necesario experimentar con valores diferentes.

Para determinar el tamaño actual de MFT en un equipo Windows, escriba el dir /a $mft comando en un volumen NTFS.

Para determinar el tamaño actual de MFT en un equipo Windows, use Disk Defragmenter para analizar la unidad NTFS y, a continuación, haga clic en Ver informe. Esto muestra las estadísticas de unidad, incluido el tamaño actual de MFT y el número de fragmentos.

El Desfragmentador de disco muestra verde para lo que se denomina archivos del sistema y en un volumen con formato NTFS es simplemente la combinación de MFT, pagefile.sys (si existe en este volumen) y lo que se denomina "Zona MFT" o espacio reservado para la expansión de MFT. El informe de desfragmentación solo muestra información sobre el archivo de página y MFT; no menciona la zona MFT porque no afecta de ninguna manera al uso o la capacidad del disco.

La zona MFT no se resta del espacio de unidad disponible (gratuito) usado para los archivos de datos de usuario, solo es el espacio que se usa en último lugar. Cuando MFT necesita aumentar de tamaño, por ejemplo, creó nuevos archivos y directorios, primero se toma de la zona MFT, lo que disminuye la fragmentación de MFT y optimiza el rendimiento de MFT.

La zona MFT predeterminada se calcula y reserva Ntfs.sys cuando monta el volumen y se basa en el tamaño del volumen. Puede aumentar la zona MFT mediante la entrada del Registro que se documenta a continuación, pero no puede hacer que la zona MFT predeterminada sea menor que la que se calcula Ntfs.sys. El aumento de la zona MFT no disminuye de ninguna manera el espacio en disco que pueden usar los usuarios para los archivos de datos.

Nota

Es posible que los resultados devueltos por el comando dir no sean actuales. El tamaño notificado por el comando dir puede reflejar datos almacenados en caché que reflejan el tamaño de MFT en el momento en que se inició el sistema después de un apagado ordenado.

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo hacer una copia de seguridad y restaurar el Registro, vea How to back up and restore the registry in Windows.

Para agregar este valor, siga estos pasos:

  1. Ejecute el Editor del Registro (Regedt32.exe) y vaya a la siguiente subclave:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. En el menú Editar, haga clic en Agregar valor.

  3. Escriba la siguiente información en el cuadro de diálogo:

    • Nombre del valor: NtfsMftZoneReservation
    • Tipo de datos: REG_DWORD
    • Datos: (el intervalo válido es 1-4)
  4. Salga del Editor del Registro y reinicie el equipo.

Nota

Se trata de un parámetro en tiempo de ejecución y no afecta al formato real de un volumen. En su lugar, afecta a la forma en que NTFS asigna espacio a todos los volúmenes de un sistema determinado. Por lo tanto, para que sea completamente eficaz, el parámetro debe estar en vigor desde el momento en que se formatee un volumen y durante toda la vida del volumen. Si el parámetro del Registro se ajusta hacia abajo o se quita, la zona MFT se reducirá en consecuencia, pero esto no afectará al espacio de MFT ya asignado y usado.