Tengo un dispositivo instalado con Ubuntu 14.04.5 que tiene un solo disco duro con un sistema de archivos ext4.
Al leer el documento Ext4 Filesystem aprendí que el modo de datos predeterminado es el ordered
que solo protege los metadatos. En mi proyecto, queremos cambiarlo para journal
proteger también los datos del archivo porque la seguridad de los datos es de mayor valor.
Lo primero que intenté fue modificar el /etc/fstab
archivo. Traté de cambiar
UUID=<UUID> / ext4 errors=remount-ro 0 1
a
UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1
agregando data=journal
al campo de opción.
Sin embargo, cuando reinicio el dispositivo, terminé con un mensaje de error que decía cannot change data mode on remount
. Lo revisé dmesg
y vi un mensaje anterior sobre el montaje de la unidad con ordered
el modo de datos.
Durante un tiempo embarazosamente largo, pensé que /etc/fstab
se usa para anular las opciones de montaje predeterminadas para que las unidades solo se monten una vez. Pero ahora parece incorrecto: la unidad se monta utilizando sus opciones de montaje predeterminadas, luego /etc/fstab
se recoge para volver a montarla .
Mis preguntas son :
- ¿Es este proceso de "montaje remoto" el diseño del sistema? Leí la
Fstab
página wiki pero no vi que menciona la cosa de "montaje-montaje". - Si
/etc/fstab
realmente se usa para volver a montar, ¿ en qué paso del proceso de arranque se monta la unidad por primera vez? ¿Está implementado en/etc/init.d
? Vi algunas secuencias de comandos en/etc/init.d
llamadasumountfs
yumountroot
, pero, desnatando su contenido, no parecen relevantes.
fuente
/etc/fstab
reside en el sistema de archivos raíz, pero no se puede leer hasta después de que se haya montado el sistema de archivos): ¿initramfs usa / etc / fstab?Respuestas:
De
man ext4
:Elimine
data=ordered
de su línea fstab y edite en su/etc/default/grub
lugar. En/etc/default/grub
cambio la lineaa
ejecutar
sudo update-grub
y reiniciar.fuente
Cuando se usa / etc / fstab
Si ejecuta
sudo strace -e open,openat mount -o remount,rw /
, verá que el comando de hecho se abre/etc/fstab
. Este es el comando más común que verá, a menudo mencionado en artículos sobre cómo trabajar desde el shell de recuperación.Para citar también la respuesta de sourcejedi (que viene del
mount(8)
manual):Sin embargo, eso no significa que
/etc/fstab
siempre se use. En particular, cuando también especifica el archivo del dispositivo; referencia almount(8)
manual :Esto tiene sentido, ya que
/dir
podría ser arbitrario: volver a montar un dispositivo en un punto de montaje diferente.El
/etc/fstab
también no se hace referencia al montar/
el sistema de archivos en tiempo de arranque del kernel no sabe nada de/etc/fstab
. Para citar la respuesta de psusi :Sistemas de archivos que no necesitan fstab
Tenga en cuenta también que el kernel de Linux tiene otros sistemas de archivos que residen en la memoria; estos no están disponibles para los usuarios normalmente, algunos de los cuales no tienen un punto de montaje, mientras que otros están expuestos a los usuarios. Kernel no tiene que hacer referencia
/etc/fstab
a ellos. Ejemplo de esto es/proc
: es un sistema de archivos virtual que expone principalmente información sobre procesos, y algunas cosas sobre el hardware y el sistema que realmente deberían estar en/sys
otro sistema de archivos virtual.fuente