Sé que montar el mismo disco con un sistema de archivos ext4 desde dos servidores diferentes (es un iSCSI vloume) probablemente dañará los datos en el disco. Mi pregunta es ¿hará alguna diferencia si uno de los servidores monta el disco de solo lectura mientras que el otro lo monta de lectura-escritura?
Sé que OCFS2 o similares podrían usarse para esto y que podría exportar el disco con NFS para que sea accesible al otro servidor, pero me gustaría saber si la configuración que propongo funcionará.
Respuestas:
No. No dará resultados consistentes en el cliente de solo lectura, debido al almacenamiento en caché. Definitivamente no está diseñado para eso. Podría esperar ver errores de E / S devueltos a las aplicaciones. Probablemente todavía exista un cierto número de descuidos en el código, que podrían causar un bloqueo del núcleo o dañar la memoria utilizada por cualquier proceso.
Pero lo más importante, ext4 reproduce el diario incluso en montajes de solo lectura. Por lo tanto, una montura de solo lectura seguirá escribiendo en el dispositivo de bloque subyacente. Sería inseguro incluso si ambas monturas fueran de solo lectura :).
fuente
blockdev --setro /dev/sda1
.sudo mount -t ext4 -o ro,loop,noload /dev/vda /mnt/
digital-forensics.sans.org/blog/2011/06/14/…Esto evitará la corrupción de datos, pero probablemente no sea lo que desea hacer. Nunca he notado ningún problema al montar el volumen de solo lectura en otro nodo. Incluso si algo no coincide en el nodo ro que generalmente arroja un "inodo libre inesperado, ejecute e2fsck" o similar en / var / log / messages. Si algo es terriblemente inesperado acerca de un sistema de archivos no crítico ("/ opt / mySpecialmount"), por lo general, Linux solo montará el volumen de solo lectura (oye, ya estamos allí). Si está súper preocupado por el efecto que tiene el almacenamiento en caché, puede intentar obtener algún tipo de régimen drop_caches / vfs_cache_pressure.
Para evitar reproducir el diario, agregue "noload" a los argumentos de montaje, hágalo junto con errors = remount-ro (solo para errar por precaución).
Dicho esto, lo más probable es que si está de acuerdo con montarlo de solo lectura, probablemente sea solo como una referencia para el otro nodo, en cuyo caso NFS o smbfs resolverían el problema y está diseñado para un poco más de concurrencia que ext3 / 4 serían. Si necesita rendimiento, puede buscar en un sistema de archivos en clúster (un poco más de gastos administrativos, pero está ahí si el rendimiento es realmente algo que necesita).
fuente
man mount
. Me imagino que hay aplicaciones que detectarían y / o tolerarían datos inconsistentes en sus archivos, pero hasta ahora no ha mencionado ninguna advertencia de este tipo :).