Gibt es eine Möglichkeit, nur eine Partition zu synchronisieren?

17

Gibt es eine Möglichkeit, nur eine Partition anstelle aller Partitionen zu synchronisieren?

So etwas wie "sync / dev / sdc1".

HandyGandy
quelle
1
Soweit ich weiß. Gute Frage.
Nikhil Mulley

Antworten:

10

Sie können mit der Synchronisierungsoption erneut einhängen und diese dann mit async erneut einhängen:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

Die Verwendung der Remount-Option führt nicht zu Problemen mit Prozessen, die ein remountetes Dateisystem verwenden.

Michał Šrajer
quelle
2
Warum denkst du, dass 2 Remounts notwendig sind? In mindestens 2.6.32 kernel do_remount_sb führt sync_filesystem die die gleiche Funktion , die in syncfs Systemaufruf aufgerufen wird eingeführt in lwn.net/Articles/433384 .
Yuriy Nazarov
5

Es ist eine Standardfunktion zu synchronisieren Daten (und Metadaten) einer Datei: fsync. Es gibt keinen Standard- oder allgemeinen Shell-Befehl, um darauf zuzugreifen, aber Sie können die Perl- syncMethode verwenden in IO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

Es gibt keine Standard- oder allgemeine Funktion oder keinen Shell-Befehl, um nur eine Partition zu synchronisieren.

Auf neueren Linux-Systemen gibt es den syncfsSystemaufruf (eingeführt in Kernel 2.6.39 und verfügbar seit Glibc 2.14 ). Ich glaube nicht, dass dieser Systemaufruf in coreutils oder util-linux verfügbar ist.

Gilles 'SO - hör auf böse zu sein'
quelle
1
Der letzte Satz über syncfsist der relevanteste Teil.
Poolie
3

Die Montage der Trennwand mit der syncOption kann eine Lösung sein.

llua
quelle
2

Wenn Sie das syncDienstprogramm meinen, das Daten aus dem Speicher auf die Festplatte schreibt, lautet die Antwort nein. Dies liegt an der Tatsache, dass syncnormalerweise während eines Herunterfahrens oder Neustarts Daten sicher auf die Festplatte geschrieben werden sollen. Das eigentliche Ziel des Vorgangs ist der Arbeitsspeicher, nicht die Festplatten, und das Abrufen dieser gepufferten Daten aus dem RAM an einen sicheren Ort. Auf den Festplatten landen die Daten.

Tim Kennedy
quelle
0

Wenn btrfs:

btrfs filesystem sync /path/under/mountpoint
Tom Hale
quelle