Czy istnieje sposób synchronizacji tylko jednej partycji?


Odpowiedzi:


10

możesz ponownie zamontować za pomocą opcji synchronizacji, a następnie ponownie zamontować za pomocą asynchronizacji:

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

Użycie opcji remount nie spowoduje bałaganu w procesach korzystających z zamontowanego systemu plików.


2
Jak myślisz, dlaczego konieczne są 2 powtórki? W co najmniej 2.6.32 jądro do_remount_sb wykonuje system plików sync, który jest tą samą funkcją, która jest wywoływana w wywołaniu systemowym syncfs wprowadzonym w lwn.net/Articles/433384 .
Jurij Nazarow

5

Jest to standardowa funkcja Synchronizacja danych (metadane) i jednego pliku: fsync. Nie ma standardowego ani wspólnego polecenia powłoki, aby uzyskać do niego dostęp, ale możesz użyć syncmetody perla w IO::Handle:

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

Nie ma standardowej lub wspólnej funkcji ani polecenia powłoki do synchronizacji tylko jednej partycji.

W najnowszych systemach Linux istnieje syncfswywołanie systemowe (wprowadzone w jądrze 2.6.39 i ujawnione od wersji 2.14 glibc ). Nie sądzę, aby to wywołanie systemowe było jeszcze widoczne w coreutils lub util-linux.


1
Ostatnie zdanie o syncfsjest najbardziej istotną częścią.
poolie

3

syncRozwiązaniem może być zamontowanie partycji z opcją.


2

Jeśli masz na myśli syncnarzędzie, które opróżnia dane z pamięci na dysk, odpowiedź brzmi: nie. Wynika to z faktu, że synczwykle jest używany podczas procedury zamykania lub ponownego uruchamiania, w której wskazane jest bezpieczne zapisywanie danych na dysku, a prawdziwym celem operacji jest pamięć, a nie dyski, i zbieranie buforowanych danych z pamięci RAM w bezpieczne miejsce. Dyski są dokładnie tam, gdzie kończą się dane.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.