Montajes permanentes: la única línea que puede impedir que una máquina arranque
El montaje hecho a mano desaparece tras un reinicio, y hacerlo permanente pasa por un archivo que decide si la máquina arranca. Una línea rota ahí no para un servicio sino la máquina.
AtlasPVE ·
Esta entrada responde a
- proxmox fstab montaje permanente
- proxmox disco desaparece tras reiniciar
- proxmox no arranca fstab
- qué es nofail
- proxmox montaje nfs permanente
Montas un disco o un almacén de red a mano y funciona. Reinicias la máquina y ha desaparecido.
La solución es obvia: añadir una línea a la lista de lo que se monta al arrancar. Y ahí es exactamente donde empieza el peligro.
Este archivo no es como los demás
La mayoría de los archivos de configuración del servidor, cuando se rompen, impiden que un servicio funcione. Cuando este archivo se rompe, la máquina puede no arrancar.
El resultado no es "el servicio está caído" sino "el sistema cayó en un intérprete de rescate". Y en ese punto no puedes conectarte en remoto; hace falta teclado y monitor o una consola física.
La asimetría que nadie nota
Una configuración de red rota es molesta: pierdes el acceso remoto. Pero la máquina arranca igual.
Una línea de montaje rota puede impedir que la máquina arranque siquiera.
Y aun así la gente es mucho más cuidadosa al editar el archivo de red. El orden del peligro es el inverso a la intuición, y es la intuición la que se equivoca.
Tres reglas
Valida la estructura antes de escribir. Una línea necesita al menos tres campos: origen, destino y tipo de sistema de archivos. Una línea a la que le faltan campos da problemas a toda herramienta que lea el archivo.
Escribe de forma atómica. Una escritura a medias es peor en este archivo que ninguna escritura: queda un archivo truncado y la máquina intenta arrancar con él.
No dejes que un disco ausente tenga a la máquina de rehén. Para almacenes de red y discos extraíbles usa la opción que permite continuar el arranque cuando el montaje falla. Que un disco de copias no esté conectado no es razón para que el servidor no arranque.
La trampa de la verificación: un control que se cae no es un control superado
La lección más general de este artículo está aquí, y no vale solo para este archivo.
Existe una herramienta estándar para validar este archivo. Medida en una máquina real, salió esto: la herramienta se cae cuando ve una línea con menos de tres columnas. Es decir, revienta justo cuando ve la forma defectuosa que debería atrapar.
Que una herramienta de verificación se caiga no significa que la verificación haya pasado. La respuesta correcta no es "sin problemas" sino "no se pudo verificar".
Un proceso que no hace esa distinción aprueba el archivo más peligroso en su momento más débil.
La segunda trampa: no toda queja es un error
La misma herramienta de validación puede decir dos cosas distintas, y confundirlas crea un problema nuevo.
Un error de formato significa que el archivo no se puede leer. Eso sí es peligroso y la escritura debe deshacerse.
Una queja semántica es otra cosa: cosas como "destino inalcanzable al arrancar" o "tipo de sistema de archivos desconocido". Estas no corrompen el archivo y pueden ser legítimas. Añadir una línea para un dispositivo aún no conectado es común y correcto; la opción que permite continuar el arranque existe justo para eso.
Un control que mete las dos en el mismo saco rechaza una línea recién escrita y perfectamente válida. Dicho de otro modo, una puerta demasiado estricta hace el trabajo imposible y empuja a la gente a apagar la puerta.
Qué hace Atlas
En Atlas, toda escritura en este archivo pasa por una sola puerta. Cada línea se comprueba estructuralmente antes de escribir, la escritura es atómica y, tras escribir, el archivo se vuelve a leer y verificar; si no aparece el resultado esperado, se restaura el estado anterior.
Las dos trampas de arriba se tratan a propósito. La herramienta de validación externa cuenta solo como señal secundaria: si se cae, el resultado no es "limpio" sino "no se pudo verificar". Y los errores de formato y las quejas semánticas se tratan por separado; solo un error de formato provoca la vuelta atrás, mientras que las quejas semánticas no se tragan sino que se informan a quien llama.
La necesidad de esa distinción también se encontró midiendo: en la primera versión ambas provocaban la vuelta atrás y, en ese estado, se rechazaba incluso una línea recién escrita y completamente válida.
Una nota honesta sobre la historia: el producto escribía antes en este archivo desde ocho sitios distintos, y en ninguno se comprobaba que lo escrito fuera válido; en dos se sobreescribía todo el archivo de forma no atómica. En el mismo producto, el archivo de red, que no puede impedir el arranque de la máquina, se escribía de forma atómica. Así que el archivo más peligroso era el menos protegido. Se midió y se llevó tras una sola puerta.
Fuentes
La documentación oficial de Proxmox. En inglés, y en este asunto es ella la que tiene la última palabra.