43 votos

¿Por qué no puede usted fsck una partición montada?

Es bien sabido que nunca se debe fsck una partición montada. Puedo entender cómo esto podría conducir fácilmente a la corrupción si el sistema de ficheros está escrito por fsck (por ejemplo, la opción-a se utiliza), pero ¿por qué no se puede leer sólo los cheques se pueden ejecutar en discos montados?

32voto

Keith Smith Puntos 579

El problema básico es que el sistema de archivos checker es (en general) no es parte del sistema de archivos. En cambio, es un programa independiente que se lee y se escribe en el mismo disco que el sistema de archivos de código en el kernel. Como resultado, si usted ejecutar fsck en un sistema de archivos activo, tiene dos entidades diferentes que son la lectura (y, potencialmente, modificación) de los mismos datos (el disco), pero no son la coordinación con cada uno de los otros de alguna manera. El resultado, como otros han señalado, es que la mayoría de las damas de esperar que nadie más está cambiando el sistema de archivos de metadatos mientras se ejecutan. Ellos se confunden y/o informe de errores falsos si el archivo del kernel del sistema cambia algo que el corrector no espera.

Hay un par de sistemas de archivos con las damas que están explícitamente diseñados para ejecutarse "en línea" (es decir, mientras el sistema de archivos está activo). Las versiones más recientes de FFS/UFS hacer esto mediante la ejecución de fsck en contra de una reciente instantánea del sistema de archivos (sólo-lectura, punto en el tiempo, copy-on-write réplica). Si encuentra problemas, tales como las inconsistencias en la asignación de mapas de bits, los corrige a través de la llamada al sistema, en lugar de por escrito a la disco sin procesar. Esto permite a coordinar con el sistema de archivos activo.

De NetApp WAFL también tiene una herramienta de comprobación. Hay probablemente otros.

28voto

MathewC Puntos 3839

De:

http://linux.die.net/man/8/fsck.ext3

"Tenga en cuenta que, en general, no es seguro ejecutar e2fsck en los sistemas de archivos montados. La única excepción es si la opción-n se especifica, y-c, -l o-L no se especifican opciones. Sin embargo, incluso si es seguro hacerlo, los resultados impresos por e2fsck no son válidos si el sistema de ficheros está montado. Si e2fsck pregunta si o no usted debe comprobar un sistema de ficheros está montado, la única respuesta correcta es "no". Sólo los expertos que realmente saben lo que están haciendo debería considerar la posibilidad de contestar a esta pregunta en cualquier otra forma. "

11voto

Evan Anderson Puntos 118832

Ejecutar fsck en una partición montada de lectura-escritura sería absurdo, incluso con fsck en modo de sólo lectura. El sistema de archivos va a cambiar con fsck, y en memoria de los datos que fsck almacena en caché del sistema de archivos va a ser válida (y por lo tanto fsck verá inconsistencia). Puede ejecutar fsck en un sólo lectura sistema de archivos montado en modo sólo lectura y obtener resultados válidos. Ejecutar fsck en modo de lectura/escritura en un sólo lectura montado filsystem haría que el kernel a ver que sistema de ficheros estructuras cambiar inesperadamente por debajo de ella, y que también sería malo.

9voto

Glomek Puntos 12183

Aparte del hecho de que probablemente iba a matar a su rendimiento de e/S, si el sistema de ficheros está siendo modificado mientras se fsck gustaría entonces no hay manera de que fsck podría mantener un seguimiento de los cambios y el informe de inconstancies.

Algunos sistemas de archivos como XFS permiten realizar la comprobación de la consistencia, mientras que el sistema de archivos es montado como lectura-escritura, con la salvedad de que los errores falsos quedará registrado. xfs_check recomienda el sistema de ficheros ser desmontado o montado en modo sólo lectura antes de realizar la comprobación.

6voto

sleske Puntos 5824

Así, el punto de fsck es el informe de inconsistencias del sistema de ficheros, que es violado invariantes.

Sin embargo, muchos de estos controles afectan a más de un FS de la estructura. Si alguien es modificar la FS (escritura de datos), estas estructuras pueden estar temporalmente fuera de sincronización. fsck vería esto como una incoherencia, aunque no es realmente un problema. fsck no tiene manera de saber si una incoherencia es sólo temporal, o permanente de un problema que hay que arreglar. Así que esto no puede funcionar (a Menos que el FS está diseñado específicamente para permitir a los cheques en línea. Algunos lo hacen, pero ext3 no).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: