Ich weiß, dass das Mounten derselben Festplatte mit einem ext4-Dateisystem von zwei verschiedenen Servern (es ist ein iSCSI-Vloume) wahrscheinlich Daten auf der Festplatte beschädigen wird. Meine Frage ist , ob es einen Unterschied macht, ob einer der Server die Festplatte schreibgeschützt und der andere schreibgeschützt einbindet.
Ich weiß, dass OCFS2 oder ähnliches dafür verwendet werden könnte und dass ich die Festplatte mit NFS exportieren könnte, um auf den anderen Server zugreifen zu können, aber ich möchte wissen, ob das von mir vorgeschlagene Setup funktioniert.
Antworten:
Nein. Auf dem schreibgeschützten Client werden aufgrund der Zwischenspeicherung keine konsistenten Ergebnisse angezeigt. Es ist definitiv nicht dafür ausgelegt. Es ist zu erwarten, dass E / A-Fehler an Anwendungen zurückgegeben werden. Es gibt wahrscheinlich immer noch eine Reihe von Fehlern im Code, die einen Kernelabsturz oder eine Beschädigung des von einem Prozess verwendeten Speichers verursachen können.
Am wichtigsten ist jedoch, dass ext4 das Journal auch auf schreibgeschützten Reitern wiedergibt. Daher schreibt ein schreibgeschützter Mount weiterhin auf das zugrunde liegende Blockgerät. Es wäre unsicher, selbst wenn beide Reittiere schreibgeschützt wären :).
quelle
blockdev --setro /dev/sda1
.sudo mount -t ext4 -o ro,loop,noload /dev/vda /mnt/
digital-forensics.sans.org/blog/2011/06/14/...Dies vermeidet Datenbeschädigungen, wird aber wahrscheinlich nicht das sein, was Sie tun möchten. Ich habe noch nie Probleme beim Mounten des Volumes mit Lesezugriff auf einem anderen Knoten bemerkt. Auch wenn auf dem ro-Knoten normalerweise etwas nicht passt, das nur einen "unerwarteten freien Inode" auslöst, führen Sie bitte e2fsck oder ähnliches in / var / log / messages aus. Wenn etwas an einem nicht-kritischen Dateisystem ("/ opt / mySpecialmount") furchtbar unerwartet ist, hängt Linux das Volume normalerweise nur mit Lesezugriff ein (was hey, wir sind bereits da). Wenn Sie sich große Sorgen darüber machen, welche Auswirkungen das Caching hat, können Sie versuchen, eine Art drop_caches / vfs_cache_pressure-Regime in Gang zu setzen.
Um zu vermeiden, dass das Journal erneut abgespielt wird, fügen Sie "noload" zu den Mount-Argumenten hinzu.
Trotzdem ist es wahrscheinlich, dass NFS oder smbfs das Problem lösen und für etwas mehr Parallelität ausgelegt sind als ext3 / 4 wäre. Wenn Sie Leistung benötigen, können Sie in ein gruppiertes Dateisystem schauen (etwas mehr Verwaltungsaufwand, aber es ist vorhanden, wenn Leistung wirklich etwas ist, das Sie benötigen).
quelle
man mount
. Ich kann mir vorstellen, dass es Anwendungen gibt, die inkonsistente Daten in ihren Dateien erkennen und / oder tolerieren, aber Sie haben bisher keinen solchen Vorbehalt erwähnt :).