¿Qué hace que un conjunto de datos ZFS aparezca vacío después de montarse correctamente?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Un conjunto de datos ZFS puede indicar que está montado y, aun así, parecer vacío cuando los datos esperados se encuentran en un conjunto de datos secundario, en un punto de montaje oculto o bajo otra raíz de importación.

El indicador de montaje demuestra que un conjunto de datos está asociado a una ruta, pero no confirma que esa ruta sea la que espera una aplicación o un usuario, que los conjuntos secundarios estén montados debajo de ella ni que un descendiente cifrado esté desbloqueado. Un conjunto de datos padre vacío puede estar completamente sano mientras todos los archivos reales se encuentran en conjuntos secundarios. Empieza comparando las propiedades del conjunto de datos, el espacio referenciado, las tablas de montaje y la vista del directorio antes de copiar datos o cambiar la estructura del grupo.

Compara el espacio del conjunto de datos con el directorio que abriste

Registra el nombre del conjunto de datos y sus valores USED, REFER, AVAIL, MOUNTPOINT y MOUNTED. Después, enumera el directorio exacto que se muestra al usuario o a la aplicación.

Si el conjunto de datos indica que casi no tiene datos referenciados, los archivos pueden pertenecer a un conjunto secundario, una instantánea, un clon u otro conjunto de datos con un nombre similar. El manual de ZFS de FreeBSD describe los conjuntos de datos como sistemas de archivos administrados por separado, por lo que el uso a nivel del grupo y un directorio abierto no representan necesariamente el mismo conjunto de datos.

No deduzcas que se han perdido datos basándote únicamente en el explorador gráfico de archivos. Compara la vista de propiedades de ZFS, la tabla de montajes del sistema operativo y un shell local con permisos de root que esté fuera de cualquier contenedor o espacio de nombres restringido de una aplicación.

Verifica conjuntamente mountpoint, mounted y canmount

Comprueba si el punto de montaje del conjunto de datos es explícito o heredado, si realmente está montado en esa ruta y si canmount está configurado como on, off o noauto.

La guía de propiedades de ZFS de Oracle explica que mountpoint y canmount determinan si un conjunto de datos se monta automáticamente, solo cuando se solicita o únicamente se utiliza para transmitir propiedades a sus descendientes.

Un conjunto de datos puede proporcionar propiedades heredadas a sus secundarios y permanecer intencionadamente sin montar. Por el contrario, un conjunto de datos que utiliza un punto de montaje legacy puede parecer correcto en las propiedades de ZFS, pero depender de una entrada de montaje independiente del sistema que no se ejecutó.

Inspecciona los montajes de los conjuntos padre y secundarios

Enumera el árbol completo de conjuntos de datos bajo el grupo y ordénalo por punto de montaje. Compara el conjunto padre con cada secundario que deba contener archivos de usuario, datos de aplicaciones, copias de seguridad o archivos multimedia.

Es común que un conjunto padre esté vacío cuando solo existe para organizar propiedades y puntos de montaje. El espacio de nombres de conjuntos de datos de ZFS de FreeBSD trata cada secundario como un conjunto de datos administrado por separado, por lo que pool/data puede estar vacío mientras pool/data/photos contiene los archivos reales.

Si el padre se monta pero un secundario no, diagnostica el secundario de forma independiente. Comprueba canmount, las claves de cifrado, los puntos de montaje en conflicto, las importaciones fallidas y si un servicio se inició antes de que terminara el montaje del secundario.

-15% OFF

Comprueba si el montaje ocultó archivos que ya estaban en el directorio

Puede haber archivos en el directorio normal antes de que un conjunto de datos se monte sobre él. Una vez montado el conjunto de datos ZFS, esos archivos subyacentes quedan ocultos en la ruta, aunque sigan estando en el sistema de archivos raíz.

Desmonta el conjunto de datos únicamente durante una ventana de mantenimiento controlada e inspecciona el directorio subyacente desde el host. El manual de montaje de Linux indica que el contenido preexistente del punto de montaje se vuelve invisible mientras el sistema de archivos montado ocupa esa ruta.

También puede ocurrir el fallo contrario: un montaje ZFS esperado falla y deja visible para los usuarios y contenedores el directorio subyacente vacío. Esto puede hacer que un conjunto de datos sano parezca vacío, aunque simplemente no esté asociado a la ruta que se está ofreciendo.

Descarta una raíz alternativa y el comportamiento de los montajes heredados

Comprueba si el grupo se importó con una raíz alternativa, una opción de recuperación, una ruta de montaje temporal o un nombre de grupo diferente. Un conjunto de datos puede haberse montado correctamente bajo una ruta de recuperación con prefijo en lugar de su ubicación normal de producción.

Importar un grupo con una raíz alternativa reescribe las ubicaciones de montaje de los conjuntos de datos con respecto a esa raíz temporal. La referencia de zpool import de Ubuntu documenta que -R establece altroot, mientras que -N puede importar el grupo sin montar los sistemas de archivos.

Inspecciona también los conjuntos de datos cuyo punto de montaje sea legacy. En ese modo, ZFS no administra el montaje automáticamente, por lo que la configuración de montajes del sistema operativo se convierte en la fuente de verdad.

Comprueba los secundarios cifrados y los espacios de nombres de montaje de los contenedores

Un conjunto de datos secundario cifrado puede seguir sin estar disponible después de que se monte su padre si no se cargó la clave o si falló el montaje del secundario. El directorio padre puede parecer vacío o incompleto aunque el grupo esté conectado.

Verifica el estado de las claves y del montaje de cada descendiente cifrado y compara la ruta del host con la ruta que se presenta al contenedor. La documentación de LXD de Canonical explica que los dispositivos de disco de los contenedores asignan fuentes del host a rutas de instancia independientes, por lo que un conjunto de datos secundario visible en el host puede seguir ausente de un montaje antiguo del contenedor.

Si el host ve los datos pero un contenedor no, inspecciona el origen del enlace del contenedor y la propagación del montaje. Un contenedor creado antes de que se montara el secundario ZFS puede seguir viendo el directorio subyacente vacío hasta que se vuelva a crear el servicio o se propague correctamente el montaje.

Restaura la vista correcta sin copiar el conjunto de datos

Corrige la propiedad o ruta mínima que hayas confirmado: monta el secundario que falta, corrige un punto de montaje heredado, elimina una raíz alternativa no deseada, repara la entrada de montaje heredada, carga la clave de cifrado o vuelve a crear el contenedor con el origen de enlace correcto.

La lista de comprobación de recuperación del servidor doméstico de ZimaSpace ofrece una regla relacionada: verifica la capa de almacenamiento y el estado del montaje antes de ejecutar herramientas de reparación o restaurar datos.

El diagnóstico está completo cuando el conjunto de datos esperado y sus secundarios aparecen montados en las rutas previstas, el espacio referenciado coincide con los archivos visibles, las aplicaciones ven el mismo árbol que el host y la configuración se mantiene después de exportar, importar, reiniciar el servicio y reiniciar el sistema.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.