¿Es seguro deshabilitar boot fsck en un sistema de archivos ext3 de solo lectura?

¿Es seguro deshabilitar boot fsck en un sistema de archivos ext3 de solo lectura?

Tengo un sistema de archivos ext3 grande, de lectura frecuente, montado en modo de solo lectura en un sistema que generalmente siempre se reinicia con fuerza unas 2 o 3 veces al día.

Debido a que el dispositivo generalmente se apaga al cortar la energía, fsck se ejecuta al arrancar en ese sistema de archivos, pero para esta aplicación los tiempos de arranque rápidos son importantes (hasta el segundo).

Puedo desactivar las comprobaciones de tiempo de arranque en el sistema de archivos en fstab, pero mi pregunta es: ¿es seguro hacerlo? Dado que el sistema de archivos está montado como de sólo lectura pero nunca se desmonta correctamente, ¿hay algunacualquier¿Existe riesgo de acumular daños en el sistema de archivos durante un largo período de tiempo si desactivo la verificación del tiempo de inicio?

Respuesta1

Desde la mountpágina de manual,

   -r, --read-only
          Mount the filesystem read-only. A synonym is -o ro.

          Note  that,  depending  on the filesystem type, state and kernel
          behavior, the system may still write to the device. For example,
          Ext3 or ext4 will replay its journal if the filesystem is dirty.
          To prevent this kind of write access, you may want to mount ext3
          or  ext4  filesystem  with  "ro,noload" mount options or set the
          block device to read-only mode, see command blockdev(8).

Si ro,noloadresulta insuficiente, no conozco ninguna manera de configurar un dispositivo de solo lectura con solo una entrada fstab; es posible que necesite llamar blockdev --setroo crear un dispositivo de bucle de sólo lectura ( losetup --read-only) por algún otro medio antes de montar su sistema de archivos.

Si lo hace verdaderamente de solo lectura, ni siquiera sabrá que fue montado. Por lo tanto, no hay actualizaciones de recuento de montaje ni fsck forzado y, especialmente, no es posible la corrupción, siempre y cuando nada escriba en el dispositivo...

Respuesta2

Desde la tune2fspágina de manual:

   -c max-mount-counts
          Adjust the number of mounts after which the filesystem will be checked by e2fsck(8).  If max-mount-counts is 0 or -1, the number
          of times the filesystem is mounted will be disregarded by e2fsck(8) and the kernel.

          Staggering  the mount-counts at which filesystems are forcibly checked will avoid all filesystems being checked at one time when
          using journaled filesystems.

          You should strongly consider the consequences of disabling mount-count-dependent checking entirely.  Bad  disk  drives,  cables,
          memory, and kernel bugs could all corrupt a filesystem without marking the filesystem dirty or in error.  If you are using jour-
          naling on your filesystem, your filesystem will never be marked dirty, so it will not normally be checked.  A  filesystem  error
          detected  by the kernel will still force an fsck on the next reboot, but it may already be too late to prevent data loss at that
          point.

          See also the -i option for time-dependent checking.

y:

   -i  interval-between-checks[d|m|w]
          Adjust the maximal time between two filesystem checks.  No postfix or d result in days, m in months, and w in weeks.  A value of
          zero will disable the time-dependent checking.

          It  is  strongly recommended that either -c (mount-count-dependent) or -i (time-dependent) checking be enabled to force periodic
          full e2fsck(8) checking of the filesystem.  Failure to do so may lead to filesystem corruption due to bad disks, cables, memory,
          or kernel bugs to go unnoticed until they cause data loss or corruption.

Por lo tanto, puede configurar ambos en cero, lo que debería desactivar fscklos automáticos (suponiendo quede hechoAunque quiero hacer eso).

Respuesta3

Dejo mi otra respuesta por razones históricas y contextuales, pero al volver a leer veo tu pregunta real: Sí, todavía quiereseventualmentehacer un fsck. Todos los discos tienen una vida finita y fsckasignarán sectores defectuosos a un inodo/lista de "bloques defectuosos" para que ningún archivo nuevo los utilice.

Ser de solo lectura (y hacer las noloadcosas de las que habla frotschutz) ayuda a evitar problemas de coherencia debido a la interrupción del servicio, pero aún así debes tener en cuenta que tu hardware simplemente está desapareciendo.

información relacionada