講釈sync キャッシュデータをストレージに同期する

キーフレーズ

sync shutdown コマンド https 記憶装置 Linux シャットダウン システムコール fdatasync ファイルシステム 同期 halt .com fsync html ディスク データ 入門 テープ Croot 永続 systemd 完全 伝説 必要 実行 init マニュアル フラッシュ 読ん GNU 可能性 再起動 serverfault syncfs カーネル ファイル システム unix coreutils questions execution software utoronto runlevel ストレージ http:// デバイス org メモリ arg now 5ch manual hatena reboot 民間 伝承 書い () ation invoc オプション space still linux SunOS SYSVr 現代 翻訳 日本語 ハードディスク テーブドライプ 書き込む 書き込み RHEL 分からん utcc blog Unix 巻き戻し マウント .net test read coreut characteristics TheLegendOfSync TheLegendOfSymc administration writebarriers documentation キャッシュ セクション メタデータ www gnu 複数回

目次ページ

sync 完全入門 - 永続的な記憶装置に同期 目次 はじめに sync とは ( 簡単に ) 伝説のコマンド 目次 諸注意 sync とは shutdown コマンド 伝説のコマンドの伝説 民間伝承 : 複数回の sync コマンド Linux をシャットダウン前に sync ( 8 ) の実行が必要 ? まとめ あとがき おまけ , goog docs で同人誌を作るの巻 4

sync 完全入門 - 永続的な記憶装置に同期 諸注意 こに来てしまったのじゃな・・・ちゃんとまえがき 迷える若造よ・・・ sync を知らずに を読もう。まえがきは重要じゃ。 そうか、読んだか、読んだ上でここを読んでいるという殊勝な心がけじゃ。でも昔話 が続くので、読んでいて飽きてもしらないぞ。 なお、本書で触れる現代の OS は、 RHEL 系の Linux です。今後、要望があれば、他 の OS も取り上げるかもしれません。 あと、一こに書いてあることは自分で確かめてね ! なにもかも信じてはいけない ! 本書を読んでなにがあっても筆者は責任をとらないぞ ! sync とは まえがきでも触れたとおり、 GNU CoreutiIs のコマンドのひとつです 2 。 GNU coreut ⅱ s については、拙書「解説 CoreUtiIs 第 6 版」をお求めください ( 宣 伝 ) 。 この本でもコマンドについて触れていま すが、念の為解説 3 します。翻訳しただけ だけど 4 。読む前に、ファイルシステムと カーネルの知識 (fdatasync, fsync,sync,syncfs) があるとよいです。 それでは、マニュアルを読んでいきま す。原文は英語ですが、それっぽい日本 語に訳してあります。 2 RHEL 系の場合。 So ⅱ s とか debian 系は分からん 3 https://www.gnu.org/software/coreutils/manual/html node/sync-invoc ation. html 4 Goog 厄翻訳、だいぶこなれてきた印象がある 5 ー Core tils 第第

sync 完全入門 - 永続的な記憶装置に同期 6 ux/6/html/storage_administration_guide/ch-writebarriers https://access.redhat.com/documentation/ja-jp/red hat enterprise 」 in 7 6 この辺は訳しにくいので原文を当たるとよい 5 おそらくここでの引数とは、ファイル名のことでしよう バリア (write barrier7 ) によってより大きな保証を提供する可能性があります。 数は、引数が与えられていないときに使用されるグローバル sync ②よりも書き込み 特性 (sync characteristics) がある可能性があります。つまり、 fsync ( 2 ) に渡された引 デバイスノードまたはファイルを渡す際に、引数を使用しない場合とは異なる同期 ルシステムではなく、含まれているファイルシステムを同期させるためです 6 。個々の は、通常このオプションを指定しないことに注意してください。参照されているファイ の入出力を同期させます。例えば /dev/sda といったデバイスノードを渡す場合 syscall の syncfs ②を使って、ファイルを含むファイルシステムを待っているすべて , —filesystem めに必要なメタデータのみを同期します。 fdatasync(2) を使って、ファイルのデータとファイルシステムの整合性を維持するた —d, —data の方法を変更することができます。 少なくとも 1 つのファイルが指定されている場合は、次のオプションを使って同期 イルだけが同期されます 5 。 引数を指定すると、デフォルトでは fsync(2) システムコールを使ってそれらのファ ます。 ます。この sync コマンドは、ストレージにデータを書き込むようにカーネルに指示し 合、データが失われたり、結果としてファイルシステムが壊れたりする可能性があり します。これによりパフォーマンスが改善しますが、コンピュータがクラッシュした場 カーネルは比較的遅いディスクの読み書きを避けるためにメモリにデータを保持 せんが、システムコールである sync 、 syncfs 、 fsync 、 fdatasync を呼び出します。 ( だたしこれに限定されません ) 。カーネルの実装次第だけど。 sync 自体は何もしま は、変更されたスーパープロック、修正された in 。 de 、遅延読み書きが含まれます sync コマンドは、メモリにバッフアされたデータをディスクに書き出します。これに sync は、メモリにバッフアされているデータをディスクに書き込むコマンドです。