Je sais que monter le même disque avec un système de fichiers ext4 à partir de deux serveurs différents (c'est un vloume iSCSI) corrompra probablement les données sur le disque. Ma question est la suivante: cela fera - t-il une différence si l'un des serveurs monte le disque en lecture seule tandis que l'autre le monte en lecture-écriture?
Je sais que OCFS2 ou les goûts pourraient être utilisés pour cela et que je pourrais exporter le disque avec NFS pour être accessible à l'autre serveur, mais je voudrais savoir si la configuration que je propose fonctionnera.
Réponses:
Non. Cela ne donnera pas de résultats cohérents sur le client en lecture seule, en raison de la mise en cache. Ce n'est certainement pas conçu pour ça. Vous pouvez vous attendre à voir des erreurs d'E / S renvoyées aux applications. Il y a probablement encore un certain nombre d'erreurs dans le code, ce qui pourrait provoquer un crash du noyau ou une mémoire corrompue utilisée par n'importe quel processus.
Mais surtout, ext4 relit le journal même sur des montages en lecture seule. Ainsi, un montage en lecture seule continuera d'écrire sur le périphérique de bloc sous-jacent. Ce serait dangereux même si les deux supports étaient en lecture seule :).
la source
blockdev --setro /dev/sda1
.sudo mount -t ext4 -o ro,loop,noload /dev/vda /mnt/
digital-forensics.sans.org/blog/2011/06/14/...Cela évitera la corruption des données, mais ne sera probablement pas ce que vous voulez faire. Je n'ai jamais remarqué de problème lors du montage du volume en lecture seule sur un autre nœud. Même si quelque chose ne correspond pas sur le nœud ro, cela ne fait que lancer un "inode libre inattendu, veuillez exécuter e2fsck" ou similaire dans / var / log / messages. Si quelque chose est terriblement inattendu à propos d'un système de fichiers non critique ("/ opt / mySpecialmount"), Linux montera généralement le volume en lecture seule (ce qui, nous y sommes déjà). Si vous êtes très inquiet de l'effet de la mise en cache, vous pouvez essayer de mettre en place une sorte de régime drop_caches / vfs_cache_pressure.
Pour éviter de rejouer le journal, ajoutez "noload" aux arguments de montage, faites-le en même temps que errors = remount-ro (juste pour pécher par excès de prudence).
Cela dit, il y a de fortes chances que si vous êtes prêt à le monter en lecture seule, c'est probablement juste comme référence pour l'autre nœud, auquel cas NFS ou smbfs résoudraient le problème et est conçu pour un peu plus de concurrence que ext3 / 4 serait. Si vous avez besoin de performances, vous pouvez examiner un système de fichiers en cluster (un peu plus de surcharge administrative, mais c'est là si les performances sont vraiment quelque chose dont vous avez besoin).
la source
man mount
. Je peux imaginer qu'il existe des applications qui détecteraient et / ou tolèreraient des données incohérentes dans leurs fichiers, mais vous n'avez mentionné aucune mise en garde à ce jour :).