Cómo NTFS reserva espacio para su tabla maestra de archivos (MFT)
En este artículo se describe cómo NTFS reserva espacio para su tabla de archivos maestros (MFT).
Número de KB original: 174619
Resumen
El sistema de archivos NTFS contiene en su núcleo un archivo denominado tabla de archivos maestros (MFT). Hay al menos una entrada en el MFT para cada archivo de un volumen NTFS, incluido el propio MFT.
Dado que las utilidades que desfragmenten volúmenes NTFS no pueden mover entradas MFT y, dado que la fragmentación excesiva de MFT puede afectar al rendimiento, NTFS reserva espacio para el MFT en un esfuerzo por mantener el MFT lo más contiguo posible a medida que crece.
En Windows, la utilidad 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 sean 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 el archivo MFT tenía antes de la operación de desfragmentación.
Un MFT puede ser demasiado grande si un volumen usado para tener muchos archivos que se eliminaron. Los archivos eliminados provocan agujeros internos en el MFT. Estos agujeros son regiones significativas que no usan los archivos. Es imposible reclamar este espacio. Esto es al menos cierto en un volumen NTFS activo.
Más información
NTFS usa entradas MFT para definir los archivos a los que corresponden. Toda la información sobre un archivo, incluido su tamaño, marca de fecha y hora, permisos y contenido de datos se almacena en entradas de MFT o en espacio externo a la MFT, pero se describe en las entradas de MFT.
(Las entradas de directorio, externas a MFT, también contienen información redundante sobre los archivos. Pero una explicación completa de todas las estructuras de NTFS está fuera del ámbito de este artículo).
A medida que los archivos se agregan a un volumen NTFS, se agregan más entradas a MFT y, por 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 el MFT no se reduce. Por lo tanto, el espacio utilizado por estas entradas no se reclama desde el disco.
Debido a la importancia de MFT a NTFS y el 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 su uso exclusivo de MFT hasta y a menos que se use el resto del volumen. Por lo tanto, el espacio de los archivos y directorios no se asigna desde esta zona MFT hasta que se asigne 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 sobre MFT, consulta la sección Elementos clave en el proceso de desfragmentación de disco de Mantenimiento del rendimiento máximo de Windows 2000 a través de la desfragmentación.
Según el tamaño medio del archivo y otras variables, la zona MFT reservada o el espacio no servido en el disco se pueden usar antes que el otro, ya que el disco se llena de capacidad.
Los volúmenes con un pequeño número de archivos relativamente grandes agotan primero el espacio no servido, mientras que los volúmenes con un gran número de archivos relativamente pequeños agotan primero el espacio de zona MFT. En cualquier caso, la fragmentación del MFT comienza a tener lugar cuando una región o la otra se llenan. Si el espacio no servido se llena, el espacio para los archivos de usuario y directorios comienza a asignarse desde la zona MFT que compite con el MFT para la asignación. Si la zona MFT se llena, se asigna espacio para las nuevas entradas de MFT 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 maestros. NtfsMftZoneReservation es un valor de 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 no están documentadas porque no están estandarizadas y pueden cambiar en futuras versiones. Para saber qué configuración es mejor para su entorno, puede ser 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 Desfragmentador de disco 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 uno 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áginas 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 (libre) utilizado para los archivos de datos de usuario, es solo el espacio que se usa en último lugar. Cuando MFT necesita aumentar el tamaño, por ejemplo, ha creado nuevos archivos y directorios, se toma primero de la zona MFT, lo que reduce la fragmentación de MFT y optimiza el rendimiento de MFT.
La zona MFT predeterminada se calcula y reserva mediante Ntfs.sys cuando monta el volumen y se basa en el tamaño del volumen. Puede aumentar la zona MFT por medio de la entrada del Registro documentada a continuación, pero no puede hacer que la zona MFT predeterminada sea menor que la calculada por Ntfs.sys. El aumento de la zona MFT no disminuye de ninguna manera el espacio en disco que los usuarios pueden usar para los archivos de datos.
Nota:
Es posible que los resultados devueltos por el comando dir no estén actualizados. El tamaño notificado por el comando dir puede reflejar los 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. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para la protección añadida, realice una copia de seguridad del Registro antes de modificarlo. A continuación, puede restaurar el Registro si se produce un problema. Para obtener más información sobre cómo realizar copias de seguridad y restaurar el registro, vea Cómo hacer copia de seguridad y restaurar el registro en Windows.
Para agregar este valor, realice los pasos siguientes:
Ejecute el Editor del Registro (Regedt32.exe) y vaya a la siguiente subclave:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
En el menú Editar , haga clic en Agregar valor.
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)
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 en todos los volúmenes de un sistema determinado. Por lo tanto, para ser completamente eficaz, el parámetro debe estar en vigor desde el momento en que se da formato a 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 tendrá ningún efecto en el espacio MFT ya asignado y utilizado.