'sync'と 'async'マウントオプションの違い


42

エンドユーザーの観点から見るsyncと、asyncマウントオプションの違いは何ですか?これらのオプションのいずれかでマウントされたファイルシステムは、別のオプションでマウントされた場合よりも高速に動作しますか?どれも設定されていない場合、デフォルトのオプションはどれですか?

man mountsyncオプションはフラッシュメモリの寿命を短くするかもしれないが、時代遅れの従来の知恵によってそれがかもしれないと言います。とにかく、これは少し心配です。パーティション/とパーティション/homeが配置されるプライマリハードドライブはSSDドライブであるためです。

Ubuntuインストーラー(14.04)では、パーティションのオプションsyncも指定もされていませんが、オプションで設定されています。これが私の、私はいくつかの追加行を追加しました(コメントを参照)が、インストーラーによって作成された行の何も変更していません:async/async/homedefaults/etc/fstab

# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 /     ext4  errors=remount-ro 0  1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4  defaults          0  2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none  swap  sw                0  0

# here goes part written by me:

# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e /mnt/storage ext4 defaults  0  2
# Windows C: /dev/sda1
UUID=2EF64975F6493DF9   /mnt/win_c    ntfs    auto,umask=0222,ro      0  0
# Windows D: /dev/sdb1
UUID=50C40C08C40BEED2   /mnt/win_d    ntfs    auto,umask=0222,ro      0  0

/dev/sdaがSSDの場合、摩耗を減らすasyncために//homeファイルシステムのオプションを追加する必要がありますか?で定義した追加のパーティションを設定syncまたはasync選択する必要があります/etc/fstabか?SSDおよびHDDドライブの推奨アプローチは何ですか?


1
クロスポストではないですかaskubuntu.com/questions/502691/...
cuonglm

@Gnoucクロスポストの何が問題になっていますか?とにかく、私はあなたが要求したように、Ubuntuから投稿を削除しました。

回答:


49

asyncsyncほとんど使用されないの反対です。 asyncがデフォルトです。明示的に指定する必要はありません。

このオプションsyncは、対応するファイルシステムへのすべての変更がすぐにディスクにフラッシュされることを意味します。それぞれの書き込み操作が待機されています。メカニカルドライブの場合、システムはディスクヘッドを正しい位置に移動する必要があるため、非常に遅くなります。syncユーザランドのプロセスを完全に操作を待つ必要があります。対照的にasync、システムは書き込み操作をバッファリングし、実際の書き込みを最適化します。一方、ユーザーランドのプロセスはブロックされる代わりに実行を続けます。(何かがうまくいかない場合は、close()返し-1errno = EIO。)

SSD:SSDメモリがRAMメモリと比較してどれほど高速かはわかりませんが、確かに高速ではないためsync、機械的なディスクドライブほど悪くはありませんが、パフォーマンスが低下する可能性があります。SSDへの書き込みは多くの場合それを「損なう」ので、生涯の時点では、知恵はまだ有効です。最悪のシナリオは、同じ場所に多くの変更を加えるプロセスです。syncしながら、それらのそれぞれが、SSDに当たるasync(デフォルト)SSDが原因カーネルのバッファリングにそれらのほとんどは表示されません。

結局のところ、気にしないsyncでください、あなたは大丈夫である可能性が最も高いですasync


ローカルアプリケーションが削除され、マウントされたドライブに書き込みを行う場合(外部Windowsボックスを指す)。デフォルトの非同期モードが安全でない可能性はありますか?このシナリオは、マウント上の1つのフォルダーを調べ、サブフォルダーを処理してから削除するポーリングアプリです。
HellishHeat

@HellishHeatこれは、想定しているシナリオの十分な詳細を含む別の質問として質問する必要があります。
カウンター

さまざまなストレージレイヤーの速度は何ですか:ramはナノ秒、flashはマイクロ秒(書き込みは10秒、読み取りは約100)、回転ディスクはミリ秒(5ミリ秒のベストケース、ディスクキューがバックアップされ、アクセスが10〜100ミリ秒の場合)ランダムです)。フラッシュデバイスの単一の場所への書き込みは、コンデンサでバックアップされたSRAMに書き込むことができ、NANDに完全に書き込まれることはありません。したがって、摩耗または速度の影響を判断するのは困難です。
ブライアンBulkowski

この平均値1は、呼び出す必要はありませんんsyncfsyncまたはfdatasyncシンクFSをマウント上のシステムコール?
CMCDragonkai

1
@iniを使用すると、データが失われる危険がありますasync。しかし、これが問題である場合、それsyncは答えではありません-のパフォーマンスのペナルティsyncは単に禁止です。
カウンター

5

注意事項:マウントされているマウント(たとえば、貴重なログ、セキュリティカメラの記録など)があり、突然の停電から保護されていない場合、「非同期」マウントオプションを使用するのは最善のアイデアではないかもしれません。レコードの欠落や不完全な(役に立たない)データが生じる可能性があります。それほどスマートではない例:泥棒が店に入り、すぐにカメラの電源ケーブルを切断することを想像してください。侵入のビデオ録画は記録されましたが、ディスク(またはその一部)が代わりにメモリにバッファリングされている可能性があり、カメラの電源が切れたときに失われるため、ディスクにフラッシュ/同期されなかった可能性があります。


最近のサーバーには、RAIDコントローラーにバッテリーバックアップされたディスクキャッシュがあり、電源が失われてもデータの損失を防ぎます。
トニオック

非同期は何秒間も書き込みませんか?およそ何秒ですか?
イニ

@Iniは、使用しているファイルシステムに依存しているようです。
bd1251252

とにかく、OSはシャットダウン時にすべてがssd / hddに書き込まれることを保証する必要があります。停電の場合、一部のデータが失われる可能性があります。私が言っていることは正しいですか?
イニ

一部のディスクのバッテリーベースのキャッシュは、実際には電力損失を最適化しない理由ではありません1)高価なプロ用サーバーにのみあります。すべてのユーザーがこれを使用できるわけではありません2)データがディスクコントローラーに到達した場合でも、あなたを救うだけです。多くの場合、コントローラーがそのデータを見るずっと前に、それはOSキャッシュにとどまります-そして、それは停電のイベントで失われます。
クレイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.