web-dev-qa-db-ja.com

ecryptfsはハードディスクのパフォーマンスにどのように影響しますか?

Ecryptfsで自宅を直接暗号化しています。 ecryptfsはフラグメンテーションを引き起こしますか?

ファイルの読み込み、フォルダの表示、ログインが次第に遅くなっているように感じます(ただし、最初は目立って遅くはありませんでした)。テキストファイルのみを開いた場合でも、ハードディスクは多くのシークノイズを発生させます。 /home/.ecryptfsには、多くの大きなアーカイブ(おそらく暗号化されたファイルを含む)がありますので、Linuxファイルシステムのオンラインでの最適化がここで何か得られるのではないかと考えています。

パフォーマンスを向上させるにはどのようなオプションが必要ですか?暗号化なしで行う方が良いかどうかを判断する必要がありますか?

11
Freddi

Phoronixは、ホームディレクトリを暗号化する際に、一連のテストとeCryptfsのパフォーマンスに関する記事をいくつか実行しました。

これらの記事から私が奪うことは、ベンチマークによる暗号化(予想どおり)がある程度読み取りおよび書き込みパフォーマンスに影響を与えるということです。小さいCPU(Atomプロセッサ)および高速ハードドライブ(SSD)では、これはおそらくより顕著です。つまり、eCryptfsを使用すると、ホームディスクへのデータの読み取り/書き込み時にパフォーマンスのペナルティを支払うだけです(フルディスク暗号化の場合のように、システムの残りの部分ではありません)。さらに、より高速なプロセッサでは、その暗号化/復号化の実行に費やされる時間は、通常、ボトルネックであるディスクからデータにアクセスするIO待機時間内に収まります。

あなたの特定の問題に関しては、「ハードディスクのシーク」ノイズが多く聞こえる場合、システムがメモリからディスクにデータをやり取りしているように聞こえます。 eCryptfsの使用を選択した場合、Ubuntuはスワップスペースを自動的に暗号化します(暗号化されたデータを保護するために必要です)。ただし、暗号化されたスワップも非常に高価です。

個人的には、システムに多くのRAM(ほとんどのシステムで8GB)をオーバーロードし、スワップを完全に無効にします。

10
Dustin Kirkland

ホームディレクトリでpythonを使用してプログラミングしており、プロジェクトパッケージ用のPython仮想環境があります。

私のプログラムでは、Pythonがモジュールファイルの検索時に多くのstat()システムコールを発行するため、eCryptfsでの起動時間がかなり遅くなります。これらのstat呼び出しの多くは「ファイルが見つかりません」となり、そのような結果はキャッシュされませんが、ecryptfsにペナルティを支払うため、物事は一貫して遅くなります。

更新

最終的に、ecryptfsマウントポイントを〜/ privateに移動して、ホームディレクトリからecryptfsを削除し、ほとんどのファイルを〜/ privateから暗号化されていないホームフォルダーにコピーしました。物事は再び高速になりました。他のCPUの場合、パフォーマンスの低下は少ないかもしれませんが、Atomを搭載したAsus 1215Nがあります。

6
Antti Haapala

ハードコアの測定は行っていないので、次のことを一粒ずつ行いますが、dm-crypt'd LV(/ home/usernameとしてマウント)と比較して、以下のシナリオでecryptfsのパフォーマンスが非常に低いことに気付きました:

  • たくさんのファイルがあるフォルダにデュ。パーティション全体のdm-cryptを使用するのに数秒しかかかりませんが、これは数分かかります-これは間違いなく最悪のケースです

  • muttで多数のアイテムを含むフォルダーを開くには数秒(10000アイテムのフォルダーでは約20)かかりますが、dm-cryptではほとんど瞬時に開きます

  • git操作はdm-cryptと比較して(多くはないが)遅い

  • firefoxなどのアプリケーションの起動には著しく時間がかかりますが、まだ数秒の範囲内です

Dm-cryptに(pam_mountを使用して)移動したばかりで、満足できませんでした!

5
Peter Hoeg

ファイルサイズを増やすtruncate()やftruncate()などの呼び出しは、ファイルに穴を開けるだけの通常のファイルシステムとは異なり、暗号化されたゼロで埋める必要があるため、ecryptfsで遅くなります。

1
Colin Ian King