Ext4ファイルシステムの最適化オプション

Ext4ファイルシステムの最適化オプション

私は次のようなデバイスを持っていますLinux Mint 18.1ノートパソコンとGNU/Linux Debian 9サーバーから。

(Cinnamonデスクトップではすべて64ビットです。)

すべてのドライブデバイスがフォーマットされました。ext4ファイルシステム;ディスクアレイ1使用すると完了mdadm

  1. ラップトップ1SSD(HDDと混同しないでください。)

  2. 3台のドライブを搭載したノートパソコン:消費者HDD 2台ディスクアレイ1そしてSSD 1つ。

  3. 5台のドライブを搭載したサーバー:エンタープライズHDD 4台2台ディスクアレイ1そしてSSD 1つ。

私のシステムはこのSSDにあるので、SSDデフラグは決してしません。

問題はHHDとSSHDについてです。

私が見つけた前のPDFその他の機能説明e4defrag

  1. マウントされていないファイルシステムを最適化しようとしたときに、このエラーメッセージに従ってファイルシステムをマウントする必要があるのはなぜですか?私はこれがなぜであるかを理解したいと思います:

    Filesystem is not mounted
    
  2. 空き容量の最適化を実装したいです。 AFAIK 現在審査中です。これらの利用可能なオプションは利用できますかe4defrag?それともソースからコンパイルする方法はありますか?

    e4defrag -f /deviceOrDirectory
    
  3. また、関連するデータ機能を使用したいと思います。

    e4defrag -r /deviceOrDirectory
    

私は、これらのコンピュータの断片化のために読み取り速度が遅くなると考えるいくつかの関連する理由があります。

  1. サーバーからインポートディスクアレイ1ハードディスク:

    [2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100%  extents: 16 -> 1  [ OK ]
    
  2. ラップトップからインポートディスクアレイ1ハードディスク:

    [29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4:  100%  extents: 31 -> 6  [ OK ]
    

ご覧のとおり、デフラグは31ブロックファイルを1ブロックに分割することもできません。もちろんこれが映画ファイルだと主張することもできるので、あまり問題にはなりません。本当ですが、この場合にのみ該当します。

デフラグを開始するために使用するコマンドは次のとおりです。

  1. サーバーから:

    sudo e4defrag -v /dev/md1
    
  2. ノートブックの場合:

    sudo e4defrag -v /raid1/
    

デバイス名を使用してコマンドを呼び出すか、ディレクトリを使用して呼び出すかは関係ありません。

私に正しい方向を教えてもらえますか?

答え1

e4defrag最適化を実行するにはカーネルのファイルシステムドライバが必要なため、ファイルシステムをマウントする必要がありますが、最適化自体は実行されません。

空き領域の最適化と関連ファイルの最適化については、関連するメーリングリストにパッチが最後に記載されていません。2014年にさかのぼる:

はいe4defrage2fsprogsコードは維持され、改善され続けています。特に、Dmitry Monakhovは広範な「アドバイザーテスト」を追加し、基本的なカーネルコードで多くの競争条件を発見しました。彼は最近カーネルコードのコードリファクタリングを送り、これを大幅に改善し(ext4のサイズを550行のコードに減らしました)。

e4defragしかし、かなり長い間、実際の機能開発は行われていません。どのカーネルAPIがこの機能をサポートできるかについての議論がありましたが、実装はこんにちは最終API提案も出たことがありません。

それで、現在テストする価値があるものがあるかどうか疑われます。

関連情報