「一度だけ書くアーカイブ」:ext2対ext4^has_journal対

「一度だけ書くアーカイブ」:ext2対ext4^has_journal対

一般化する

外部ドライブを「一度だけ書き込むことができるアーカイブ」に設定するとします。外付けドライブを再フォーマットし、更新されないいくつかのファイルをコピーしてから、内容を読む必要があるまで別々に保存しようとしています(長い間前も全くないかもしれません)、他のLinuxボックスのアーカイブからのものです。また、アーカイブでできるだけ多くのファイルスペースを確保できるようにしたいです。言い換えれば、ファイルシステムが自分の目的のためにできるだけ少ない空き容量を使用したいと思います。

具体的な質問1:ジャーナリングのないext2またはext4のうち、このユースケースに適したファイルシステムは何ですか?

前に後者をやったことがないから(普通ゴポット)、確認車:

具体的な質問2:これがログレスext4をインストールする「方法」ですかmke2fs -t ext4 -O ^has_journal /dev/whatever

一般的な質問3:このユースケースにはより良いファイルシステムがありますか?それとも全く違うのですか?

詳細

さまざまな外部ドライブに保存されているデッドボックス(したがって更新されていない)の以前のプロジェクトからインポートされた多くのファイルがあります。合計サイズ(ファイル)〜= 250GB。これはDVDに書き込むには大きすぎる(つまり、何か欠けているものがなければ取り込むには多すぎます)、テープドライブもありません。だから私は古いUSB2 HFS外付けドライブをアーカイブに設定しました。私は「本物のLinux」ファイルシステムを好むが、このようなファイルシステムも好む。

  1. アーカイブドライブで最小限のスペースしか占めていません(入れたいものを収納できるほど大きくないからです)。
  2. 将来的に私が使用しているすべてのボックス(おそらくLinux)から読むでしょう。

私はGPartedを使用して次の順序を実行する予定です:[古いパーティションの削除、単一の新しいパーティションの作成、ext2ファイルシステムの作成、ラベルの再指定]。しかし、私は読んだ。ここそれ

recent Linux kernels support a journal-less mode of ext4
which provides benefits not found with ext2

次のテキストを確認してください。man mkfs.ext4

"mke2fs -t ext3 -O ^has_journal /dev/hdXX"
will create a filesystem that does not have a journal

だから私は知りたい

  1. ジャーナリングのないext2またはext4のうち、このユースケースに適したファイルシステムは何ですか?
  2. ext4-minus-journalに移動するとします。これをインストールするためのコマンドラインですかmke2fs -t ext4 -O ^has_journal /dev/whatever
  3. このユースケースのもう一つの優れたファイルシステムはありますか?

ベストアンサー1

私はsquashfsの提案に同意しません。通常、squashfsをrawブロックデバイスに書き込むのではなく、rawブロックデバイスにsquashfsを書き込みます。読みやすいtarアーカイブだと思います。これはまだ基本ファイルシステムが必要であることを意味します。

ext2現在の使用を制限するいくつかの深刻な制限があるため、お勧めしますext4。これはアーカイブのためであり、続行するために圧縮アーカイブを作成します。これは、ほとんど変わらない少数のかなり大きなファイルを持つことを意味します。次のように最適化できます。

  • -I 128単一のinodeのサイズを小さくしてinodeテーブルのサイズを縮小するように指定します。
  • この-iオプションを使用して、inodeテーブルのサイズをさらに小さくすることもできます。この値を大きくすると、少数の inode が生成されるため、inode テーブルが小さくなります。ただし、これはファイルシステムが平均してファイルごとに多くのスペースを無駄にすることを意味します。だからそれは妥協です。
  • 実際に終了ログを使用できます-O ^has_journal。ただし、この方法を使用する場合は、ファイルシステムを読み取り専用でマウントするようにデフォルトオプションを設定することをお勧めします。fstabまたは、ファイルシステムでデフォルトの履歴を使用することもできますtune2fs -E mount_opts=ro(時々これを行うことはできませんmkfs)。
  • もちろん、データをアーカイブファイルに圧縮して、inodeの無駄が深刻な問題にならないようにする必要があります。 squashfs イメージを生成することもできますが、xz 圧縮が良いため、tar.xz ファイルを使用することをお勧めします。
  • または、-mオプションを使用してスケジュールされたブロック数を減らすこともできます。ルートに予約されている割合を設定します(デフォルトは5)。mkfstune2fsただ。 0に設定しないでください。ファイルシステムを効率的に実行するには、少しのスペースが必要です。

おすすめ記事