Existe-t-il un moyen de synchroniser une seule partition?


Réponses:


10

vous pouvez remonter avec l'option de synchronisation, puis le remonter avec async:

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

L'utilisation de l'option de remontage ne gâchera pas les processus utilisant le système de fichiers remonté.


2
Pourquoi pensez-vous que 2 remounts sont nécessaires? Dans au moins 2.6.32, le noyau do_remount_sb exécute sync_filesystem qui est la même fonction qui est appelée dans l'appel système syncfs introduit dans lwn.net/Articles/433384 .
Yuriy Nazarov

5

Il y a une fonction standard pour synchroniser les données (et les métadonnées) d'un fichier: fsync. Il n'y a pas de commande shell standard ou commune pour y accéder, mais vous pouvez utiliser la syncméthode de perl dans IO::Handle:

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

Il n'y a pas de fonction standard ou commune ou de commande shell pour synchroniser une seule partition.

Sur les systèmes Linux récents , il y syncfsa l'appel système (introduit dans le noyau 2.6.39, et exposé depuis la glibc 2.14 ). Je ne pense pas que cet appel système soit encore exposé dans coreutils ou util-linux.


1
La dernière phrase sur syncfsest la partie la plus pertinente.
poolie

3

Le montage de la partition avec l' syncoption peut être une solution.


2

Si vous voulez dire l' syncutilitaire qui vide les données en mémoire sur le disque, la réponse est non. Cela est dû au fait qu'il syncest généralement utilisé lors d'une procédure d'arrêt ou de redémarrage, où il est conseillé d'obtenir des données écrites en toute sécurité sur le disque, et la véritable cible de l'opération est la mémoire, pas les disques, et l'extraction de ces données tamponnées de la RAM à un endroit sûr. Les disques sont exactement là où les données finissent.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.