1つのパーティションのみを同期する方法はありますか?


回答:


10

同期オプションで再マウントしてから、非同期で再マウントできます。

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

再マウントオプションを使用しても、再マウントされたファイルシステムを使用するプロセスが混乱することはありません。


2
なぜ2回の再マウントが必要だと思いますか?少なくとも2.6.32カーネルでは、do_remount_sbはsync_filesystemを実行します。これは、lwn.net / Articles / 433384で導入されたsyncfsシステムコールで呼び出されるのと同じ関数です。
ユーリーナザロフ

5

1つのファイルのデータ(およびメタデータ)を同期する標準機能がありますfsync。アクセスするための標準または共通のシェルコマンドはありませんが、perlのsyncメソッドを使用できますIO::Handle

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

1つのパーティションのみを同期するための標準または共通の関数またはシェルコマンドはありません。

、最近のLinuxシステムがあり、syncfsシステムコール(カーネル2.6.39で導入され、以来、暴露のglibc 2.14)。このシステムコールはまだcoreutilsやutil-linuxで公開されているとは思いません。


1
についての最後の文syncfsは、最も重要な部分です。
プーリー

3

syncオプションを使用してパーティションをマウントすることが解決策になる場合があります。


2

syncメモリ内のデータをディスクにフラッシュするユーティリティを意味する場合、答えはノーです。これはsync、データをディスクに安全に書き込むことが推奨されるシャットダウンまたは再起動手順で一般的に使用され、操作の実際のターゲットはディスクではなくメモリであり、RAMからそのバッファリングされたデータを取得するためですどこかに安全に。ディスクはデータが最終的に到達する場所です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.