Un alto conteo de archivos puede agotar el suministro de inodos de un NAS doméstico antes de agotar los bloques de datos. El resultado parece contradictorio: una pantalla de capacidad puede mostrar gigabytes o terabytes libres, pero una carga, respaldo, contenedor o trabajo de indexación ya no puede crear otro archivo.
Este es un límite del sistema de archivos, no una propiedad universal de todos los NAS. La falla clásica es más fácil de ver en ext4 y sistemas de archivos similares con una población de inodos definida, mientras que XFS y Btrfs asignan metadatos de manera diferente. Por lo tanto, el tipo de sistema de archivos determina si “inodos libres” es la métrica correcta o solo una parte del diagnóstico.
Un NAS doméstico puede agotar las ranuras de objetos antes que los bloques de datos
La causa directa es que los datos del archivo y la identidad del archivo consumen recursos diferentes. En ext4, un inodo registra metadatos como marcas de tiempo, propiedad, asignaciones de bloques y atributos extendidos, mientras que una entrada de directorio asocia un nombre con un inodo. La documentación del inodo ext4 del kernel de Linux describe su tabla de inodos como un arreglo lineal distribuido a través de grupos de bloques.
Cada archivo regular nuevo normalmente necesita un inodo, pero el tamaño en bytes no determina cuántos inodos necesita. Un video de 100 GB puede ocupar un solo inodo, mientras que un millón de archivos de caché pequeños pueden requerir aproximadamente un millón de inodos. Los directorios y los enlaces simbólicos también son objetos del sistema de archivos, mientras que múltiples enlaces duros al mismo archivo comparten un inodo.
Por lo tanto, los bloques libres pueden seguir disponibles después de que se haya asignado el último inodo libre. En ese momento, el NAS todavía tiene espacio para más contenido de archivos en principio, pero carece de la identidad de metadatos necesaria para crear otro objeto. La capacidad y el conteo de objetos son lo suficientemente independientes como para que ambos deban ser observados.
Por qué los archivos pequeños consumen inodos más rápido que la capacidad
Los archivos pequeños crean una alta densidad de objetos: se requieren muchas identidades para una carga útil relativamente pequeña. Un archivo de cero bytes aún necesita metadatos, y un árbol de directorios añade sus propios inodos de directorio incluso antes de contar los archivos que contiene. Por eso, una carga de trabajo puede consumir ranuras de archivos mucho más rápido que los terabytes anunciados de un NAS.
En ext4, la herramienta de creación puede calcular la población de inodos a partir de un ratio de bytes por inode o aceptar un conteo explícito de inodos. Las opciones de asignación de inodos de mke2fs indican que un ratio mayor de bytes por inode crea menos inodos y que el ratio no puede cambiarse después de la creación del sistema de archivos, aunque el redimensionamiento mantiene el ratio configurado añadiendo inodos con el nuevo espacio.
Un modelo simple de planificación es población aproximada de inodos = tamaño del sistema de archivos ÷ ratio de bytes por inode. Con un ratio hipotético de 16 KiB, 1 TiB corresponde a unos 67 millones de espacios para inodos antes de considerar la sobrecarga del formato y los límites del sistema de archivos. Esto es una ilustración, no un valor predeterminado universal para NAS: los perfiles de formato y las implementaciones del sistema de archivos eligen políticas diferentes.
Qué cambia cuando se asigna el último inode libre
En el caso clásico de agotamiento, las operaciones que necesitan un nuevo inode comienzan a fallar. Nuevas cargas, directorios, archivos temporales, miembros extraídos de archivos y archivos de estado de aplicaciones pueden ser rechazados aunque los archivos existentes aún puedan leerse. Un archivo existente también puede crecer si quedan bloques de datos libres porque ya posee un inode.
Las aplicaciones a menudo traducen el fallo de asignación en un mensaje genérico de “No queda espacio en el dispositivo”. Ese mensaje identifica una asignación de recursos fallida, pero no indica al usuario si el recurso faltante eran bloques de datos, inodos, una cuota permitida o espacio de metadatos específico del sistema de archivos. El error visible debe ir acompañado de contadores del sistema de archivos.
Qué cargas de trabajo en NAS domésticos crean un número extremo de archivos
La carga de trabajo riesgosa no es simplemente “datos grandes”. Es cualquier carga de trabajo que materialice muchos objetos independientes del sistema de archivos, especialmente cuando la limpieza o retención permite que esos objetos se acumulen durante meses.
Capas de contenedores, registros y árboles de paquetes
Las imágenes de contenedores, paquetes de software extraídos, árboles de dependencias, registros rotativos y cachés de aplicaciones pueden colocar un gran número de objetos pequeños bajo un servicio alojado en NAS. La imagen del contenedor puede parecer modesta en gigabytes mientras que sus capas desempaquetadas y el estado escribible consumen muchas más identidades de objetos que un archivo multimedia del mismo tamaño.
Miniaturas de fotos e índices de búsqueda
Un gestor de fotos puede generar miniaturas, vistas previas, archivos secundarios, recortes de rostros o fragmentos de índice para cada recurso fuente. Algunas aplicaciones consolidan estos registros en bases de datos, mientras que otras almacenan muchos de ellos como archivos ordinarios, por lo que el efecto inode depende del diseño de almacenamiento de la aplicación más que del tamaño de la biblioteca de fotos.
Historiales de sincronización, árboles de respaldo y almacenes de correo
Los sistemas de versionado que materializan revisiones como archivos, árboles de respaldo que contienen muchos objetos fuente y almacenes de correo con un mensaje por archivo pueden producir un alto conteo de archivos. Las instantáneas copy-on-write y los repositorios deduplicados pueden representar versiones de manera diferente, por lo que el conteo de instantáneas no debe tratarse como un conteo directo de inodos sin verificar la implementación.
Por qué un panel de capacidad puede no detectar presión de inodos
Muchos paneles enfatizan bytes: capacidad total, bloques usados y bloques libres. La interfaz estándar de estadísticas del sistema de archivos mantiene contadores de objetos por separado como números totales, libres y disponibles de archivos; en Linux estos corresponden a campos como f_files y f_ffree en statvfs estadísticas del sistema de archivos. Una interfaz que omite esos campos puede parecer saludable durante un agotamiento clásico de inodos.
En un NAS basado en Linux con acceso a shell, se puede comparar el uso de bloques y el uso de inodos para la misma ruta montada:
df -h /ruta/en/nas
df -i /ruta/en/nas
El manual GNU df define -i como uso de inodos en lugar de uso de bloques y muestra campos de total, usado, disponible y porcentaje. Bloques libres junto a inodos disponibles en cero apoyan firmemente el agotamiento clásico de inodos; margen en ambas columnas apunta a un límite diferente.
Los sistemas de archivos con inodos fijos y dinámicos fallan de manera diferente
“El NAS se quedó sin inodos” es preciso solo cuando el modelo de asignación del sistema de archivos y los contadores reportados lo respaldan. El mismo mensaje de espacio insuficiente puede provenir de un límite diferente de metadatos en otro sistema de archivos.
| Modelo de sistema de archivos | Cómo se proveen los metadatos de objetos | Métrica más útil primero | Límite de interpretación |
|---|---|---|---|
| ext4 | Las tablas de inodos contienen una población configurada a través de grupos de bloques |
df -i además del uso de bloques |
Inodos libres en cero con bloques libres es el patrón clásico de agotamiento de inodos |
| XFS | El espacio puede asignarse a bloques de inodos dentro de una política de porcentaje de espacio para inodos | Contadores de inodos más datos de asignación y espacio libre de XFS | No asuma una tabla de inodos con formato ext4 basado en tiempo |
| Btrfs | Los datos y metadatos ocupan tipos de grupos de bloques separados | Informe de datos, metadatos y espacio no asignado de Btrfs | El agotamiento de metadatos puede parecer una capacidad libre ENOSPC sin el agotamiento clásico de inodos fijos |
La política de espacio de inodes de XFS puede limitar el porcentaje del sistema de archivos asignado a inodes, mientras que el informe oficial del sistema de archivos Btrfs separa Datos, Sistema, Metadatos y ReservaGlobal. Esos modelos pueden producir límites relacionados con metadatos, pero no deben explicarse como si cada NAS tuviera la misma tabla fija de inodes.
La interfaz genérica de estadísticas también advierte que no todos los campos devueltos son significativos en todos los sistemas de archivos. Identifique primero el sistema de archivos montado y luego interprete df -i a través de esa implementación en lugar de tratar un comando como prueba universal.
Qué significa el espacio de inodes para la planificación de capacidad NAS
Una previsión de capacidad para una carga de trabajo con muchos objetos necesita tanto los bytes esperados como el conteo esperado de objetos. Los archivos multimedia suelen ser densos en bytes, mientras que los árboles de dependencias, miniaturas, almacenes de correo y árboles de respaldo materializados pueden ser densos en objetos. Por lo tanto, dos cargas de trabajo con el mismo tamaño lógico pueden necesitar espacios muy diferentes para metadatos.
Para un volumen ext4, la relación bytes-por-inode es una elección de diseño en el momento del formateo, más que un ajuste normal en vivo. Redimensionar puede añadir inodes en línea con la relación establecida, pero no elige retroactivamente un perfil más denso. Reformatear solo para cambiar esa relación es una decisión de migración con consecuencias de respaldo y restauración, no un ajuste casual de rendimiento.
Una vez descartada la presión de inodes, las preguntas ordinarias sobre la capacidad de bloques permanecen separadas; un plan de capacidad de almacenamiento NAS para el hogar puede complementar esa decisión, pero la orientación sobre terabytes libres no reemplaza un conteo de inodes o metadatos.
Por qué eliminar un archivo grande puede no recuperar suficientes inodes
Eliminar una película grande puede liberar muchos bloques de datos, pero normalmente solo libera un inode. Eliminar un árbol de directorios que contiene cientos de miles de objetos de caché prescindibles puede liberar muchos inodes, incluso cuando la capacidad de bytes recuperados es comparativamente pequeña. La limpieza debe coincidir con el recurso que está agotado.
Un objeto desvinculado no siempre se recupera inmediatamente. El comportamiento unlink de Linux mantiene un archivo en existencia cuando un proceso aún tiene su último enlace abierto, y lo libera después de que se cierra el último descriptor de archivo que lo referencia. Por lo tanto, la recuperación de inodos puede retrasarse respecto a la eliminación de la ruta para registros activos o archivos de servicio.
Preguntas frecuentes
¿Cada archivo usa exactamente un inodo?
Un archivo normal normalmente tiene un inodo, y los directorios y enlaces simbólicos también tienen sus propias identidades en el sistema de archivos. Múltiples nombres de enlace duro pueden apuntar al mismo inodo, mientras que las características específicas del sistema de archivos pueden almacenar metadatos adicionales en objetos separados, por lo que el recuento de rutas y el recuento de inodos están relacionados pero no siempre son idénticos.
¿Puede una caché SSD o una red más rápida evitar el agotamiento de inodos?
No. Los medios y redes más rápidos pueden reducir la latencia o aumentar el rendimiento, pero no crean ranuras adicionales de inodos en una población fija de inodos. Pueden hacer que una carga de trabajo con alto recuento de archivos se complete más rápido y alcance el mismo límite de metadatos antes.
¿Lo hace? df -i ¿funciona en todos los sistemas de archivos NAS domésticos?
Informa los contadores de estilo inodo suministrados a través de la interfaz del sistema de archivos montado, pero esos contadores pueden no tener el mismo significado en todos los sistemas de archivos. Úselo directamente para diagnóstico estilo ext4 y combínelo con herramientas de metadatos específicas del sistema de archivos para XFS, Btrfs, ZFS o un dispositivo que abstraiga el volumen subyacente.
¿Puede la expansión de un sistema de archivos ext4 agregar más inodos?
Sí, el redimensionamiento de ext4 puede agregar inodos a medida que se incorpora nuevo espacio, manteniendo la proporción existente de bytes por inodo. Esto difiere de cambiar la proporción en el sistema de archivos existente, lo cual, según la documentación de la herramienta de creación, no está soportado después del formateo.
¿Todos los errores de “No queda espacio en el dispositivo” son causados por inodos?
No. Bloques de datos completos, cuotas, espacio reservado, asignación de metadatos Btrfs, límites de espacio temporal y algunos límites de recursos no relacionados con el almacenamiento pueden producir mensajes similares. El agotamiento de inodos se admite cuando la falla implica la creación de objetos del sistema de archivos y el contador de inodos relevante no tiene entradas disponibles.
El recuento de archivos es una dimensión de capacidad propia
Un NAS doméstico puede conservar espacio libre en disco y aún así dejar de aceptar nuevos objetos porque los bytes y los metadatos del sistema de archivos son dimensiones de capacidad separadas. Considere el alto recuento de archivos como una propiedad de la carga de trabajo, confirme el sistema de archivos real y compare el margen de bloques con el margen de inodos o metadatos antes de concluir que los discos están llenos.
Centro de Tecnología e IA
Más para leer

How Write-Back Cache Changes Data Risk in a Home NAS
Audit every layer that can acknowledge a write before deciding whether write-back cache is safe, unnecessary, or too risky for your home NAS.

¿Cómo afecta la vibración del disco a los gabinetes NAS domésticos densos?
Separe el zumbido inofensivo del NAS de la vibración que afecta el rendimiento del HDD, luego decida si volver a montar las unidades, reparar...

Cuando el ancho de banda del enlace PCIe limita un HBA de servidor doméstico
Compare el rendimiento medido del disco con el ancho de banda PCIe negociado para decidir si la ranura de tu HBA es un verdadero...

