web-dev-qa-db-ja.com

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

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

man mountは、syncオプションはフラッシュメモリの寿命を縮める可能性があると述べていますが、これは従来の常識を覆している可能性があります。とにかく、これは少し心配です。パーティション//homeが配置されているプラ​​イマリハードドライブはSSDドライブであるためです。

Ubuntuインストーラー(14.04)は、/パーティションにsyncオプションもasyncオプションも指定していませんが、async/homeにオプションdefaultsで設定しています。これが私の/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の場合、摩耗を減らすために、/および/homeファイルシステムにasyncオプションを追加する必要がありますか? /etc/fstabで定義した追加のパーティションにsyncまたはasyncオプションを設定する必要がありますか? SSDおよびHDDドライブの推奨アプローチは何ですか?

44
user77422

asyncは、めったに使用されないsyncの反対です。 asyncがデフォルトです。明示的に指定する必要はありません。

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

SSD:SSDメモリがRAMメモリと比較してどのくらい高速かはわかりませんが、確かに高速ではないため、syncはパフォーマンスを低下させる可能性がありますが、メカニカルディスクドライブほど悪くはありません。SSDへの書き込みはかなりの時間を費やしてしまうので、存続期間中、知恵はまだ有効です。最悪のシナリオは、同じ場所に多くの変更を加えるプロセスです。 ; syncを使用すると、それぞれがSSDにヒットしますが、async(デフォルト)を使用すると、カーネルバッファリングによりSSDはそれらのほとんどを認識しません。

結局のところ、syncを気にしないでください。asyncで大丈夫だと思われます。

53
countermode

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

7