同期する必要があると思いますか?同期しますか?

同期する必要があると思いますか?同期しますか?

sync2000年にCisco Systemsで作業しながらLinuxに初めてアクセスしたときに、ファイルシステムの破損/データ損失を防ぐためにバッファをディスクにフラッシュするために使用されるこのコマンドの利点について学びました。そこの同僚だけでなく、大学の友達もいつもsync一度ではなく「何度か」または「複数回」、つまり5~10回ほど走ると言いました。

私はそれ以来この習慣を続けてきました。しかし、そうすればどのような利点がありますか?他の人がこれについて聞いたことがありますか?結論として、syncあなたが効果を得るために何度も実行しなければならないというあなたの考えについて妥当な理由/実証的証拠を提供できる人はいますか?

答え1

聞きました(申し訳ありません。場所を忘れました)。コマンドをsync3回入力します(例:S Y N C Return、プロンプト待機、繰り返し、繰り返し)。また、ディスクがOSにすべてが正常であることを知らせた後でも、バッファフラッシュを完了するのに数秒かかる特定のシステムがオリジナルであることを読みました。もう一度コマンドを入力すると、ディスクが安定するのに十分な時間が与えられます。長年にわたり目的が忘れられ、アドバイスが短縮されたようです。sync; sync; syncこれは目的の効果が得られないためです(ディスクが「すべて消去されました」と報告したため、2番目と3番目の同期はプロンプトが早すぎてすぐに完了します)。 。

私は複数のタスクが使用されているシステムについて聞いたことがなく、syncどのシステムが存在するのかは非常に疑わしいです。私の考えはこれは都市伝説のようです。一方、一部のシステムでは、同期後に電源が切れる前に数秒待たなければならないことがわかりました。

Google検索でいくつかの独立した並行性分析が行われました。凡例の同期。また、見ることができますLinuxを終了する前にsync(8)を実行する必要がありますか?

答え2

TAPEの全盛期の頃、連続3回の高速同期はTAPEコントローラにテープストリームの接続を解除/プールだけでなく巻き戻すように指示する方法でした。つまり、FD/rw-head を 0 に設定しました。

「sync;sync;sync」は、実際にはTAPEベースのUnixに初めてアクセスした人、つまりその時点で利用可能な最も安価なリポジトリである/ var / spoolにファイルがインストールされているアプリケーションでのみ効果的に使用されました。 ;)

MIPS Risc / OSオペレーターマニュアルにはこれに関するページがあります。

答え3

もちろん、一部の古いUNIXシステムでは、複数の同期がより安全ですが、すべての同期が単一のコマンドラインで「同期;同期;同期」されるわけではありません。 1980年代半ばに、これは次のように改善されました。

システムのシャットダウン時に3回同期する必要があります。それ以上も以下でもない。同期回数は 3、同期回数は 3 です。 3番目の同期を続行しない限り、4回同期したり2回同期したりすることはできません。

その三回がどこから出たのかはよく分からないが、多分面白いかもしれない。ところが路上での言葉が二度も行われた。 「sync; sync」ではなく、シェル内の2つの別々の行として表示されます。

V7 UNIXの時代には、ファイルシステムの回復はそれほど面白くなかった。これは、ファイルシステムの仕組みと、dcheck、ncheck、icheckなどのプログラムの特性を理解し、手動で行う必要があります。 fsckがある場合、必ずしも信頼できるとは限りません。

これは「私たちは目の上を双方向に歩いた」という話のように聞こえます。まあ、再起動やシャットダウンなどの素晴らしいコマンドはありません。システムを再起動する場合は、syncを使用してファイルシステムを同期し、コンソールでCtrl-Pを押して停止できます。

syncコマンドが終了すると、カーネルは予約された同期を持ちますが、すべてのバッファ(最も重要なファイルシステムスーパーブロックを含む)が必ずしもディスクに到達しているわけではありません。したがって、同期を実行してから安全になる前に停止するのは非常に簡単です。

同期を再実行するのは簡単で時間がかかり、すべてを理解したり、「10世紀」などのあいまいな指示を処理することなく直感的な魅力を感じることができます。

V7のマニュアルページには、次のBUGセクションもありますupdate

更新の実行中に同期中にCPUがハングすると、ファイルシステムが破損する可能性があります。これは、部分的にNPR要求が失敗したときにDECハードウェアがゼロを書き込むためです。修正は、sync(1)がシステム時間を一時的に30秒以上増やして更新の実行をトリガーするようにすることです。これはCPUを停止するための30秒の猶予期間を提供します。

(ところでこれがV7マニュアル1巻の最後の内容です)

時間が経つにつれて、システムをシャットダウンして再起動するファイルシステムツールとプログラムが改善され、この問題を処理する必要はありません。システムが神秘的に動作すると、民俗、魔法、システム魔法がそのシステムに入ります。 2回同期すると、ファイルシステムを再組み立てするためにピンセットを取り出す必要がある可能性がはるかに減るため、意識の一部になります。たくさんやってみると何の考えもなくすることになるだろう。そんな中、誰かが気づいて理由を尋ねました。答えはこんな感じです。 「いつもそうしてください。それはもっと安全です」

私はこれが権威あると主張しません、いくつかの詳細については間違っているかもしれません。しかし、私の考えでは、原点にかなり近いです。

関連情報