¿Por qué el montaje de Block Storage for Classic falla con un error de comprobación del sistema de archivos?
Resolución de problemas relacionados con la comprobación del sistema de archivos en los volúmenes de almacenamiento.
Infraestructura clásica
Al ver los registros de los pods que utilizan Block Storage for Classic, aparece un error similar al del siguiente ejemplo.
UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.(i.e., without -a or -p
options)
El disco está dañado. La corrupción del disco se produce cuando un volumen persistente (PV) está activamente en modo de lectura/escritura y el pod asociado se elimina de forma forzada o el nodo se reinicia/recarga antes de que el pod se haya expulsado correctamente o cuando el volumen aún estaba conectado. En estos casos, el proceso de desmontaje no se completa correctamente, lo que deja el volumen en un estado incoherente. Esto suele ocurrir durante flujos de trabajo que realizan recargas o actualizaciones de nodos inmediatamente después del drenaje, sin verificar que todos los pods se hayan migrado y que los volúmenes se hayan desconectado.
Ejecute los mandatos siguientes para aplicar un parche al PV que el pod está montando.
-
Obtenga los detalles del pod que está fallando y anote el PV y PVC que está montando.
kubectl get pods -
Modifica el PV para añadir la anotación
"ibm.io/autofix-fsckErr":"true".kubectl patch pv PVNAME -p '{"metadata": {"annotations":{"ibm.io/autofix- fsckErr":"true"}}}' -
Suprima y vuelva a crear el pod de la app para volver a intentar montar el PV. Después de suprimir y volver a crear el pod, Kubernetes vuelve a intentar la operación de montaje y el pod del controlador Block Storage for Classic intenta solucionar automáticamente el problema basándose en la anotación
"ibm.io/autofix-fsckErr":"true". -
Después de que el pod se haya desplegado y ejecutado correctamente, ejecute el mandato siguiente para editar el PV.
kubectl edit pv PVNAME -
Elimine la anotación
"ibm.io/autofix-fsckErr: true"del PV y guárdela. -
Si el problema persiste, póngase en contacto con soporte. Abra un caso de soporte. En los detalles del caso, asegúrese de incluir los archivos de registro relevantes, los mensajes de error o las salidas de mandato.